Skip to content

Commit 6b5798b

Browse files
author
Paul Santa Clara
committed
pylint
1 parent b054aaf commit 6b5798b

File tree

1 file changed

+20
-10
lines changed

1 file changed

+20
-10
lines changed

singer/metadata.py

Lines changed: 20 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,20 @@
1-
def compile_metadata(catalog):
2-
md_dict = {}
3-
for mdata in catalog.get('metadata'):
4-
breadcrumb = tuple(mdata['breadcrumb'])
5-
if md_dict.get(breadcrumb) is None:
6-
md_dict[breadcrumb] = mdata.get('metadata')
7-
else:
8-
md_dict[breadcrumb].update(mdata.get('metadata'))
9-
10-
return md_dict
1+
def deserialize(raw_metadata):
2+
return {tuple(breadcrumb): metadata for breadcrumb, metadata in raw_metadata}
3+
4+
def serialize(compiled_metadata):
5+
return list(compiled_metadata.items())
6+
7+
def delete(compiled_metadata, breadcrumb, k):
8+
del compiled_metadata[breadcrumb][k]
9+
10+
def write(compiled_metadata, breadcrumb, k, val):
11+
if val is None:
12+
raise Exception()
13+
if breadcrumb in compiled_metadata:
14+
compiled_metadata.get(breadcrumb).update({k: val})
15+
else:
16+
compiled_metadata[breadcrumb] = {k: val}
17+
return compiled_metadata
18+
19+
def get(compiled_metadata, breadcrumb, k):
20+
return compiled_metadata.get(breadcrumb, {}).get(k)

0 commit comments

Comments
 (0)