db: update from upstream 1.08, apply patches
This commit is contained in:
40
db/apply_quest_delta.py
Executable file
40
db/apply_quest_delta.py
Executable file
@@ -0,0 +1,40 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
import os.path
|
||||
import codecs
|
||||
import csv
|
||||
|
||||
import _pathfix
|
||||
|
||||
from mhapi.db import MHDB
|
||||
|
||||
|
||||
def apply_update(db, row):
|
||||
quest = db.get_quest(row["id"])
|
||||
if quest.goal == row["goal"]:
|
||||
print "quest", row["id"], row["name"], "already updated, skipping"
|
||||
return
|
||||
cur = db.cursor()
|
||||
cur.execute("""UPDATE quests SET
|
||||
goal=?
|
||||
WHERE _id=?
|
||||
AND name=?""",
|
||||
(row["goal"], row["id"], row["name"]))
|
||||
if cur.rowcount == 1:
|
||||
print "quest", row["id"], row["name"], "goal updated:", row["goal"]
|
||||
else:
|
||||
print "ERROR", "quest", row["id"], row["name"], "update failed"
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
db = MHDB()
|
||||
delta_file_path = os.path.join(_pathfix.db_path, "delta",
|
||||
"quests.csv")
|
||||
|
||||
with open(delta_file_path) as f:
|
||||
reader = csv.DictReader(f)
|
||||
for row in reader:
|
||||
apply_update(db, row)
|
||||
|
||||
db.commit()
|
||||
db.close()
|
||||
Reference in New Issue
Block a user