Beispiel #1
0
def import_meanings_from_file_for_user(file_name,
                                       username,
                                       language,
                                       nocomment=False):
    t = CustomUser.translators().get(username=username)
    lang = Language.objects.get(code=language)
    if not t:
        print("user %s not found" % username)
        return

    with open(file_name, newline='') as csvfile:
        m_reader = csv.reader(csvfile, delimiter=',', quotechar='"')
        for row in m_reader:
            if nocomment:
                (wylie, trs) = (row[0].strip(), row[1].strip())
            else:
                (wylie, trs, comment) = (row[0].strip(), row[1].strip(),
                                         row[2].strip())

            if trs:
                term = Term.get_or_createnew(wylie.strip())
                trs_s = trs.strip().split(';')
                for tr in trs_s:
                    m = Meaning.get_or_createnew(
                        term=term,
                        language=lang,
                        translator=t,
                        meaning=tr.strip(
                        )) if nocomment else Meaning.get_or_createnew(
                            term=term,
                            language=lang,
                            translator=t,
                            meaning=tr.strip(),
                            comment=comment.strip())
                    print(str(m))
                    m.save()