got a bunch of feats into YAML. Start up on getting feats_traits into YAML
parent
1eb2de17e3
commit
5712b7dade
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,195 @@
|
|||
import sqlite3
|
||||
import yaml
|
||||
import pprint
|
||||
|
||||
def main():
|
||||
conn = sqlite3.connect('../../pf2.db')
|
||||
conn.row_factory = sqlite3.Row
|
||||
|
||||
q = """
|
||||
SELECT * FROM feats;
|
||||
"""
|
||||
# so we get a dict out of our query
|
||||
c = conn.cursor()
|
||||
c.execute(q)
|
||||
# data = c.fetchall()
|
||||
data = [dict(row) for row in c.fetchall()]
|
||||
# pprint.pprint(data)
|
||||
|
||||
q = """
|
||||
SELECT * FROM requirements;
|
||||
"""
|
||||
# so we get a dict out of our query
|
||||
c = conn.cursor()
|
||||
c.execute(q)
|
||||
# data = c.fetchall()
|
||||
req_data = [dict(row) for row in c.fetchall()]
|
||||
# pprint.pprint(req_data)
|
||||
|
||||
q = """
|
||||
SELECT * FROM actioncosts;
|
||||
"""
|
||||
# so we get a dict out of our query
|
||||
c = conn.cursor()
|
||||
c.execute(q)
|
||||
# data = c.fetchall()
|
||||
act_data = [dict(row) for row in c.fetchall()]
|
||||
# pprint.pprint(act_data)
|
||||
|
||||
q = """
|
||||
SELECT * FROM frequency;
|
||||
"""
|
||||
# so we get a dict out of our query
|
||||
c = conn.cursor()
|
||||
c.execute(q)
|
||||
# data = c.fetchall()
|
||||
freq_data = [dict(row) for row in c.fetchall()]
|
||||
# pprint.pprint(freq_data)
|
||||
|
||||
q = """
|
||||
SELECT * FROM triggers;
|
||||
"""
|
||||
# so we get a dict out of our query
|
||||
c = conn.cursor()
|
||||
c.execute(q)
|
||||
# data = c.fetchall()
|
||||
trig_data = [dict(row) for row in c.fetchall()]
|
||||
# pprint.pprint(trig_data)
|
||||
|
||||
q = """
|
||||
SELECT featprereqs_id, descr, feat_id FROM featprereqs;
|
||||
"""
|
||||
# so we get a dict out of our query
|
||||
c = conn.cursor()
|
||||
c.execute(q)
|
||||
# data = c.fetchall()
|
||||
prdata = [dict(row) for row in c.fetchall()]
|
||||
# pprint.pprint(prdata)
|
||||
for i in prdata:
|
||||
if i['feat_id'] != None:
|
||||
q = """
|
||||
SELECT short_name from feats WHERE feat_id=?;
|
||||
"""
|
||||
# so we get a dict out of our query
|
||||
c = conn.cursor()
|
||||
c.execute(q, (i['feat_id'],))
|
||||
# data = c.fetchall()
|
||||
subprdata = [dict(row) for row in c.fetchall()]
|
||||
# pprint.pprint(subprdata)
|
||||
i['feat'] = subprdata[0]['short_name']
|
||||
else:
|
||||
i['feat'] = None
|
||||
|
||||
for i in data:
|
||||
# all this mess is getting the sources
|
||||
x = i['sources_pages'].split(',')
|
||||
# if len(x) > 1:
|
||||
# print("name:{}, x:{}".format(i['short_name'], x))
|
||||
s = []
|
||||
for j in x:
|
||||
page = int(j)
|
||||
s.append({'abbr': 'CRB', 'page_start': page, 'page_stop': page })
|
||||
i['source'] = s
|
||||
del i['sources_pages']
|
||||
|
||||
# now get the actions
|
||||
if i['action_id'] == None:
|
||||
i['action'] = None
|
||||
else:
|
||||
# get action name based on id
|
||||
id = i['action_id']
|
||||
for a in act_data:
|
||||
if a['actioncosts_id'] == id:
|
||||
i['action'] = a['name']
|
||||
del i['action_id']
|
||||
|
||||
# now do the triggers
|
||||
if i['triggers_id'] == None:
|
||||
i['trigger'] = None
|
||||
else:
|
||||
# get trigger name based on id
|
||||
id = i['triggers_id']
|
||||
for t in trig_data:
|
||||
if t['triggers_id'] == id:
|
||||
i['trigger'] = t['triggers_descr']
|
||||
del i['triggers_id']
|
||||
|
||||
# now do the requirements
|
||||
if i['requirements_id'] == None:
|
||||
i['requirement'] = None
|
||||
else:
|
||||
# get requirement name based on id
|
||||
id = i['requirements_id']
|
||||
for r in req_data:
|
||||
if r['requirements_id'] == id:
|
||||
i['requirement'] = r['requirements_descr']
|
||||
del i['requirements_id']
|
||||
|
||||
# now do the frequency
|
||||
if i['frequency_id'] == None:
|
||||
i['frequency'] = None
|
||||
else:
|
||||
# get requirement name based on id
|
||||
id = i['frequency_id']
|
||||
# print(id)
|
||||
# print(i['short_name'])
|
||||
for f in freq_data:
|
||||
if f['freq_id'] == id:
|
||||
i['frequency'] = f['freq_descr']
|
||||
del i['frequency_id']
|
||||
|
||||
# populate prereqs:
|
||||
|
||||
### get prereq IDs for a feat
|
||||
stmt = "SELECT featprereqs_id FROM feats_featprereqs WHERE feat_id=?"
|
||||
c = conn.cursor()
|
||||
# print(i['feat_id'])
|
||||
c.execute(stmt, (i['feat_id'],))
|
||||
# data = c.fetchall()
|
||||
fpr_data = [dict(row) for row in c.fetchall()]
|
||||
# if len(fpr_data) > 1:
|
||||
# # print("fuck")
|
||||
# pprint.pprint(fpr_data)
|
||||
print(fpr_data)
|
||||
for f in fpr_data:
|
||||
stmtnext = "SELECT descr, feat_id FROM featprereqs WHERE featprereqs_id=?"
|
||||
c = conn.cursor()
|
||||
# print(i['feat_id'])
|
||||
c.execute(stmtnext, (f['featprereqs_id'],))
|
||||
# data = c.fetchall()
|
||||
fpr_data_next = [dict(row) for row in c.fetchall()]
|
||||
# print(fpr_data_next)
|
||||
prlist = []
|
||||
for ff in fpr_data_next:
|
||||
# print(ff)
|
||||
if ff['feat_id'] == None:
|
||||
prlist.append({'descr': ff['descr'], 'feat': None})
|
||||
else:
|
||||
stmtfinal = "SELECT short_name from feats WHERE feat_id=?"
|
||||
c = conn.cursor()
|
||||
# print(i['feat_id'])
|
||||
c.execute(stmtfinal, (ff['feat_id'],))
|
||||
# data = c.fetchall()
|
||||
fn_data_final = [dict(row) for row in c.fetchall()]
|
||||
print("STUFF")
|
||||
print(fn_data_final)
|
||||
|
||||
prlist.append({'descr': ff['descr'], 'feat': fn_data_final[0]['short_name']})
|
||||
i['prereqs'] = prlist
|
||||
|
||||
|
||||
|
||||
|
||||
# THIS NEEDS TO BE LAST AS PREREQS REFERENCES IT
|
||||
del i['feat_id']
|
||||
i['has_been_manually_proofread'] = False
|
||||
|
||||
|
||||
data = {"feat": data}
|
||||
final = yaml.safe_dump(data, allow_unicode=True, width=10000)
|
||||
with open('tmp-feat.yaml', 'w') as f:
|
||||
f.write(final)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
Loading…
Reference in New Issue