dr.botzo/scripts/port_facts_to_django.py

37 lines
1.0 KiB
Python

from ConfigParser import ConfigParser, NoOptionError
import os
import sys
from facts.models import FactCategory, Fact
import MySQLdb as mdb
config_file = 'dr.botzo.cfg'
config = ConfigParser()
config.read(os.path.expanduser(config_file))
dbhost = config.get('dr.botzo', 'dbhost')
dbuser = config.get('dr.botzo', 'dbuser')
dbpass = config.get('dr.botzo', 'dbpass')
dbname = config.get('dr.botzo', 'dbname')
db = mdb.connect(dbhost, dbuser, dbpass, dbname, charset='utf8', use_unicode=True)
try:
cur = db.cursor()
query = '''
SELECT * FROM facts_facts
'''
cur.execute(query)
for row in cur.fetchall():
category_name = row[1]
category, c = FactCategory.objects.get_or_create(name=category_name)
fact_text = row[2]
nick = row[3]
usermask = row[4]
nickmask = nick + "!" + usermask
fact = Fact.objects.create(category=category, fact=fact_text, nickmask=nickmask)
except NoOptionError as noe:
sys.exit("Aborted due to error in config: {0:s}".format(str(noe)))