aboutsummaryrefslogtreecommitdiff
path: root/Python/pywarpx/Bucket.py
diff options
context:
space:
mode:
authorGravatar David Grote <grote1@llnl.gov> 2020-05-14 16:00:36 -0700
committerGravatar GitHub <noreply@github.com> 2020-05-14 16:00:36 -0700
commitda0a1f4917ec3cd7e481ce225780980a021180e8 (patch)
treeaf197021330a43edc6945347882c500866f83285 /Python/pywarpx/Bucket.py
parent4a65dd2ae17b69383d505ab3ff6b6c17747e59b7 (diff)
downloadWarpX-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.py14
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: