Skip to content
Snippets Groups Projects
upgrade_appservice_db.py 925 B
Newer Older
  • Learn to ignore specific revisions
  • Kegan Dougal's avatar
    Kegan Dougal committed
    import argparse
    import json
    import sqlite3
    
    
    def main(dbname):
        con = sqlite3.connect(dbname)
        cur = con.cursor()
        cur.execute("SELECT id, regex FROM application_services_regex")
        for row in cur.fetchall():
            try:
                print "checking %s..." % row[0]
                json.loads(row[1])
                print "Already in new format"
            except ValueError:
                # row isn't in json, make it so.
                string_regex = row[1]
                new_regex = json.dumps({
                    "regex": string_regex,
                    "exclusive": True
                })
                cur.execute(
                    "UPDATE application_services_regex SET regex=? WHERE id=?",
                    (new_regex, row[0])
                )
        cur.close()
        con.commit()
    
    
    if __name__ == "__main__":
        parser = argparse.ArgumentParser()
    
        parser.add_argument("database")
        args = parser.parse_args()
    
        main(args.database)