core/migration/bson2json.py

30 lines
779 B
Python
Raw Normal View History

2021-08-20 09:27:19 +00:00
import bson
import datetime
import json
import importlib
2021-10-08 09:58:19 +00:00
from migration.utils import DateTimeEncoder
2021-08-20 09:27:19 +00:00
def json_tables():
2021-10-08 09:58:19 +00:00
print('creating json files at migration/data/')
2021-08-23 08:44:46 +00:00
data = {
"content_items": [],
"content_item_categories": [],
"tags": [],
"email_subscriptions": [],
"users": [],
"comments": []
}
2021-08-20 09:27:19 +00:00
for table in data.keys():
lc = []
2021-10-08 09:58:19 +00:00
with open('migration/data/'+table+'.bson', 'rb') as f:
2021-08-20 09:27:19 +00:00
bs = f.read()
base = 0
while base < len(bs):
base, d = bson.decode_document(bs, base)
lc.append(d)
data[table] = lc
2021-10-08 09:58:19 +00:00
open('migration/data/'+table+'.json', 'w').write(json.dumps(lc,cls=DateTimeEncoder))
2021-08-23 08:44:46 +00:00
return data
2021-08-20 09:27:19 +00:00