diff options
author | 2020-05-14 16:00:36 -0700 | |
---|---|---|
committer | 2020-05-14 16:00:36 -0700 | |
commit | da0a1f4917ec3cd7e481ce225780980a021180e8 (patch) | |
tree | af197021330a43edc6945347882c500866f83285 /Python/pywarpx/Bucket.py | |
parent | 4a65dd2ae17b69383d505ab3ff6b6c17747e59b7 (diff) | |
download | WarpX-da0a1f4917ec3cd7e481ce225780980a021180e8.tar.gz WarpX-da0a1f4917ec3cd7e481ce225780980a021180e8.tar.zst WarpX-da0a1f4917ec3cd7e481ce225780980a021180e8.zip |
Implemented new particle diagnostics in picmi (#984)
* Implemented new particle diagnostics in picmi
* Cleaned up picmi adding new particle diagnostics
* In PICMI examples, use name option for diagnostics
* For travis, update ubuntu version to bionic
Diffstat (limited to 'Python/pywarpx/Bucket.py')
-rw-r--r-- | Python/pywarpx/Bucket.py | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/Python/pywarpx/Bucket.py b/Python/pywarpx/Bucket.py index 714516fd3..7817f8f86 100644 --- a/Python/pywarpx/Bucket.py +++ b/Python/pywarpx/Bucket.py @@ -15,13 +15,23 @@ class Bucket(object): def __init__(self, instancename, **defaults): self._localsetattr('instancename', instancename) self._localsetattr('argvattrs', {}) - self.argvattrs.update(defaults) + for name, value in defaults.items(): + self.add_new_attr(name, value) def _localsetattr(self, name, value): object.__setattr__(self, name, value) + def add_new_attr(self, name, value): + """Names starting with "_" are make instance attributes. + Otherwise the attribute is added to the args list. + """ + if name.startswith('_'): + self._localsetattr(name, value) + else: + self.argvattrs[name] = value + def __setattr__(self, name, value): - self.argvattrs[name] = value + self.add_new_attr(name, value) def __getattr__(self, name): try: |