pathfinder-2-sqlite-MIRROR/data/yaml/deprecated/tmp-gear-to-yaml.py

53 lines
1.2 KiB
Python

import sqlite3
import yaml
def main():
conn = sqlite3.connect('../../pf2.db')
conn.row_factory = sqlite3.Row
c = conn.cursor()
c.execute("select * from gear;")
res = [dict(row) for row in c.fetchall()]
for i in res:
if i['hands'] == None or i['hands'] == '':
i['hands'] = 0
reslist = []
for i in res:
if i['descr'] == '':
i['descr'] = None
tmp = {
"name": i['name'],
'level': int(i['level']),
"price_gp": i['price'],
"bulk": i['bulk'],
"descr": i['descr'],
'hands': int(i['hands']),
"source": [
{
'abbr': 'CRB',
'page_start': int(i['sources_pages']),
'page_stop': int(i['sources_pages'])
},
],
"traits": None
}
reslist.append(tmp)
# print(reslist)
tmpd = {'gear': reslist}
# now dump to yaml
final = yaml.safe_dump(tmpd, allow_unicode=True)
with open('tmp-gear.yaml', 'w') as f:
f.write(final)
# NOTE the 4 traits were added by hand manually to the final tmp-gear.yaml and not via this script
if __name__ == '__main__':
main()