dump
This commit is contained in:
parent
bf2fc29b54
commit
4c87307377
1 changed files with 23 additions and 1 deletions
|
@ -229,6 +229,28 @@ def command_shell(*args):
|
||||||
# Use basic python shell
|
# Use basic python shell
|
||||||
code.interact(banner, local=context)
|
code.interact(banner, local=context)
|
||||||
|
|
||||||
|
def command_dump_json(*args):
|
||||||
|
"""
|
||||||
|
Dump items to json
|
||||||
|
"""
|
||||||
|
if not args:
|
||||||
|
print('usage: ./ctl json_dump dump.json')
|
||||||
|
sys.exit(1)
|
||||||
|
import json
|
||||||
|
from ox.django.shortcuts import _to_json
|
||||||
|
import item.models
|
||||||
|
import db
|
||||||
|
with db.session():
|
||||||
|
items = []
|
||||||
|
for i in item.models.Item.query:
|
||||||
|
j = i.json()
|
||||||
|
for f in i.files:
|
||||||
|
j['path'] = f.fullpath()
|
||||||
|
break
|
||||||
|
items.append(j)
|
||||||
|
with open(args[0], 'w') as f:
|
||||||
|
json.dump(items, f, indent=1, default=_to_json, ensure_ascii=False, sort_keys=True)
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
actions = globals()
|
actions = globals()
|
||||||
commands = [c[8:] for c in actions if c.startswith('command_')]
|
commands = [c[8:] for c in actions if c.startswith('command_')]
|
||||||
|
@ -236,7 +258,7 @@ def main():
|
||||||
if command and command in commands:
|
if command and command in commands:
|
||||||
globals()["command_%s"%command](*sys.argv[2:])
|
globals()["command_%s"%command](*sys.argv[2:])
|
||||||
else:
|
else:
|
||||||
print("usage: ctl [action]")
|
print("usage: ./ctl [action]")
|
||||||
indent = max([len(command) for command in commands]) + 4
|
indent = max([len(command) for command in commands]) + 4
|
||||||
for command in sorted(commands):
|
for command in sorted(commands):
|
||||||
space = ' ' * (indent - len(command))
|
space = ' ' * (indent - len(command))
|
||||||
|
|
Loading…
Reference in a new issue