rootloader 0.4.0__tar.gz → 0.4.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (25) hide show
  1. {rootloader-0.4.0 → rootloader-0.4.2}/PKG-INFO +1 -1
  2. {rootloader-0.4.0 → rootloader-0.4.2}/rootloader/tdirectory.py +14 -9
  3. {rootloader-0.4.0 → rootloader-0.4.2}/rootloader/ttree.py +3 -0
  4. rootloader-0.4.2/rootloader/version.py +1 -0
  5. rootloader-0.4.0/rootloader/version.py +0 -1
  6. {rootloader-0.4.0 → rootloader-0.4.2}/.gitignore +0 -0
  7. {rootloader-0.4.0 → rootloader-0.4.2}/LICENSE +0 -0
  8. {rootloader-0.4.0 → rootloader-0.4.2}/README.md +0 -0
  9. {rootloader-0.4.0 → rootloader-0.4.2}/docs/README.md +0 -0
  10. {rootloader-0.4.0 → rootloader-0.4.2}/docs/rootloader/attrdict.md +0 -0
  11. {rootloader-0.4.0 → rootloader-0.4.2}/docs/rootloader/index.md +0 -0
  12. {rootloader-0.4.0 → rootloader-0.4.2}/docs/rootloader/tdirectory.md +0 -0
  13. {rootloader-0.4.0 → rootloader-0.4.2}/docs/rootloader/tfile.md +0 -0
  14. {rootloader-0.4.0 → rootloader-0.4.2}/docs/rootloader/th1.md +0 -0
  15. {rootloader-0.4.0 → rootloader-0.4.2}/docs/rootloader/th2.md +0 -0
  16. {rootloader-0.4.0 → rootloader-0.4.2}/docs/rootloader/tleaf.md +0 -0
  17. {rootloader-0.4.0 → rootloader-0.4.2}/docs/rootloader/ttree.md +0 -0
  18. {rootloader-0.4.0 → rootloader-0.4.2}/docs/rootloader/version.md +0 -0
  19. {rootloader-0.4.0 → rootloader-0.4.2}/pyproject.toml +0 -0
  20. {rootloader-0.4.0 → rootloader-0.4.2}/rootloader/__init__.py +0 -0
  21. {rootloader-0.4.0 → rootloader-0.4.2}/rootloader/attrdict.py +0 -0
  22. {rootloader-0.4.0 → rootloader-0.4.2}/rootloader/tfile.py +0 -0
  23. {rootloader-0.4.0 → rootloader-0.4.2}/rootloader/th1.py +0 -0
  24. {rootloader-0.4.0 → rootloader-0.4.2}/rootloader/th2.py +0 -0
  25. {rootloader-0.4.0 → rootloader-0.4.2}/rootloader/tleaf.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: rootloader
3
- Version: 0.4.0
3
+ Version: 0.4.2
4
4
  Summary: Read simple root files into memory
5
5
  Project-URL: Homepage, https://github.com/ucn-triumf/rootloader
6
6
  Project-URL: Bug Tracker, https://github.com/ucn-triumf/rootloader/issues
@@ -39,16 +39,17 @@ class tdirectory(attrdict):
39
39
 
40
40
  # keep key if not yet in dict
41
41
  if name not in keys.keys():
42
- keys[name] = key
42
+ keys[name] = (name, key.GetCycle())
43
43
  else:
44
44
 
45
45
  # keep key with largest cycle number
46
- if key.GetCycle() > keys[name].GetCycle():
47
- keys[name] = key
46
+ if key.GetCycle() > keys[name][1]:
47
+ keys[name] = (name, key.GetCycle())
48
48
 
49
49
  # read trees and histograms from data file
50
- for name, key in tqdm(keys.items(), desc=f'Loading {directory.GetName()}', leave=False):
51
- obj = directory.Get(name)
50
+ for name, cycle in tqdm(keys.values(), desc=f'Loading {directory.GetName()}',
51
+ leave=False, total=len(keys)):
52
+ obj = directory.Get(f'{name};{cycle}')
52
53
  classname = obj.ClassName()
53
54
 
54
55
  # TTree
@@ -84,6 +85,9 @@ class tdirectory(attrdict):
84
85
  if klist:
85
86
  klist.sort()
86
87
 
88
+ # drop hidden variables
89
+ klist = [k for k in klist if k[0] != '_']
90
+
87
91
  # get number of columns based on terminal size
88
92
  maxsize = max((len(k) for k in klist)) + 2
89
93
  terminal_width = os.get_terminal_size().columns - 4 # indent by 4 spaces below
@@ -128,7 +132,8 @@ class tdirectory(attrdict):
128
132
  def to_dataframe(self):
129
133
  """Convert all objects possible (th1, th2, and ttree) into pandas dataframes"""
130
134
  for k in self.keys():
131
- try:
132
- self[k] = self[k].to_dataframe()
133
- except AttributeError:
134
- pass
135
+ if type(self[k]) is not pd.DataFrame:
136
+ try:
137
+ self[k] = self[k].to_dataframe()
138
+ except AttributeError:
139
+ pass
@@ -67,6 +67,9 @@ class ttree(attrdict):
67
67
  def __dir__(self):
68
68
  return sorted(self.keys())
69
69
 
70
+ def __len__(self):
71
+ return self.entries
72
+
70
73
  def __repr__(self):
71
74
  klist = list(self.keys())
72
75
  if klist:
@@ -0,0 +1 @@
1
+ __version__ = '0.4.2'
@@ -1 +0,0 @@
1
- __version__ = '0.4.0'
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes