Nearly complete, but untested SQL export
svn: r12913
This commit is contained in:
@@ -37,28 +37,30 @@ from gen.plug import PluginManager, ExportPlugin
|
|||||||
import DateHandler
|
import DateHandler
|
||||||
from gui.utils import ProgressMeter
|
from gui.utils import ProgressMeter
|
||||||
import ExportOptions
|
import ExportOptions
|
||||||
|
from Utils import create_id
|
||||||
|
|
||||||
def makeDB(db):
|
def makeDB(db):
|
||||||
db.query("""drop table notes;""")
|
db.query("""drop table note;""")
|
||||||
db.query("""drop table people;""")
|
db.query("""drop table person;""")
|
||||||
db.query("""drop table events;""")
|
db.query("""drop table event;""")
|
||||||
db.query("""drop table family;""")
|
db.query("""drop table family;""")
|
||||||
db.query("""drop table repository;""")
|
db.query("""drop table repository;""")
|
||||||
db.query("""drop table dates;""")
|
db.query("""drop table date;""")
|
||||||
db.query("""drop table places;""")
|
db.query("""drop table place;""")
|
||||||
db.query("""drop table sources;""")
|
db.query("""drop table source;""")
|
||||||
db.query("""drop table media;""")
|
db.query("""drop table media;""")
|
||||||
db.query("""drop table names;""")
|
db.query("""drop table name;""")
|
||||||
db.query("""drop table link;""")
|
db.query("""drop table link;""")
|
||||||
db.query("""drop table markup;""")
|
db.query("""drop table markup;""")
|
||||||
db.query("""drop table event_ref;""")
|
db.query("""drop table event_ref;""")
|
||||||
db.query("""drop table source_ref;""")
|
db.query("""drop table source_ref;""")
|
||||||
|
db.query("""drop table child_ref;""")
|
||||||
db.query("""drop table lds;""")
|
db.query("""drop table lds;""")
|
||||||
db.query("""drop table media_ref;""")
|
db.query("""drop table media_ref;""")
|
||||||
db.query("""drop table address;""")
|
db.query("""drop table address;""")
|
||||||
db.query("""drop table attribute;""")
|
db.query("""drop table attribute;""")
|
||||||
|
|
||||||
db.query("""CREATE TABLE notes (
|
db.query("""CREATE TABLE note (
|
||||||
handle CHARACTER(25),
|
handle CHARACTER(25),
|
||||||
gid CHARACTER(25),
|
gid CHARACTER(25),
|
||||||
text TEXT,
|
text TEXT,
|
||||||
@@ -70,7 +72,7 @@ def makeDB(db):
|
|||||||
marker1 TEXT,
|
marker1 TEXT,
|
||||||
private BOOLEAN);""")
|
private BOOLEAN);""")
|
||||||
|
|
||||||
db.query("""CREATE TABLE names (
|
db.query("""CREATE TABLE name (
|
||||||
private BOOLEAN,
|
private BOOLEAN,
|
||||||
first_name TEXT,
|
first_name TEXT,
|
||||||
surname TEXT,
|
surname TEXT,
|
||||||
@@ -85,7 +87,7 @@ def makeDB(db):
|
|||||||
display_as TEXT,
|
display_as TEXT,
|
||||||
call TEXT);""")
|
call TEXT);""")
|
||||||
|
|
||||||
db.query("""CREATE TABLE dates (
|
db.query("""CREATE TABLE date (
|
||||||
type CHARACTER(10),
|
type CHARACTER(10),
|
||||||
calendar INTEGER,
|
calendar INTEGER,
|
||||||
modifier INTEGER,
|
modifier INTEGER,
|
||||||
@@ -102,7 +104,7 @@ def makeDB(db):
|
|||||||
sortval INTEGER,
|
sortval INTEGER,
|
||||||
newyear INTEGER);""")
|
newyear INTEGER);""")
|
||||||
|
|
||||||
db.query("""CREATE TABLE people (
|
db.query("""CREATE TABLE person (
|
||||||
handle CHARACTER(25),
|
handle CHARACTER(25),
|
||||||
gid CHARACTER(25),
|
gid CHARACTER(25),
|
||||||
gender CHAR(1),
|
gender CHAR(1),
|
||||||
@@ -125,7 +127,7 @@ def makeDB(db):
|
|||||||
marker1 TEXT,
|
marker1 TEXT,
|
||||||
private BOOLEAN);""")
|
private BOOLEAN);""")
|
||||||
|
|
||||||
db.query("""CREATE TABLE places (
|
db.query("""CREATE TABLE place (
|
||||||
handle CHARACTER(25),
|
handle CHARACTER(25),
|
||||||
gid CHARACTER(25),
|
gid CHARACTER(25),
|
||||||
title TEXT,
|
title TEXT,
|
||||||
@@ -136,7 +138,7 @@ def makeDB(db):
|
|||||||
marker1 TEXT,
|
marker1 TEXT,
|
||||||
private BOOLEAN);""")
|
private BOOLEAN);""")
|
||||||
|
|
||||||
db.query("""CREATE TABLE events (
|
db.query("""CREATE TABLE event (
|
||||||
handle CHARACTER(25),
|
handle CHARACTER(25),
|
||||||
gid CHARACTER(25),
|
gid CHARACTER(25),
|
||||||
the_type0 TEXT,
|
the_type0 TEXT,
|
||||||
@@ -147,7 +149,7 @@ def makeDB(db):
|
|||||||
marker1 TEXT,
|
marker1 TEXT,
|
||||||
private BOOLEAN);""")
|
private BOOLEAN);""")
|
||||||
|
|
||||||
db.query("""CREATE TABLE sources (
|
db.query("""CREATE TABLE source (
|
||||||
handle CHARACTER(25),
|
handle CHARACTER(25),
|
||||||
gid CHARACTER(25),
|
gid CHARACTER(25),
|
||||||
title TEXT,
|
title TEXT,
|
||||||
@@ -195,20 +197,39 @@ def makeDB(db):
|
|||||||
start_stop_list TEXT);""")
|
start_stop_list TEXT);""")
|
||||||
|
|
||||||
db.query("""CREATE TABLE event_ref (
|
db.query("""CREATE TABLE event_ref (
|
||||||
handle CHARACTER(25),
|
from_type CHARACTER(25),
|
||||||
|
from_handle CHARACTER(25),
|
||||||
ref CHARACTER(25),
|
ref CHARACTER(25),
|
||||||
role0 INTEGER,
|
role0 INTEGER,
|
||||||
role1 TEXT,
|
role1 TEXT,
|
||||||
private BOOLEAN);""")
|
private BOOLEAN);""")
|
||||||
|
|
||||||
|
db.query("""CREATE TABLE person_ref (
|
||||||
|
from_type CHARACTER(25),
|
||||||
|
from_handle CHARACTER(25),
|
||||||
|
handle CHARACTER(25),
|
||||||
|
desc TEXT,
|
||||||
|
private BOOLEAN);""")
|
||||||
|
|
||||||
db.query("""CREATE TABLE source_ref (
|
db.query("""CREATE TABLE source_ref (
|
||||||
|
type CHARACTER(25),
|
||||||
handle CHARACTER(25),
|
handle CHARACTER(25),
|
||||||
ref CHARACTER(25),
|
ref CHARACTER(25),
|
||||||
confidence INTEGER,
|
confidence INTEGER,
|
||||||
page CHARACTER(25),
|
page CHARACTER(25),
|
||||||
private BOOLEAN);""")
|
private BOOLEAN);""")
|
||||||
|
|
||||||
|
db.query("""CREATE TABLE child_ref (
|
||||||
|
from_type CHARACTER(25),
|
||||||
|
from_handle CHARACTER(25),
|
||||||
|
ref CHARACTER(25),
|
||||||
|
frel INTEGER,
|
||||||
|
mrel INTEGER,
|
||||||
|
private BOOLEAN);""")
|
||||||
|
|
||||||
db.query("""CREATE TABLE lds (
|
db.query("""CREATE TABLE lds (
|
||||||
|
from_type CHARACTER(25),
|
||||||
|
from_handle CHARACTER(25),
|
||||||
handle CHARACTER(25),
|
handle CHARACTER(25),
|
||||||
type CHARACTER(10),
|
type CHARACTER(10),
|
||||||
place TEXT,
|
place TEXT,
|
||||||
@@ -224,6 +245,8 @@ def makeDB(db):
|
|||||||
private BOOLEAN);""")
|
private BOOLEAN);""")
|
||||||
|
|
||||||
db.query("""CREATE TABLE address (
|
db.query("""CREATE TABLE address (
|
||||||
|
from_type CHARACTER(25),
|
||||||
|
from_handle CHARACTER(25),
|
||||||
handle CHARACTER(25),
|
handle CHARACTER(25),
|
||||||
street TEXT,
|
street TEXT,
|
||||||
city TEXT,
|
city TEXT,
|
||||||
@@ -232,6 +255,7 @@ def makeDB(db):
|
|||||||
country TEXT,
|
country TEXT,
|
||||||
postal TEXT,
|
postal TEXT,
|
||||||
phone TEXT,
|
phone TEXT,
|
||||||
|
parish TEXT,
|
||||||
private BOOLEAN);""")
|
private BOOLEAN);""")
|
||||||
|
|
||||||
db.query("""CREATE TABLE attribute (
|
db.query("""CREATE TABLE attribute (
|
||||||
@@ -243,6 +267,13 @@ def makeDB(db):
|
|||||||
value TEXT,
|
value TEXT,
|
||||||
private BOOLEAN);""")
|
private BOOLEAN);""")
|
||||||
|
|
||||||
|
db.query("""CREATE TABLE url (
|
||||||
|
path TEXT,
|
||||||
|
desc TXT,
|
||||||
|
type CHARACTER(1),
|
||||||
|
private BOOLEAN);
|
||||||
|
""")
|
||||||
|
|
||||||
class Database(object):
|
class Database(object):
|
||||||
"""
|
"""
|
||||||
The db connection.
|
The db connection.
|
||||||
@@ -277,21 +308,51 @@ class Database(object):
|
|||||||
def export_url_list(db, from_type, handle, urls):
|
def export_url_list(db, from_type, handle, urls):
|
||||||
for url in urls:
|
for url in urls:
|
||||||
# (False, u'http://www.gramps-project.org/', u'loleach', (0, u'kaabgo'))
|
# (False, u'http://www.gramps-project.org/', u'loleach', (0, u'kaabgo'))
|
||||||
print "FIX:", url
|
private, path, desc, type = url
|
||||||
|
db.query("""insert INTO url (
|
||||||
|
path,
|
||||||
|
desc,
|
||||||
|
type,
|
||||||
|
private) VALUES (?, ?, ?, ?);
|
||||||
|
""",
|
||||||
|
path,
|
||||||
|
desc,
|
||||||
|
type[0],
|
||||||
|
private)
|
||||||
|
|
||||||
def export_person_ref_list(db, from_type, handle, person_ref_list):
|
def export_person_ref_list(db, from_type, from_handle, person_ref_list):
|
||||||
for person_ref in person_ref_list:
|
for person_ref in person_ref_list:
|
||||||
# (False, [], ['b2c04e217fd4c3a6b35', 'b2c04e35b564b1b96b6'], 'b2c04e3741f13654287', u'chiduer')
|
(private,
|
||||||
print "FIX:", person_ref
|
source_list,
|
||||||
|
note_list,
|
||||||
|
handle,
|
||||||
|
desc) = person_ref
|
||||||
|
db.query("""INSERT INTO person_ref (
|
||||||
|
from_type,
|
||||||
|
from_handle,
|
||||||
|
handle
|
||||||
|
desc,
|
||||||
|
private) VALUES (?, ?, ?, ?, ?);""",
|
||||||
|
from_type,
|
||||||
|
from_handle,
|
||||||
|
handle,
|
||||||
|
desc,
|
||||||
|
private
|
||||||
|
)
|
||||||
|
export_list(db, "person_ref", handle, "note", note_list)
|
||||||
|
export_source_list(db, "person_ref", handle, source_list)
|
||||||
|
|
||||||
def export_event_ref(db, handle, ref, role, private):
|
|
||||||
|
def export_event_ref(db, from_type, from_handle, ref, role, private):
|
||||||
db.query("""insert INTO event_ref (
|
db.query("""insert INTO event_ref (
|
||||||
handle,
|
from_type,
|
||||||
|
from_handle,
|
||||||
ref,
|
ref,
|
||||||
role0,
|
role0,
|
||||||
role1,
|
role1,
|
||||||
private) VALUES (?,?,?,?,?);""",
|
private) VALUES (?, ?, ?,?,?,?);""",
|
||||||
handle,
|
from_type,
|
||||||
|
from_handle,
|
||||||
ref,
|
ref,
|
||||||
role[0],
|
role[0],
|
||||||
role[1],
|
role[1],
|
||||||
@@ -308,10 +369,10 @@ def export_markup(db, handle, markup_code0, markup_code1, value,
|
|||||||
handle, markup_code0, markup_code1, value,
|
handle, markup_code0, markup_code1, value,
|
||||||
start_stop_list)
|
start_stop_list)
|
||||||
|
|
||||||
def export_lds(db, handle, type, place, famc, temple, status, private):
|
def export_lds(db, from_type, from_handle, handle, type, place, famc, temple, status, private):
|
||||||
db.query("""INSERT into lds (handle, type, place, famc, temple, status, private)
|
db.query("""INSERT into lds (from_type, from_handle, handle, type, place, famc, temple, status, private)
|
||||||
VALUES (?,?,?,?,?,?,?);""",
|
VALUES (?,?,?,?,?,?,?,?,?);""",
|
||||||
handle, type, place, famc, temple, status, private)
|
from_type, from_handle, handle, type, place, famc, temple, status, private)
|
||||||
|
|
||||||
def export_media_ref(db, handle, ref, role, private):
|
def export_media_ref(db, handle, ref, role, private):
|
||||||
db.query("""INSERT into media_ref (
|
db.query("""INSERT into media_ref (
|
||||||
@@ -321,14 +382,16 @@ def export_media_ref(db, handle, ref, role, private):
|
|||||||
private) VALUES (?,?,?,?);""",
|
private) VALUES (?,?,?,?);""",
|
||||||
handle, ref, str(role), private) # FIXME: role with two parts
|
handle, ref, str(role), private) # FIXME: role with two parts
|
||||||
|
|
||||||
def export_source_ref(db, handle, ref, private, confidence, page):
|
def export_source_ref(db, from_type, handle, ref, private, confidence, page):
|
||||||
db.query("""INSERT into source_ref (
|
db.query("""INSERT into source_ref (
|
||||||
|
type,
|
||||||
handle,
|
handle,
|
||||||
ref,
|
ref,
|
||||||
confidence,
|
confidence,
|
||||||
page,
|
page,
|
||||||
private
|
private
|
||||||
) VALUES (?,?,?,?,?);""",
|
) VALUES (?, ?,?,?,?,?);""",
|
||||||
|
from_type,
|
||||||
handle,
|
handle,
|
||||||
ref,
|
ref,
|
||||||
confidence,
|
confidence,
|
||||||
@@ -337,7 +400,7 @@ def export_source_ref(db, handle, ref, private, confidence, page):
|
|||||||
|
|
||||||
def export_source(db, handle, gid, title, author, pubinfo, abbrev, change,
|
def export_source(db, handle, gid, title, author, pubinfo, abbrev, change,
|
||||||
marker0, marker1, private):
|
marker0, marker1, private):
|
||||||
db.query("""INSERT into sources (
|
db.query("""INSERT into source (
|
||||||
handle,
|
handle,
|
||||||
gid,
|
gid,
|
||||||
title,
|
title,
|
||||||
@@ -362,7 +425,7 @@ def export_source(db, handle, gid, title, author, pubinfo, abbrev, change,
|
|||||||
|
|
||||||
def export_note(db, handle, gid, text, format, note_type0,
|
def export_note(db, handle, gid, text, format, note_type0,
|
||||||
note_type1, change, marker0, marker1, private):
|
note_type1, change, marker0, marker1, private):
|
||||||
db.query("""INSERT into notes (handle,
|
db.query("""INSERT into note (handle,
|
||||||
gid,
|
gid,
|
||||||
text,
|
text,
|
||||||
format,
|
format,
|
||||||
@@ -383,7 +446,7 @@ def export_name(db, handle, data):
|
|||||||
name_type, prefix, patronymic,
|
name_type, prefix, patronymic,
|
||||||
group_as, sort_as, display_as, call) = data
|
group_as, sort_as, display_as, call) = data
|
||||||
|
|
||||||
db.query("""INSERT into names (
|
db.query("""INSERT into name (
|
||||||
private,
|
private,
|
||||||
first_name,
|
first_name,
|
||||||
surname,
|
surname,
|
||||||
@@ -404,13 +467,8 @@ def export_name(db, handle, data):
|
|||||||
sort_as, display_as, call)
|
sort_as, display_as, call)
|
||||||
|
|
||||||
export_date(db, "name", handle, date)
|
export_date(db, "name", handle, date)
|
||||||
export_list(db, "names", handle, "notes", note_list)
|
export_list(db, "name", handle, "note", note_list)
|
||||||
# Event Sources
|
export_source_list(db, "name", handle, source_list)
|
||||||
for source in source_list:
|
|
||||||
(date, private, note_list, confidence, ref, page) = source
|
|
||||||
export_source_ref(db, handle, ref, private, confidence, page)
|
|
||||||
export_date(db, "source_ref", ref, date)
|
|
||||||
export_list(db, "source_ref", ref, "note", note_list)
|
|
||||||
|
|
||||||
def export_date(db, date_type, handle, data):
|
def export_date(db, date_type, handle, data):
|
||||||
if data:
|
if data:
|
||||||
@@ -422,7 +480,7 @@ def export_date(db, date_type, handle, data):
|
|||||||
day1, month1, year1, slash1, day2, month2, year2, slash2 = dateval
|
day1, month1, year1, slash1, day2, month2, year2, slash2 = dateval
|
||||||
else:
|
else:
|
||||||
raise ("ERROR:", dateval)
|
raise ("ERROR:", dateval)
|
||||||
db.query("""INSERT INTO dates (
|
db.query("""INSERT INTO date (
|
||||||
type,
|
type,
|
||||||
calendar,
|
calendar,
|
||||||
modifier,
|
modifier,
|
||||||
@@ -455,26 +513,42 @@ def export_attribute(db, from_type, from_handle, attr_handle, the_type, value, p
|
|||||||
private) VALUES (?,?,?,?,?,?,?);""",
|
private) VALUES (?,?,?,?,?,?,?);""",
|
||||||
attr_handle, from_type, from_handle, the_type[0], the_type[1], value, private)
|
attr_handle, from_type, from_handle, the_type[0], the_type[1], value, private)
|
||||||
|
|
||||||
|
def export_source_list(db, from_type, handle, source_list):
|
||||||
|
# Event Sources
|
||||||
|
for source in source_list:
|
||||||
|
(date, private, note_list, confidence, ref, page) = source
|
||||||
|
export_source_ref(db, from_type, handle, ref, private, confidence, page)
|
||||||
|
export_date(db, "source", ref, date)
|
||||||
|
export_list(db, "source", ref, "note", note_list)
|
||||||
|
|
||||||
|
def export_media_list(db, from_type, from_handle, media_list):
|
||||||
|
# Media list
|
||||||
|
for media in media_list:
|
||||||
|
(private, source_list, note_list,attribute_list,ref,role) = media
|
||||||
|
export_media_ref(db, from_handle, ref, role, private)
|
||||||
|
export_list(db, "media", ref, "note", note_list)
|
||||||
|
export_attribute_list(db, "media", ref, attribute_list)
|
||||||
|
|
||||||
def export_attribute_list(db, from_type, from_handle, attribute_list):
|
def export_attribute_list(db, from_type, from_handle, attribute_list):
|
||||||
for attribute in attribute_list:
|
for attribute in attribute_list:
|
||||||
(private, source_list, note_list, the_type, value) = attribute
|
(private, source_list, note_list, the_type, value) = attribute
|
||||||
attr_handle = "ATTRHANDLE" # FIXME
|
attr_handle = create_id()
|
||||||
export_attribute(db, from_type, from_handle, attr_handle, the_type, value, private)
|
export_attribute(db, from_type, from_handle, attr_handle, the_type, value, private)
|
||||||
export_list(db, "attribute", attr_handle, "note", note_list)
|
export_list(db, "attribute", attr_handle, "note", note_list)
|
||||||
# Event Sources
|
export_source_list(db, "atribute", attr_handle, source_list)
|
||||||
for source in source_list:
|
|
||||||
(date, private, note_list, confidence, ref, page) = source
|
|
||||||
export_source_ref(db, attr_handle, ref, private, confidence, page)
|
|
||||||
export_date(db, "source_ref", ref, date)
|
|
||||||
export_list(db, "source_ref", ref, "note", note_list)
|
|
||||||
|
|
||||||
|
|
||||||
def export_list(db, from_type, from_handle, to_type, handle_list):
|
def export_list(db, from_type, from_handle, to_type, handle_list):
|
||||||
for to_handle in handle_list:
|
for to_handle in handle_list:
|
||||||
if type(to_handle) == type(""):
|
if type(to_handle) in [str, unicode]:
|
||||||
export_link(db, from_type, from_handle, to_type, to_handle)
|
export_link(db, from_type, from_handle, to_type, to_handle)
|
||||||
else:
|
else:# family -> child_ref
|
||||||
print "FIX:", from_type, from_handle, "->", to_type, to_handle
|
# (False, [], [], u'b305e96e39652d8f08c', (1, u''), (1, u''))
|
||||||
|
(private, source_list, note_list, ref, frel, mrel) = to_handle
|
||||||
|
db.query("""INSERT INTO child_ref (from_type, from_handle, ref, frel, mrel, private)
|
||||||
|
VALUES (?, ?, ?, ?, ?, ?);""",
|
||||||
|
from_type, from_handle, ref, frel[0], mrel[0], private)
|
||||||
|
export_source_list(db, "child_ref", ref, source_list)
|
||||||
|
export_list(db, "child_ref", ref, "note", note_list)
|
||||||
|
|
||||||
def export_link(db, from_type, from_handle, to_type, to_handle):
|
def export_link(db, from_type, from_handle, to_type, to_handle):
|
||||||
db.query("""insert into link (
|
db.query("""insert into link (
|
||||||
@@ -484,8 +558,11 @@ def export_link(db, from_type, from_handle, to_type, to_handle):
|
|||||||
to_handle) values (?, ?, ?, ?)""",
|
to_handle) values (?, ?, ?, ?)""",
|
||||||
from_type, from_handle, to_type, to_handle)
|
from_type, from_handle, to_type, to_handle)
|
||||||
|
|
||||||
def export_address(db, handle, street, city, county, state, country, postal, phone, private):
|
def export_address(db, from_type, from_handle, handle, street, city, county,
|
||||||
|
state, country, postal, phone, private, parish=None):
|
||||||
db.query("""INSERT INTO address (
|
db.query("""INSERT INTO address (
|
||||||
|
from_type,
|
||||||
|
from_handle,
|
||||||
handle,
|
handle,
|
||||||
street,
|
street,
|
||||||
city,
|
city,
|
||||||
@@ -494,8 +571,9 @@ def export_address(db, handle, street, city, county, state, country, postal, pho
|
|||||||
country,
|
country,
|
||||||
postal,
|
postal,
|
||||||
phone,
|
phone,
|
||||||
private) VALUES (?,?,?,?,?,?,?,?,?);""",
|
parish,
|
||||||
handle, street, city, county, state, country, postal, phone, private)
|
private) VALUES (?, ?, ?,?,?,?,?,?,?,?,?,?);""",
|
||||||
|
from_type, from_handle, handle, street, city, county, state, country, postal, phone, parish, private)
|
||||||
|
|
||||||
|
|
||||||
def exportData(database, filename, option_box=None, callback=None):
|
def exportData(database, filename, option_box=None, callback=None):
|
||||||
@@ -509,7 +587,9 @@ def exportData(database, filename, option_box=None, callback=None):
|
|||||||
len(database.repository_map) +
|
len(database.repository_map) +
|
||||||
len(database.place_map) +
|
len(database.place_map) +
|
||||||
len(database.source_map) +
|
len(database.source_map) +
|
||||||
len(database.media_map))
|
len(database.media_map) +
|
||||||
|
len(database.place_map) +
|
||||||
|
len(database.source_map))
|
||||||
count = 0
|
count = 0
|
||||||
|
|
||||||
db = Database(filename)
|
db = Database(filename)
|
||||||
@@ -541,8 +621,7 @@ def exportData(database, filename, option_box=None, callback=None):
|
|||||||
source_list, note_list, media_list, attribute_list,
|
source_list, note_list, media_list, attribute_list,
|
||||||
change, marker, private) = event
|
change, marker, private) = event
|
||||||
export_date(db, "event", event_handle, date)
|
export_date(db, "event", event_handle, date)
|
||||||
|
db.query("""INSERT INTO event (
|
||||||
db.query("""INSERT INTO events (
|
|
||||||
handle,
|
handle,
|
||||||
gid,
|
gid,
|
||||||
the_type0,
|
the_type0,
|
||||||
@@ -566,20 +645,8 @@ def exportData(database, filename, option_box=None, callback=None):
|
|||||||
export_link(db, "event", handle, "place", place)
|
export_link(db, "event", handle, "place", place)
|
||||||
export_list(db, "event", handle, "note", note_list)
|
export_list(db, "event", handle, "note", note_list)
|
||||||
export_attribute_list(db, "event", handle, attribute_list)
|
export_attribute_list(db, "event", handle, attribute_list)
|
||||||
|
export_media_list(db, "event", handle, media_list)
|
||||||
# Event Media list
|
export_source_list(db, "event", handle, source_list)
|
||||||
for media in media_list:
|
|
||||||
(private, source_list, note_list,attribute_list,ref,role) = media
|
|
||||||
export_media_ref(db, handle, ref, role, private)
|
|
||||||
export_list(db, "media", ref, "note", note_list)
|
|
||||||
export_attribute_list(db, "media", ref, attribute_list)
|
|
||||||
|
|
||||||
# Event Sources
|
|
||||||
for source in source_list:
|
|
||||||
(date, private, note_list, confidence, ref, page) = source
|
|
||||||
export_source_ref(db, handle, ref, private, confidence, page)
|
|
||||||
export_date(db, "source_ref", ref, date)
|
|
||||||
export_list(db, "source_ref", ref, "note", note_list)
|
|
||||||
|
|
||||||
count += 1
|
count += 1
|
||||||
callback(100 * count/total)
|
callback(100 * count/total)
|
||||||
@@ -612,7 +679,7 @@ def exportData(database, filename, option_box=None, callback=None):
|
|||||||
person_ref_list, # 20
|
person_ref_list, # 20
|
||||||
) = person
|
) = person
|
||||||
|
|
||||||
db.query("""INSERT INTO people (
|
db.query("""INSERT INTO person (
|
||||||
handle,
|
handle,
|
||||||
gid,
|
gid,
|
||||||
gender,
|
gender,
|
||||||
@@ -632,28 +699,20 @@ def exportData(database, filename, option_box=None, callback=None):
|
|||||||
marker[1],
|
marker[1],
|
||||||
private)
|
private)
|
||||||
|
|
||||||
export_list(db, "people", handle, "note", pnote_list)
|
|
||||||
export_attribute_list(db, "people", handle, attribute_list)
|
|
||||||
|
|
||||||
# Event Reference information
|
# Event Reference information
|
||||||
for event_ref in event_ref_list:
|
for event_ref in event_ref_list:
|
||||||
(private, note_list, attribute_list, ref, role) = event_ref
|
(private, note_list, attribute_list, ref, role) = event_ref
|
||||||
export_event_ref(db, handle, ref, role, private)
|
export_event_ref(db, "person", handle, ref, role, private)
|
||||||
|
|
||||||
export_list(db, "event_ref", ref, "note", note_list)
|
|
||||||
export_attribute_list(db, "event_ref", ref, attribute_list)
|
|
||||||
|
|
||||||
export_list(db, "people", handle, "family", family_list) # handles
|
|
||||||
export_list(db, "people", handle, "parent_family", parent_family_list) # handles
|
|
||||||
export_list(db, "people", handle, "note", pnote_list) # handles
|
|
||||||
export_url_list(db, "people", handle, urls)
|
|
||||||
export_person_ref_list(db, "people", handle, person_ref_list)
|
|
||||||
|
|
||||||
for media in media_list:
|
|
||||||
(private, source_list, note_list,attribute_list,ref,rect) = media
|
|
||||||
export_media_ref(db, handle, ref, role, private)
|
|
||||||
export_list(db, "event_ref", ref, "note", note_list)
|
export_list(db, "event_ref", ref, "note", note_list)
|
||||||
export_attribute_list(db, "event_ref", ref, attribute_list)
|
export_attribute_list(db, "event_ref", ref, attribute_list)
|
||||||
|
export_list(db, "person", handle, "family", family_list)
|
||||||
|
export_list(db, "person", handle, "parent_family", parent_family_list)
|
||||||
|
export_media_list(db, "person", handle, media_list)
|
||||||
|
export_list(db, "person", handle, "note", pnote_list)
|
||||||
|
export_attribute_list(db, "person", handle, attribute_list)
|
||||||
|
export_url_list(db, "person", handle, urls)
|
||||||
|
export_person_ref_list(db, "person", handle, person_ref_list)
|
||||||
|
export_source_list(db, "person", handle, psource_list)
|
||||||
|
|
||||||
# -------------------------------------
|
# -------------------------------------
|
||||||
# Address
|
# Address
|
||||||
@@ -661,16 +720,11 @@ def exportData(database, filename, option_box=None, callback=None):
|
|||||||
for address in address_list:
|
for address in address_list:
|
||||||
(private, asource_list, anote_list, date, location) = address
|
(private, asource_list, anote_list, date, location) = address
|
||||||
(street, city, county, state, country, postal, phone) = location
|
(street, city, county, state, country, postal, phone) = location
|
||||||
addr_handle = "ADDRHANDLE" # FIXME
|
addr_handle = create_id()
|
||||||
export_address(db, addr_handle, street, city, county, state, country, postal, phone, private)
|
export_address(db, "person", handle, addr_handle, street, city, county, state, country, postal, phone, private)
|
||||||
export_date(db, "address", addr_handle, date)
|
export_date(db, "address", addr_handle, date)
|
||||||
export_list(db, "source_ref", addr_handle, "note", anote_list)
|
export_list(db, "address", addr_handle, "note", anote_list)
|
||||||
# Address Sources
|
export_source_list(db, "address", addr_handle, source_list)
|
||||||
for source in asource_list:
|
|
||||||
(date, private, note_list, confidence, ref, page) = source
|
|
||||||
export_source_ref(db, addr_handle, ref, private, confidence, page)
|
|
||||||
export_date(db, "source_ref", ref, date)
|
|
||||||
export_list(db, "source_ref", ref, "note", note_list)
|
|
||||||
|
|
||||||
# -------------------------------------
|
# -------------------------------------
|
||||||
# LDS ord
|
# LDS ord
|
||||||
@@ -678,24 +732,11 @@ def exportData(database, filename, option_box=None, callback=None):
|
|||||||
for ldsord in lds_ord_list:
|
for ldsord in lds_ord_list:
|
||||||
(lsource_list, lnote_list, date, type, place,
|
(lsource_list, lnote_list, date, type, place,
|
||||||
famc, temple, status, lprivate) = ldsord
|
famc, temple, status, lprivate) = ldsord
|
||||||
lds_handle = "LDSHANDLE" # FIXME: use db-generated handle?
|
lds_handle = create_id()
|
||||||
export_lds(db, lds_handle, type, place, famc, temple, status, lprivate)
|
export_lds(db, "person", handle, lds_handle, type, place, famc, temple, status, lprivate)
|
||||||
export_date(db, "lds", lds_handle, date)
|
export_date(db, "lds", lds_handle, date)
|
||||||
export_list(db, "lds", lds_handle, "note", lnote_list)
|
export_list(db, "lds", lds_handle, "note", lnote_list)
|
||||||
for source in lsource_list:
|
export_source_list(db, "lds", lds_handle, lsource_list)
|
||||||
(date, private, note_list, confidence, ref, page) = source
|
|
||||||
export_source_ref(db, lds_handle, ref, private, confidence, page)
|
|
||||||
export_date(db, "source_ref", ref, date)
|
|
||||||
export_list(db, "source_ref", ref, "note", note_list)
|
|
||||||
|
|
||||||
# -------------------------------------
|
|
||||||
# Source
|
|
||||||
# -------------------------------------
|
|
||||||
for source in psource_list:
|
|
||||||
(date, private, note_list, confidence, ref, page) = source
|
|
||||||
export_source_ref(db, handle, ref, private, confidence, page)
|
|
||||||
export_date(db, "source_ref", ref, date)
|
|
||||||
export_list(db, "source_ref", ref, "note", note_list)
|
|
||||||
|
|
||||||
# -------------------------------------
|
# -------------------------------------
|
||||||
# Names
|
# Names
|
||||||
@@ -729,16 +770,17 @@ def exportData(database, filename, option_box=None, callback=None):
|
|||||||
handle, gid, father_handle, mother_handle,
|
handle, gid, father_handle, mother_handle,
|
||||||
the_type[0], the_type[1], change, marker[0], marker[1],
|
the_type[0], the_type[1], change, marker[0], marker[1],
|
||||||
private)
|
private)
|
||||||
#TODO: lists
|
|
||||||
|
|
||||||
|
export_list(db, "family", handle, "child_ref", child_ref_list)
|
||||||
export_list(db, "family", handle, "note", pnote_list)
|
export_list(db, "family", handle, "note", pnote_list)
|
||||||
export_attribute_list(db, "family", handle, attribute_list)
|
export_attribute_list(db, "family", handle, attribute_list)
|
||||||
|
export_source_list(db, "family", handle, source_list)
|
||||||
|
export_media_list(db, "family", handle, media_list)
|
||||||
|
|
||||||
# Event Reference information
|
# Event Reference information
|
||||||
for event_ref in event_ref_list:
|
for event_ref in event_ref_list:
|
||||||
(private, note_list, attribute_list, ref, role) = event_ref
|
(private, note_list, attribute_list, ref, role) = event_ref
|
||||||
export_event_ref(db, handle, ref, role, private)
|
export_event_ref(db, "family", handle, ref, role, private)
|
||||||
|
|
||||||
export_list(db, "event_ref", ref, "note", note_list)
|
export_list(db, "event_ref", ref, "note", note_list)
|
||||||
export_attribute_list(db, "event_ref", ref, attribute_list)
|
export_attribute_list(db, "event_ref", ref, attribute_list)
|
||||||
|
|
||||||
@@ -748,30 +790,11 @@ def exportData(database, filename, option_box=None, callback=None):
|
|||||||
for ldsord in lds_seal_list:
|
for ldsord in lds_seal_list:
|
||||||
(lsource_list, lnote_list, date, type, place,
|
(lsource_list, lnote_list, date, type, place,
|
||||||
famc, temple, status, lprivate) = ldsord
|
famc, temple, status, lprivate) = ldsord
|
||||||
lds_handle = "LDSHANDLE" # FIXME: use db-generated handle?
|
lds_handle = create_id()
|
||||||
export_lds(db, lds_handle, type, place, famc, temple, status, lprivate)
|
export_lds(db, "family", handle, lds_handle, type, place, famc, temple, status, lprivate)
|
||||||
export_date(db, "lds", lds_handle, date)
|
export_date(db, "lds", lds_handle, date)
|
||||||
export_list(db, "lds", lds_handle, "note", lnote_list)
|
export_list(db, "lds", lds_handle, "note", lnote_list)
|
||||||
for source in lsource_list:
|
export_source_list(db, "lds", lds_handle, lsource_list)
|
||||||
(date, private, note_list, confidence, ref, page) = source
|
|
||||||
export_source_ref(db, lds_handle, ref, private, confidence, page)
|
|
||||||
export_date(db, "source_ref", ref, date)
|
|
||||||
export_list(db, "source_ref", ref, "note", note_list)
|
|
||||||
|
|
||||||
# -------------------------------------
|
|
||||||
# Source
|
|
||||||
# -------------------------------------
|
|
||||||
for source in source_list:
|
|
||||||
(date, private, note_list, confidence, ref, page) = source
|
|
||||||
export_source_ref(db, handle, ref, private, confidence, page)
|
|
||||||
export_date(db, "source_ref", ref, date)
|
|
||||||
export_list(db, "source_ref", ref, "note", note_list)
|
|
||||||
|
|
||||||
for media in media_list:
|
|
||||||
(private, source_list, note_list,attribute_list,ref,rect) = media
|
|
||||||
export_media_ref(db, handle, ref, role, private)
|
|
||||||
export_list(db, "event_ref", ref, "note", note_list)
|
|
||||||
export_attribute_list(db, "event_ref", ref, attribute_list)
|
|
||||||
|
|
||||||
count += 1
|
count += 1
|
||||||
callback(100 * count/total)
|
callback(100 * count/total)
|
||||||
@@ -796,20 +819,18 @@ def exportData(database, filename, option_box=None, callback=None):
|
|||||||
private) VALUES (?,?,?,?,?,?,?,?,?);""",
|
private) VALUES (?,?,?,?,?,?,?,?,?);""",
|
||||||
handle, gid, the_type[0], the_type[1],
|
handle, gid, the_type[0], the_type[1],
|
||||||
name, change, marker[0], marker[1], private)
|
name, change, marker[0], marker[1], private)
|
||||||
|
|
||||||
|
export_list(db, "lds", lds_handle, "note", lnote_list)
|
||||||
|
|
||||||
for address in address_list:
|
for address in address_list:
|
||||||
(private, asource_list, anote_list, date, location) = address
|
(private, asource_list, anote_list, date, location) = address
|
||||||
(street, city, county, state, country, postal, phone) = location
|
(street, city, county, state, country, postal, phone) = location
|
||||||
addr_handle = "ADDRHANDLE" # FIXME
|
addr_handle = create_id()
|
||||||
export_address(db, addr_handle, street, city, county, state, country, postal, phone, private)
|
export_address(db, "repository", handle, addr_handle, street, city, county, state,
|
||||||
|
country, postal, phone, private)
|
||||||
export_date(db, "address", addr_handle, date)
|
export_date(db, "address", addr_handle, date)
|
||||||
export_list(db, "address", addr_handle, "note", anote_list)
|
export_list(db, "address", addr_handle, "note", anote_list)
|
||||||
# Source
|
export_source_list(db, "address", addr_handle, asource_list)
|
||||||
for source in asource_list:
|
|
||||||
(date, private, note_list, confidence, ref, page) = source
|
|
||||||
export_source_ref(db, addr_handle, ref, private, confidence, page)
|
|
||||||
export_date(db, "source_ref", ref, date)
|
|
||||||
export_list(db, "source_ref", ref, "note", note_list)
|
|
||||||
|
|
||||||
count += 1
|
count += 1
|
||||||
callback(100 * count/total)
|
callback(100 * count/total)
|
||||||
@@ -822,12 +843,12 @@ def exportData(database, filename, option_box=None, callback=None):
|
|||||||
(handle, gid, title, long, lat,
|
(handle, gid, title, long, lat,
|
||||||
main_loc, alt_location_list,
|
main_loc, alt_location_list,
|
||||||
urls,
|
urls,
|
||||||
medias,
|
media_list,
|
||||||
sources,
|
source_list,
|
||||||
notes,
|
note_list,
|
||||||
change, marker, private) = repository
|
change, marker, private) = repository
|
||||||
|
|
||||||
db.query("""INSERT INTO places (
|
db.query("""INSERT INTO place (
|
||||||
handle,
|
handle,
|
||||||
gid,
|
gid,
|
||||||
title,
|
title,
|
||||||
@@ -840,7 +861,16 @@ def exportData(database, filename, option_box=None, callback=None):
|
|||||||
handle, gid, title, long, lat,
|
handle, gid, title, long, lat,
|
||||||
change, marker[0], marker[1], private)
|
change, marker[0], marker[1], private)
|
||||||
|
|
||||||
# TODO: alt_location_list, urls, medias, sources, notes
|
export_url_list(db, "place", handle, urls)
|
||||||
|
export_media_list(db, "place", handle, media_list)
|
||||||
|
export_source_list(db, "place", handle, source_list)
|
||||||
|
export_list(db, "place", handle, "note", note_list)
|
||||||
|
|
||||||
|
for location in alt_location_list:
|
||||||
|
((street, city, county, state, country, postal, phone), parish) = location
|
||||||
|
addr_handle = create_id()
|
||||||
|
export_address(db, "place", handle, addr_handle, street, city, county, state,
|
||||||
|
country, postal, phone, private, parish)
|
||||||
# main_loc
|
# main_loc
|
||||||
count += 1
|
count += 1
|
||||||
callback(100 * count/total)
|
callback(100 * count/total)
|
||||||
@@ -852,18 +882,18 @@ def exportData(database, filename, option_box=None, callback=None):
|
|||||||
source = database.source_map[source_handle]
|
source = database.source_map[source_handle]
|
||||||
(handle, gid, title,
|
(handle, gid, title,
|
||||||
author, pubinfo,
|
author, pubinfo,
|
||||||
notes,
|
note_list,
|
||||||
media_list,
|
media_list,
|
||||||
abbrev,
|
abbrev,
|
||||||
change, datamap,
|
change, datamap,
|
||||||
reporef_list,
|
reporef_list,
|
||||||
marker, private) = source
|
marker, private) = source
|
||||||
|
|
||||||
export_source(db, handle, gid, title, author, pubinfo, abbrev, change,
|
export_source(db, handle, gid, title, author, pubinfo, abbrev, change,
|
||||||
marker[0], marker[1], private)
|
marker[0], marker[1], private)
|
||||||
export_list(db, "source", handle, "note", note_list)
|
export_list(db, "source", handle, "note", note_list)
|
||||||
|
export_media_list(db, "source", handle, media_list)
|
||||||
# TODO: notes, media_list
|
# FIXME: reporef_list, datamap
|
||||||
# reporef_list, data_map
|
|
||||||
|
|
||||||
count += 1
|
count += 1
|
||||||
callback(100 * count/total)
|
callback(100 * count/total)
|
||||||
@@ -874,7 +904,7 @@ def exportData(database, filename, option_box=None, callback=None):
|
|||||||
for media_handle in database.media_map.keys():
|
for media_handle in database.media_map.keys():
|
||||||
media = database.media_map[media_handle]
|
media = database.media_map[media_handle]
|
||||||
(handle, gid, path, mime, desc,
|
(handle, gid, path, mime, desc,
|
||||||
attrib_list,
|
attribute_list,
|
||||||
source_list,
|
source_list,
|
||||||
note_list,
|
note_list,
|
||||||
change,
|
change,
|
||||||
@@ -897,6 +927,8 @@ def exportData(database, filename, option_box=None, callback=None):
|
|||||||
|
|
||||||
export_date(db, "media", handle, date)
|
export_date(db, "media", handle, date)
|
||||||
export_list(db, "media", handle, "note", note_list)
|
export_list(db, "media", handle, "note", note_list)
|
||||||
|
export_source_list(db, "media", handle, source_list)
|
||||||
|
export_attribute_list(db, "media", handle, attribute_list)
|
||||||
count += 1
|
count += 1
|
||||||
callback(100 * count/total)
|
callback(100 * count/total)
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user