import_odm.py
1.09 KB
# -*- coding: utf-8 -*-
from django.db import connection, transaction
from django.core.management.base import BaseCommand
from common.util import uniopen
class Command(BaseCommand):
args = '<nazwa pliku wejściowego>'
help = 'Imports forms from odm.txt used for import'
def handle(self, input_file, **options):
import_odm(input_file)
def import_odm(filename):
cursor = connection.cursor()
transaction.commit_unless_managed()
transaction.enter_transaction_management()
transaction.managed(True)
for line in uniopen(filename):
forms = line.split(', ')
cursor.execute("INSERT INTO dictionary_inputlexeme (entry) "
"VALUES (%s)", [forms[0]])
cursor.execute(
"select currval('dictionary_inputlexeme_id_seq'::regclass)")
il_id = cursor.fetchone()[0]
for form in forms:
cursor.execute(
"INSERT INTO dictionary_inputform (form, input_lexeme_id) "
"VALUES (%s, %s)", [form, il_id])
transaction.commit()
transaction.leave_transaction_management()