scripts: csv.py: Fixed issues with non-default children/notes fields
- Fixed the initial filter using explicit 'children'/'notes' literals Whoops, how did this happen? - Fixed fold using default children/notes result attributes This one is a bit more excusable, self.children is easy to overlook. But not actual string literals, that's silly.
This commit is contained in:
+7
-4
@@ -1488,7 +1488,7 @@ def collect_csv(csv_paths, *,
|
|||||||
# strip and drop empty fields
|
# strip and drop empty fields
|
||||||
r_ = {k: v.strip()
|
r_ = {k: v.strip()
|
||||||
for k, v in r.items()
|
for k, v in r.items()
|
||||||
if k not in {'notes'}
|
if k != notes
|
||||||
and v.strip()}
|
and v.strip()}
|
||||||
# special handling for notes field
|
# special handling for notes field
|
||||||
if notes is not None and notes in r:
|
if notes is not None and notes in r:
|
||||||
@@ -1510,7 +1510,8 @@ def collect_csv(csv_paths, *,
|
|||||||
# everything came from a csv
|
# everything came from a csv
|
||||||
r_ = {k: str(v).strip()
|
r_ = {k: str(v).strip()
|
||||||
for k, v in r.items()
|
for k, v in r.items()
|
||||||
if k not in {'children', 'notes'}
|
if k != notes
|
||||||
|
and k != children
|
||||||
and str(v).strip()}
|
and str(v).strip()}
|
||||||
# special handling for children field
|
# special handling for children field
|
||||||
if (children is not None
|
if (children is not None
|
||||||
@@ -1652,9 +1653,11 @@ def compile(fields_, results,
|
|||||||
object.__getattribute__(self, k),
|
object.__getattribute__(self, k),
|
||||||
object.__getattribute__(other, k))
|
object.__getattribute__(other, k))
|
||||||
for k in fields}
|
for k in fields}
|
||||||
| ({children: self.children + other.children}
|
| ({children: object.__getattribute__(self, children)
|
||||||
|
+ object.__getattribute__(other, children)}
|
||||||
if children is not None else {})
|
if children is not None else {})
|
||||||
| ({notes: self.notes | other.notes}
|
| ({notes: object.__getattribute__(self, notes)
|
||||||
|
| object.__getattribute__(other, notes)}
|
||||||
if notes is not None else {})))
|
if notes is not None else {})))
|
||||||
|
|
||||||
def __getattribute__(self, k):
|
def __getattribute__(self, k):
|
||||||
|
|||||||
Reference in New Issue
Block a user