Exemple #1
0
def importData(dbase, filename, user):
    """Function called by Gramps to import data on persons in CSV format."""
    dbase.disable_signals()
    try:
        with DbTxn(_("JSON import"), dbase, batch=True) as trans:
            with OpenFileOrStdin(filename, encoding="utf-8") as fp:
                line = fp.readline()
                while line:
                    json = ast.literal_eval(line)
                    obj = from_struct(json)
                    if json["_class"] == "Person":
                        dbase.add_person(obj, trans)
                    elif json["_class"] == "Family":
                        dbase.add_family(obj, trans)
                    elif json["_class"] == "Event":
                        dbase.add_event(obj, trans)
                    elif json["_class"] == "MediaObject":
                        dbase.add_object(obj, trans)
                    elif json["_class"] == "Repository":
                        dbase.add_repository(obj, trans)
                    elif json["_class"] == "Tag":
                        dbase.add_tag(obj, trans)
                    elif json["_class"] == "Source":
                        dbase.add_source(obj, trans)
                    elif json["_class"] == "Citation":
                        dbase.add_citation(obj, trans)
                    elif json["_class"] == "Note":
                        dbase.add_note(obj, trans)
                    elif json["_class"] == "Place":
                        dbase.add_place(obj, trans)
                    else:
                        LOG.warn("ignored: " + json)
                    line = fp.readline()
    except EnvironmentError as err:
        user.notify_error(_("%s could not be opened\n") % filename, str(err))

    dbase.enable_signals()
    dbase.request_rebuild()
Exemple #2
0
def importData(dbase, filename, user):
    """Function called by Gramps to import data on persons in CSV format."""
    dbase.disable_signals()
    try:
        with DbTxn(_("JSON import"), dbase, batch=True) as trans:
            with OpenFileOrStdin(filename, 'b') as fp:
                line = fp.readline()
                while line:
                    json = eval(line)
                    obj = from_struct(json)
                    if json["_class"] == "Person":
                        dbase.add_person(obj, trans)
                    elif json["_class"] == "Family":
                        dbase.add_family(obj, trans)
                    elif json["_class"] == "Event":
                        dbase.add_event(obj, trans)
                    elif json["_class"] == "MediaObject":
                        dbase.add_object(obj, trans)
                    elif json["_class"] == "Repository":
                        dbase.add_repository(obj, trans)
                    elif json["_class"] == "Tag":
                        dbase.add_tag(obj, trans)
                    elif json["_class"] == "Source":
                        dbase.add_source(obj, trans)
                    elif json["_class"] == "Citation":
                        dbase.add_citation(obj, trans)
                    elif json["_class"] == "Note":
                        dbase.add_note(obj, trans)
                    elif json["_class"] == "Place":
                        dbase.add_place(obj, trans)
                    else:
                        LOG.warn("ignored: " + json)
                    line = fp.readline()
    except EnvironmentError as err:
        user.notify_error(_("%s could not be opened\n") % filename, str(err))

    dbase.enable_signals()
    dbase.request_rebuild()
Exemple #3
0
 def test2(self):
     self.assertEqual(obj.serialize(), from_struct(struct).serialize())
Exemple #4
0
 def test2(self):
     self.assertEqual(obj.serialize(), from_struct(struct).serialize())