0003796: Make export available when no GUI available. Patch from jmodule (Jakim Friant).

svn: r15294
This commit is contained in:
Brian Matherly
2010-05-01 04:12:42 +00:00
parent 356f23ac98
commit df32be43de
137 changed files with 29439 additions and 9737 deletions
autogen.shconfigure.in
src
ExportAssistant.pyMakefile.am
Merge
PluginUtils
ReportBase
Simple
cli
gen
gui
plugins

@ -5,6 +5,7 @@
# Copyright (C) 2008 Brian G. Matherly
# Copyright (C) 2008 Gary Burton
# Copyright (C) 2008 Robert Cheramy <robert@cheramy.net>
# Copyright (C) 2010 Jakim Friant
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@ -69,7 +70,7 @@ import constfunc
# writeData
#
#-------------------------------------------------------------------------
def writeData(database, filename, option_box=None, callback=None):
def writeData(database, filename, msg_callback, option_box=None, callback=None):
# Rename file, if it exists already, with <filename>.bak
# as it it for normal XML export.
@ -105,7 +106,7 @@ def writeData(database, filename, option_box=None, callback=None):
if option_box.unlinked:
database = gen.proxy.ReferencedProxyDb(database)
writer = PackageWriter(database, filename, callback)
writer = PackageWriter(database, filename, msg_callback, callback)
return writer.export()
#-------------------------------------------------------------------------
@ -115,9 +116,10 @@ def writeData(database, filename, option_box=None, callback=None):
#-------------------------------------------------------------------------
class PackageWriter(object):
def __init__(self, database, filename, callback=None):
def __init__(self, database, filename, msg_callback, callback=None):
self.db = database
self.callback = callback
self.msg_callback = msg_callback
self.filename = filename
def export(self):
@ -228,7 +230,7 @@ class PackageWriter(object):
# Write XML now
g = StringIO()
gfile = XmlWriter(self.db, self.callback, 2)
gfile = XmlWriter(self.db, msg_callback, self.callback, 2)
gfile.write_handle(g)
tarinfo = tarfile.TarInfo('data.gramps')
tarinfo.size = len(g.getvalue())