#!/usr/bin/env python # -*- coding: utf-8 -*- import django django.setup() from os import environ from local_conf import LLL1 import importlib settings = importlib.import_module(LLL1+'_oahpa.settings') sdm = importlib.import_module(LLL1+'_oahpa.drill.models') import os, sys print " * Correcting paths" cur_path = os.getcwd() parent_path = '/' + '/'.join([a for a in cur_path.split('/') if a][0:-1]) + '/' sys.path.insert(0, parent_path) settings.DEBUG = True environ['DJANGO_SETTINGS_MODULE'] = LLL1+'_oahpa.settings' from optparse import OptionParser, make_option from ling import Paradigm from words_install import Words from extra_install import Extra #from feedback_install import Feedback_install #from questions_install import Questions import codecs #sys.stdout = codecs.getwriter('utf8')(sys.stdout) from kitchen.text.converters import getwriter UTF8Writer = getwriter('utf8') sys.stdout = UTF8Writer(sys.stdout) # TODO: option for oa="yes" only, for sjd # ota lemma jos on name="oahpa" # jos on lemma, niin ota käännös jos on oa="yes" OPTION_LIST = ( make_option("-a", "--append-words", dest="append", action="store_true", default=False, help="Add wordforms to words without deleting existing wordforms"), make_option("-b", "--db", dest="add_db", action="store_true", default=False, help="Used for adding tag infoformation to database"), make_option("-c", "--comments", dest="commentfile", help="XML-file for comments"), make_option("-d", "--delete", dest="delete", action="store_true", default=False, help="delete words that do not appear in the lexicon file of certain pos"), make_option("-e", "--feedbackfile", dest="feedbackfile", help="XML-file for feedback"), make_option("-f", "--file", dest="infile", help="lexicon file name"), make_option("-g", "--grammarfile", dest="grammarfile", help="XML-file for grammar defaults for questions"), make_option("-i", "--links", dest="linkfile", help="Text file for grammarlinks"), make_option("-s", "--sem", dest="semtypefile", help="XML-file semantic subclasses"), make_option("-t", "--tagfile", dest="tagfile", help="List of tags and tagsets"), make_option("-m", "--messagefile", dest="messagefile", help="XML-file for feedback messages"), make_option("-q", "--questionfile", dest="questionfile", help="XML-file that contains questions"), make_option("-w", "--wid", dest="wordid", help="delete word using id or lemma"), make_option("-p", "--pos", dest="pos", help="pos of the deleted word"), make_option("-r", "--paradigmfile", dest="paradigmfile", help="Generate paradigms")) from django.core.management.base import BaseCommand, CommandError class Command(BaseCommand): can_import_settings = True #option_list = BaseCommand.option_list + OPTION_LIST help = 'Help text goes here' def handle(self, **options): main(opts=option_list) def main(opts): if opts: parser = OptionParser(option_list=opts) else: parser = OptionParser(option_list=OPTION_LIST) (options, args) = parser.parse_args() linginfo = Paradigm() words = Words() extra = Extra() #feedback = Feedback_install() #questions = Questions() if options.tagfile: linginfo.handle_tags(options.tagfile, options.add_db) if options.paradigmfile: linginfo.read_paradigms(options.paradigmfile, options.tagfile, options.add_db) if options.wordid: words.delete_word(options.wordid,options.pos) sys.exit() #if options.questionfile and options.grammarfile: # questions.read_questions(options.questionfile,options.grammarfile) # sys.exit() if options.semtypefile: extra.read_semtypes(options.semtypefile) sys.exit() #if options.messagefile: # feedback.read_messages(options.messagefile) # sys.exit() #if options.feedbackfile and options.infile: # feedback.read_feedback(options.feedbackfile,options.infile) # sys.exit() if options.linkfile: extra.read_address(options.linkfile) sys.exit() if options.infile: words.install_lexicon(infile=options.infile,linginfo=linginfo,delete=options.delete,paradigmfile=options.paradigmfile) sys.exit() if __name__ == "__main__": main(opts=False)