* doc/gramps-manual/C/usage.xml: Update.
* doc/gramps-manual/C/gramps-manual.xml: Chunk to depth 3. * doc/gramps-manual/C/figures/gedcom-export.png: Update. * doc/gramps-manual/C/figures/export-druid.png: Add figure. * src/Exporter.py: Change labels, support CD export (lame). * src/WriteGedcom.py: Correct label. * src/WriteXML.py: Return status on success. * src/plugins/WriteCD.py: Support for wizard (lame). * src/plugins/WritePkg.py: Correct label. * src/ArgHandler.py: Re-enable CD export. svn: r4059
This commit is contained in:
parent
c722d6bc86
commit
94abe8583c
11
ChangeLog
11
ChangeLog
@ -16,6 +16,17 @@
|
||||
* src/plugins/ImportGeneWeb.py: Comment out debugging messages.
|
||||
* src/plugins/WriteGeneWeb.py: Support for command-line export.
|
||||
|
||||
* doc/gramps-manual/C/usage.xml: Update.
|
||||
* doc/gramps-manual/C/gramps-manual.xml: Chunk to depth 3.
|
||||
* doc/gramps-manual/C/figures/gedcom-export.png: Update.
|
||||
* doc/gramps-manual/C/figures/export-druid.png: Add figure.
|
||||
* src/Exporter.py: Change labels, support CD export (lame).
|
||||
* src/WriteGedcom.py: Correct label.
|
||||
* src/WriteXML.py: Return status on success.
|
||||
* src/plugins/WriteCD.py: Support for wizard (lame).
|
||||
* src/plugins/WritePkg.py: Correct label.
|
||||
* src/ArgHandler.py: Re-enable CD export.
|
||||
|
||||
2005-02-18 Don Allingham <dallingham@users.sourceforge.net>
|
||||
* src/EditPerson.py: more readonly patches
|
||||
* src/EventEdit.py: more readonly patches
|
||||
|
BIN
doc/gramps-manual/C/figures/export-druid.png
Normal file
BIN
doc/gramps-manual/C/figures/export-druid.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 34 KiB |
Binary file not shown.
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 17 KiB |
@ -1,5 +1,5 @@
|
||||
<?xml version="1.0"?>
|
||||
|
||||
<?yelp:chunk-depth 3?>
|
||||
<!--
|
||||
User Manual for Gramps - a GTK+/GNOME based genealogy program
|
||||
|
||||
|
@ -276,38 +276,43 @@
|
||||
<para>Exporting allows you to share any portion of your &app; database
|
||||
with other researchers as well as to make your database completely
|
||||
portable to another computer. Currently, &app;
|
||||
can export data to four different formats: CD, GEDCOM, &app; package,
|
||||
and Web Family Tree. All of these are available as items of
|
||||
<menuchoice><guimenu>File</guimenu>
|
||||
<guisubmenu>Export</guisubmenu></menuchoice> submenu.</para>
|
||||
can export data to the following formats: &app; database (grdb), &app; XML,
|
||||
GEDCOM, &app; package, Web Family Tree, and GeneWeb.</para>
|
||||
|
||||
<note id="export-note"><title>Export is saving a copy</title>
|
||||
<para>Exporting will create another file with the copy of your data.
|
||||
The database currently opened in your &app; window is NOT
|
||||
the file saved by your export. Future editing of the currently
|
||||
opened database will not alter the copy produced by the export.
|
||||
</para></note>
|
||||
|
||||
<para>Exporting to CD will prepare you database directory with all its
|
||||
contents to be recorded to the CD. This is done through the
|
||||
<guilabel>burn:///</guilabel> location in Nautilus. After exporting to
|
||||
CD, go to the <guilabel>burn:///</guilabel> location by
|
||||
selecting <menuchoice><guimenu>Go</guimenu>
|
||||
<guisubmenu>CD Creator</guisubmenu></menuchoice> in Nautilus menu. Your
|
||||
database directory will show up. To record it onto the CD, click the CD
|
||||
icon on the Nautilus toolbar, or select <menuchoice><guimenu>File</guimenu>
|
||||
<guisubmenu>Write to CD</guisubmenu></menuchoice> in Nautilus menu.
|
||||
|
||||
<para>
|
||||
To export data, choose <menuchoice><guimenu>File</guimenu>
|
||||
<guimenuitem>Export</guimenuitem></menuchoice>. This will bring up the
|
||||
<guilabel>Export</guilabel> druid. Its pages will guide you through the
|
||||
format selection (see <xref linkend="export-druid-fig"/>), file selection,
|
||||
and format specific export options (see <xref linkend="gedcom-export-fig"/>).
|
||||
After a final confirmation page, the export will be performed according
|
||||
to the choices you have made. At any time, you can click the
|
||||
<guibutton>Back</guibutton> and revise any selection, and then go
|
||||
forward to redo the export.
|
||||
</para>
|
||||
|
||||
<para>Exporting to GEDCOM will create a GEDCOM file, according to the
|
||||
settings set in the following dialog:</para>
|
||||
|
||||
<!-- ==== Figure: GEDCOM Export ==== -->
|
||||
<figure id="gedcom-export-fig">
|
||||
<title>Export GEDCOM File dialog</title>
|
||||
<figure id="export-druid-fig">
|
||||
<title>Export druid: format selection</title>
|
||||
<screenshot><mediaobject><imageobject><imagedata
|
||||
fileref="figures/gedcom-export.png" format="PNG"/></imageobject>
|
||||
fileref="figures/export-druid.png" format="PNG"/></imageobject>
|
||||
<textobject>
|
||||
<phrase>Shows Export GEDCOM File dialog</phrase>
|
||||
<phrase>Shows format selection page of an Export druid</phrase>
|
||||
</textobject></mediaobject></screenshot></figure>
|
||||
<!-- ==== End of Export ==== -->
|
||||
|
||||
<para>Type the desired GEDCOM filename into the text entry box or
|
||||
click the <guibutton>Browse...</guibutton> button to evoke the
|
||||
<guilabel>Save File</guilabel> dialog.
|
||||
<sect2 id="export-gedcom">
|
||||
<title>GEDCOM export</title>
|
||||
|
||||
<para> GEDCOM export options allow you to fine tune your export
|
||||
(see <xref linkend="gedcom-export-fig"/>).
|
||||
Choose the desired <guilabel>Encoding</guilabel> of the exported file.
|
||||
Use the <guilabel>Filter</guilabel>
|
||||
pop-up menu to limit the scope of the export according to the stated rule.
|
||||
@ -325,19 +330,51 @@
|
||||
images when writing image references in GEDCOM.
|
||||
</para>
|
||||
|
||||
<para>Upon starting the export, &app; will
|
||||
display the following GEDCOM export progress window with the
|
||||
progressbars reflecting the current state of exporting. </para>
|
||||
|
||||
<!-- ==== Figure: GEDCOM Export ==== -->
|
||||
<figure id="gedcom-export-progress-fig">
|
||||
<title>Export GEDCOM progress dialog</title>
|
||||
<figure id="gedcom-export-fig">
|
||||
<title>Export druid: GEDCOM options</title>
|
||||
<screenshot><mediaobject><imageobject><imagedata
|
||||
fileref="figures/gedcom-export-progress.png" format="PNG"/></imageobject>
|
||||
fileref="figures/gedcom-export.png" format="PNG"/></imageobject>
|
||||
<textobject>
|
||||
<phrase>Shows Export GEDCOM progress dialog. </phrase>
|
||||
<phrase>Shows GEDCOM options page of an Export druid</phrase>
|
||||
</textobject></mediaobject></screenshot></figure>
|
||||
<!-- ==== End of Export ==== -->
|
||||
</sect2>
|
||||
|
||||
<sect2 id="export-grdb">
|
||||
<title>&app; database (grdb) export</title>
|
||||
<para>Exporting to the native format will simply make a copy
|
||||
of your data under another name. It also may be useful if you have
|
||||
directly opened XML or GEDCOM file and would like to save it
|
||||
as the grdb file.</para>
|
||||
</sect2>
|
||||
|
||||
<sect2 id="export-xml">
|
||||
<title>&app; XML database export</title>
|
||||
<para>Exporting into &app; XML format will
|
||||
produce a database compatible with the previous versions of &app;.
|
||||
As XML is a text-based human-readable format, you may also use it
|
||||
to take a look at your data.
|
||||
</para>
|
||||
</sect2>
|
||||
|
||||
<sect2 id="export-cd">
|
||||
<title>Export to CD</title>
|
||||
<para>Exporting to CD will prepare you database directory with all its
|
||||
contents to be recorded to the CD. This is done through the
|
||||
<guilabel>burn:///</guilabel> location in Nautilus. After exporting to
|
||||
CD, go to the <guilabel>burn:///</guilabel> location by
|
||||
selecting <menuchoice><guimenu>Go</guimenu>
|
||||
<guisubmenu>CD Creator</guisubmenu></menuchoice> in Nautilus menu
|
||||
(unless this location is already displayed by &app;). Your
|
||||
database directory will show up. To record it onto the CD, click the CD
|
||||
icon on the Nautilus toolbar, or select <menuchoice><guimenu>File</guimenu>
|
||||
<guisubmenu>Write to CD</guisubmenu></menuchoice> in Nautilus menu.
|
||||
</para>
|
||||
</sect2>
|
||||
|
||||
<sect2 id="export-package">
|
||||
<title>&app; package export</title>
|
||||
|
||||
<para>Exporting to &app; package will create a gzip-compressed tar
|
||||
archive (also known as tarball) which contains gramps database, all
|
||||
@ -346,13 +383,25 @@
|
||||
it with somebody, while retaining all the features provided
|
||||
by &app;.
|
||||
</para>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 id="export-wft">
|
||||
<title>Web Family Tree export</title>
|
||||
<para>Exporting to Web Family Tree will create the text file suitable
|
||||
as an input for the WFT program. Use the <guilabel>Filter</guilabel>
|
||||
pop-up menu to limit the scope of the export according to the stated rule.
|
||||
Check <guilabel>Restrict data on living people</guilabel> to limit living
|
||||
as an input for the WFT program. Specific options include filter selecton
|
||||
and the ability to restrict data on living people, that is to limit living
|
||||
people's data to family ties.
|
||||
</para>
|
||||
</sect2>
|
||||
|
||||
<sect2 id="export-gw">
|
||||
<title>GeneWeb export</title>
|
||||
<para>Exporting to GeneWeb will save a copy of your data into
|
||||
a popular web genealogy format. To find out more about GeneWeb
|
||||
and its format, visit <ulink url="http://cristal.inria.fr/~ddr/GeneWeb/en/"
|
||||
type="http">this site.</ulink>
|
||||
</para>
|
||||
</sect2>
|
||||
|
||||
<para>If a media file is not found during export, the following dialog
|
||||
will prompt you for the possible actions:</para>
|
||||
|
@ -521,13 +521,13 @@ class ArgHandler:
|
||||
print "Error creating %s" % filename
|
||||
os._exit(1)
|
||||
elif format == 'iso':
|
||||
print "\tISO format is temporarily disabled."
|
||||
#import WriteCD
|
||||
#try:
|
||||
# WriteCD.PackageWriter(self.parent.db,1,filename)
|
||||
#except:
|
||||
# print "Error exporting %s" % filename
|
||||
# os._exit(1)
|
||||
import WriteCD
|
||||
try:
|
||||
writer = WriteCD.PackageWriter(self.parent.db,filename,1)
|
||||
ret = writer.export()
|
||||
except:
|
||||
print "Error exporting %s" % filename
|
||||
os._exit(1)
|
||||
elif format == 'wft':
|
||||
import WriteFtree
|
||||
try:
|
||||
|
@ -93,6 +93,7 @@ class Exporter:
|
||||
|
||||
self.d = Druid()
|
||||
self.w.add(self.d)
|
||||
self.w.set_title(_('GRAMPS: Export'))
|
||||
self.d.add(self.build_info_page())
|
||||
self.d.add(self.build_format_page())
|
||||
self.file_sel_page = self.build_file_sel_page()
|
||||
@ -314,6 +315,7 @@ class Exporter:
|
||||
p.set_logo(self.logo)
|
||||
|
||||
self.chooser = gtk.FileChooserWidget(gtk.FILE_CHOOSER_ACTION_SAVE)
|
||||
self.chooser.set_local_only(gtk.FALSE)
|
||||
p.append_item("",self.chooser,"")
|
||||
# Dirty hack to enable proper EXPAND and FILL properties of the chooser
|
||||
parent = self.chooser.get_parent()
|
||||
@ -339,6 +341,8 @@ class Exporter:
|
||||
|
||||
if ext == 'gramps':
|
||||
new_filename = os.path.expanduser(default_dir + 'data.gramps')
|
||||
elif ext == 'burn':
|
||||
new_filename = os.path.basename(self.parent.db.get_save_path())
|
||||
else:
|
||||
new_filename = Utils.get_new_filename(ext,default_dir)
|
||||
self.chooser.set_current_folder(default_dir)
|
||||
|
@ -1235,10 +1235,9 @@ def exportData(database,filename,person,option_box):
|
||||
#
|
||||
#
|
||||
#-------------------------------------------------------------------------
|
||||
_title = _('GE_DCOM 5.5')
|
||||
_title = _('GE_DCOM')
|
||||
_description = _('GEDCOM is used to transfer data between genealogy programs. '
|
||||
'Most genealogy software will accept a GEDCOM file as input. ')
|
||||
#option_box = GedcomWriterOptionBox()
|
||||
_config = (_('GEDCOM export options'),GedcomWriterOptionBox)
|
||||
_filename = 'ged'
|
||||
|
||||
|
@ -192,6 +192,7 @@ class XmlWriter:
|
||||
|
||||
self.write_xml_data()
|
||||
g.close()
|
||||
return 1
|
||||
|
||||
def write_xml_data(self):
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
#
|
||||
# Gramps - a GTK+/GNOME based genealogy program
|
||||
#
|
||||
# Copyright (C) 2000-2004 Donald N. Allingham
|
||||
# Copyright (C) 2000-2005 Donald N. Allingham
|
||||
#
|
||||
# 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
|
||||
@ -29,6 +29,7 @@
|
||||
#-------------------------------------------------------------------------
|
||||
import os
|
||||
from cStringIO import StringIO
|
||||
from gettext import gettext as _
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
#
|
||||
@ -56,8 +57,6 @@ import const
|
||||
import QuestionDialog
|
||||
import ImgManip
|
||||
|
||||
from gettext import gettext as _
|
||||
|
||||
_title_string = _("Export to CD")
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
@ -65,12 +64,15 @@ _title_string = _("Export to CD")
|
||||
# writeData
|
||||
#
|
||||
#-------------------------------------------------------------------------
|
||||
def writeData(database,person):
|
||||
def writeData(database,filename,person,option_box=None):
|
||||
ret = 0
|
||||
try:
|
||||
PackageWriter(database)
|
||||
writer = PackageWriter(database,filename)
|
||||
ret = writer.export()
|
||||
except:
|
||||
import DisplayTrace
|
||||
DisplayTrace.DisplayTrace()
|
||||
return ret
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
#
|
||||
@ -79,56 +81,19 @@ def writeData(database,person):
|
||||
#-------------------------------------------------------------------------
|
||||
class PackageWriter:
|
||||
|
||||
def __init__(self,database,cl=0,name=""):
|
||||
def __init__(self,database,filename="",cl=0):
|
||||
self.db = database
|
||||
self.cl = cl
|
||||
self.name = name
|
||||
|
||||
self.filename = filename
|
||||
|
||||
def export(self):
|
||||
if self.cl:
|
||||
self.cl_run()
|
||||
self.cl_run()
|
||||
else:
|
||||
base = os.path.dirname(__file__)
|
||||
glade_file = "%s/%s" % (base,"cdexport.glade")
|
||||
|
||||
dic = {
|
||||
"destroy_passed_object" : Utils.destroy_passed_object,
|
||||
"on_ok_clicked" : self.on_ok_clicked,
|
||||
"on_help_clicked" : self.on_help_clicked
|
||||
}
|
||||
|
||||
self.top = gtk.glade.XML(glade_file,"packageExport","gramps")
|
||||
self.gui_run()
|
||||
|
||||
Utils.set_titles(self.top.get_widget('packageExport'),
|
||||
self.top.get_widget('title'),_title_string)
|
||||
|
||||
self.top.signal_autoconnect(dic)
|
||||
self.top.get_widget("packageExport").show()
|
||||
|
||||
def copy_file(self,src,dest):
|
||||
original = open(src,"r")
|
||||
destobj = URI(dest)
|
||||
target = create(destobj,OPEN_WRITE)
|
||||
done = 0
|
||||
while 1:
|
||||
buf = original.read(2048)
|
||||
if buf == '':
|
||||
break
|
||||
else:
|
||||
target.write(buf)
|
||||
target.close()
|
||||
original.close()
|
||||
|
||||
def make_thumbnail(self,dbname,root,path):
|
||||
img = ImgManip.ImgManip(path)
|
||||
data = img.jpg_scale_data(const.thumbScale,const.thumbScale)
|
||||
|
||||
uri = URI('burn:///%s/.thumb/%s.jpg' % (dbname,root))
|
||||
th = create(uri,OPEN_WRITE)
|
||||
th.write(data)
|
||||
th.close()
|
||||
|
||||
def cl_run(self):
|
||||
base = os.path.basename(self.name)
|
||||
base = os.path.basename(self.filename)
|
||||
|
||||
try:
|
||||
uri = URI('burn:///%s' % base)
|
||||
@ -168,15 +133,11 @@ class PackageWriter:
|
||||
gfile.write_handle(g)
|
||||
g.close()
|
||||
|
||||
def on_help_clicked(self,obj):
|
||||
"""Display the relevant portion of GRAMPS manual"""
|
||||
gnome.help_display('gramps-manual','export-data')
|
||||
|
||||
def on_ok_clicked(self,obj):
|
||||
Utils.destroy_passed_object(obj)
|
||||
def gui_run(self):
|
||||
missmedia_action = 0
|
||||
|
||||
base = os.path.basename(self.db.get_save_path())
|
||||
# base = os.path.basename(self.db.get_save_path())
|
||||
base = os.path.basename(self.filename)
|
||||
|
||||
try:
|
||||
uri = URI('burn:///%s' % base)
|
||||
@ -261,10 +222,10 @@ class PackageWriter:
|
||||
newfile = fs_top.get_filename()
|
||||
if os.path.isfile(newfile):
|
||||
self.copy_file(newfile,'burn:///%s/%s' % (base,obase))
|
||||
ntype = GrampsMime.get_type(newfile)
|
||||
if ntype[0:5] == "image":
|
||||
ntype = GrampsMime.get_type(newfile)
|
||||
if ntype[0:5] == "image":
|
||||
self.make_thumbnail(base,obase,newfile)
|
||||
|
||||
|
||||
fs_top = gtk.FileSelection("%s - GRAMPS" % _("Select file"))
|
||||
fs_top.hide_fileop_buttons()
|
||||
fs_top.ok_button.connect('clicked',fs_ok_clicked)
|
||||
@ -290,7 +251,7 @@ class PackageWriter:
|
||||
self.object_handle = obj.get_handle()
|
||||
if missmedia_action == 0:
|
||||
mmd = QuestionDialog.MissingMediaDialog(_("Media object could not be found"),
|
||||
_("%(file_name)s is referenced in the database, but no longer exists. "
|
||||
_("%(file_name)s is referenced in the database, but no longer exists. "
|
||||
"The file may have been deleted or moved to a different location. "
|
||||
"You may choose to either remove the reference from the database, "
|
||||
"keep the reference to the missing file, or select a new file."
|
||||
@ -310,12 +271,43 @@ class PackageWriter:
|
||||
gfile.write_handle(g)
|
||||
g.close()
|
||||
os.system("nautilus --no-desktop burn:///")
|
||||
|
||||
return 1
|
||||
|
||||
def copy_file(self,src,dest):
|
||||
original = open(src,"r")
|
||||
destobj = URI(dest)
|
||||
target = create(destobj,OPEN_WRITE)
|
||||
done = 0
|
||||
while 1:
|
||||
buf = original.read(2048)
|
||||
if buf == '':
|
||||
break
|
||||
else:
|
||||
target.write(buf)
|
||||
target.close()
|
||||
original.close()
|
||||
|
||||
def make_thumbnail(self,dbname,root,path):
|
||||
img = ImgManip.ImgManip(path)
|
||||
data = img.jpg_scale_data(const.thumbScale,const.thumbScale)
|
||||
|
||||
uri = URI('burn:///%s/.thumb/%s.jpg' % (dbname,root))
|
||||
th = create(uri,OPEN_WRITE)
|
||||
th.write(data)
|
||||
th.close()
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
#
|
||||
# Register the plugin
|
||||
#
|
||||
#-------------------------------------------------------------------------
|
||||
from PluginMgr import register_export
|
||||
_title = _('Export to CD (p_ortable XML)')
|
||||
_description = _('Exporting to CD copies all your data and media '
|
||||
'object files to the CD Creator. You may later burn the CD '
|
||||
'with this data, and that copy will be completely portable '
|
||||
'across different machines and binary architectures.')
|
||||
_config = None
|
||||
_filename = 'burn'
|
||||
|
||||
register_export(writeData,_title_string)
|
||||
from PluginMgr import register_export
|
||||
register_export(writeData,_title,_description,_config,_filename)
|
||||
|
@ -199,7 +199,7 @@ class PackageWriter:
|
||||
# Register the plugin
|
||||
#
|
||||
#-------------------------------------------------------------------------
|
||||
_title = _('GRAM_PS package')
|
||||
_title = _('GRAM_PS package (portable XML)')
|
||||
_description = _('GRAMPS package is an archived XML database together with the media object files.')
|
||||
_config = None
|
||||
_filename = 'gpkg'
|
||||
|
Loading…
Reference in New Issue
Block a user