mirror of
https://github.com/balkian/gists.git
synced 2024-11-22 01:32:29 +00:00
7cf1c6d5f8
git-subtree-dir: repos/5048738 git-subtree-mainline:d5942d4fae
git-subtree-split:f83e06e161
29 lines
1.0 KiB
Python
29 lines
1.0 KiB
Python
def recursive_add(src, store, dpth=0, key = ''):
|
|
""" Recursively adds nested elements."""
|
|
tabs = lambda n: ' ' * n * 4 # or 2 or 8 or...
|
|
brace = lambda s, n: '%s%s%s' % ('['*n, s, ']'*n)
|
|
|
|
if isinstance(src, dict):
|
|
for key, value in src.iteritems():
|
|
thisorg=Org(key,store=store)
|
|
thisorg.reload_repos()
|
|
thisorg.reload_members()
|
|
print "Adding org: %s"%thisorg
|
|
store.add_org(thisorg)
|
|
print tabs(dpth) + brace(key, dpth)
|
|
recursive_add(value, store, dpth + 1, key)
|
|
elif isinstance(src, list):
|
|
for litem in src:
|
|
recursive_add(litem, store, dpth + 2)
|
|
else:
|
|
print "SRC is not dict nor list: '%s'" % src
|
|
if key:
|
|
print tabs(dpth) + '%s = %s' % (key, src)
|
|
else:
|
|
print tabs(dpth) + '- %s' % src
|
|
thisorg=Org(src,store=store)
|
|
thisorg.reload_repos()
|
|
thisorg.reload_members()
|
|
print "Adding org: %s"%thisorg
|
|
store.add_org(thisorg)
|