2008-02-18 Raphael Ackermann <raphael.ackermann@gmail.com>
* src/GrampsDbUtils/_GedcomParse.py: remove encode_filename() as filename is already unicode encoded. * src/GrampsDbUtils/_GrampsDbWRFactories.py: doc fix * src/GrampsDbUtils/_ReadGedcom.py: doc and pylint fixes * src/GrampsDbUtils/importdbdir.py: pep8 fix ''' --> """ * src/ArgHandler.py: in method cl_import(self, filename, format): add call filename = Utils.get_unicode_path(filename) before calling ReadGedcom._import2(...,filename,...). +pylint fixes * src/DbLoader.py: doc fix. change variable choose to choose_db_dialog svn: r10047
This commit is contained in:
parent
de5edf9f29
commit
17ce1638d2
11
ChangeLog
11
ChangeLog
@ -1,3 +1,14 @@
|
|||||||
|
2008-02-18 Raphael Ackermann <raphael.ackermann@gmail.com>
|
||||||
|
* src/GrampsDbUtils/_GedcomParse.py: remove encode_filename() as filename
|
||||||
|
is already unicode encoded.
|
||||||
|
* src/GrampsDbUtils/_GrampsDbWRFactories.py: doc fix
|
||||||
|
* src/GrampsDbUtils/_ReadGedcom.py: doc and pylint fixes
|
||||||
|
* src/GrampsDbUtils/importdbdir.py: pep8 fix ''' --> """
|
||||||
|
* src/ArgHandler.py: in method cl_import(self, filename, format): add call
|
||||||
|
filename = Utils.get_unicode_path(filename) before calling
|
||||||
|
ReadGedcom._import2(...,filename,...). +pylint fixes
|
||||||
|
* src/DbLoader.py: doc fix. change variable choose to choose_db_dialog
|
||||||
|
|
||||||
2008-02-18 Raphael Ackermann <raphael.ackermann@gmail.com>
|
2008-02-18 Raphael Ackermann <raphael.ackermann@gmail.com>
|
||||||
* src/DataViews/PersonView.py
|
* src/DataViews/PersonView.py
|
||||||
* src/ViewManager.py
|
* src/ViewManager.py
|
||||||
|
@ -547,6 +547,7 @@ class ArgHandler:
|
|||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
elif format == 'gedcom':
|
elif format == 'gedcom':
|
||||||
filename = os.path.normpath(os.path.abspath(filename))
|
filename = os.path.normpath(os.path.abspath(filename))
|
||||||
|
filename = Utils.get_unicode_path(filename)
|
||||||
try:
|
try:
|
||||||
# Cheating here to use default encoding
|
# Cheating here to use default encoding
|
||||||
from GrampsDbUtils._ReadGedcom import import2
|
from GrampsDbUtils._ReadGedcom import import2
|
||||||
@ -740,12 +741,11 @@ class ArgHandler:
|
|||||||
report_class = item[2]
|
report_class = item[2]
|
||||||
options_class = item[3]
|
options_class = item[3]
|
||||||
if category in (CATEGORY_BOOK, CATEGORY_CODE, CATEGORY_WEB):
|
if category in (CATEGORY_BOOK, CATEGORY_CODE, CATEGORY_WEB):
|
||||||
options_class(self.state.db,name,
|
options_class(self.state.db, name, category,
|
||||||
category,options_str_dict)
|
|
||||||
else:
|
|
||||||
cl_report(self.state.db,name,category,
|
|
||||||
report_class,options_class,
|
|
||||||
options_str_dict)
|
options_str_dict)
|
||||||
|
else:
|
||||||
|
cl_report(self.state.db, name, category, report_class,
|
||||||
|
options_class, options_str_dict)
|
||||||
return
|
return
|
||||||
|
|
||||||
print "Unknown report name. Available names are:"
|
print "Unknown report name. Available names are:"
|
||||||
@ -769,8 +769,8 @@ class ArgHandler:
|
|||||||
category = item[1]
|
category = item[1]
|
||||||
tool_class = item[2]
|
tool_class = item[2]
|
||||||
options_class = item[3]
|
options_class = item[3]
|
||||||
Tool.cli_tool(self.state,name,category,
|
Tool.cli_tool(self.state, name, category, tool_class,
|
||||||
tool_class,options_class,options_str_dict)
|
options_class, options_str_dict)
|
||||||
return
|
return
|
||||||
|
|
||||||
print "Unknown tool name. Available names are:"
|
print "Unknown tool name. Available names are:"
|
||||||
|
@ -105,19 +105,18 @@ class DbLoader:
|
|||||||
if not warn_dialog.run():
|
if not warn_dialog.run():
|
||||||
return False
|
return False
|
||||||
|
|
||||||
choose = gtk.FileChooserDialog(
|
choose_db_dialog = gtk.FileChooserDialog(_('GRAMPS: Import database'),
|
||||||
_('GRAMPS: Import database'),
|
|
||||||
self.uistate.window,
|
self.uistate.window,
|
||||||
gtk.FILE_CHOOSER_ACTION_OPEN,
|
gtk.FILE_CHOOSER_ACTION_OPEN,
|
||||||
(gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL,
|
(gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL,
|
||||||
'gramps-import', gtk.RESPONSE_OK))
|
'gramps-import', gtk.RESPONSE_OK))
|
||||||
choose.set_local_only(False)
|
choose_db_dialog.set_local_only(False)
|
||||||
|
|
||||||
# Always add automatic (match all files) filter
|
# Always add automatic (match all files) filter
|
||||||
add_all_files_filter(choose)
|
add_all_files_filter(choose_db_dialog)
|
||||||
add_grdb_filter(choose)
|
add_grdb_filter(choose_db_dialog)
|
||||||
add_xml_filter(choose)
|
add_xml_filter(choose_db_dialog)
|
||||||
add_gedcom_filter(choose)
|
add_gedcom_filter(choose_db_dialog)
|
||||||
|
|
||||||
format_list = OPEN_FORMATS[:]
|
format_list = OPEN_FORMATS[:]
|
||||||
|
|
||||||
@ -129,12 +128,12 @@ class DbLoader:
|
|||||||
format_name = data[4]
|
format_name = data[4]
|
||||||
|
|
||||||
if not native_format:
|
if not native_format:
|
||||||
choose.add_filter(mime_filter)
|
choose_db_dialog.add_filter(mime_filter)
|
||||||
format_list.append(mime_type)
|
format_list.append(mime_type)
|
||||||
_KNOWN_FORMATS[mime_type] = format_name
|
_KNOWN_FORMATS[mime_type] = format_name
|
||||||
|
|
||||||
(box, type_selector) = format_maker(format_list)
|
(box, type_selector) = format_maker(format_list)
|
||||||
choose.set_extra_widget(box)
|
choose_db_dialog.set_extra_widget(box)
|
||||||
|
|
||||||
# Suggested folder: try last open file, import, then last export,
|
# Suggested folder: try last open file, import, then last export,
|
||||||
# then home.
|
# then home.
|
||||||
@ -142,10 +141,10 @@ class DbLoader:
|
|||||||
if len(default_dir)<=1:
|
if len(default_dir)<=1:
|
||||||
default_dir = get_default_dir()
|
default_dir = get_default_dir()
|
||||||
|
|
||||||
choose.set_current_folder(default_dir)
|
choose_db_dialog.set_current_folder(default_dir)
|
||||||
response = choose.run()
|
response = choose_db_dialog.run()
|
||||||
if response == gtk.RESPONSE_OK:
|
if response == gtk.RESPONSE_OK:
|
||||||
filename = Utils.get_unicode_path(choose.get_filename())
|
filename = Utils.get_unicode_path(choose_db_dialog.get_filename())
|
||||||
if self.check_errors(filename):
|
if self.check_errors(filename):
|
||||||
return False
|
return False
|
||||||
|
|
||||||
@ -158,15 +157,14 @@ class DbLoader:
|
|||||||
try:
|
try:
|
||||||
filetype = Mime.get_type(filename)
|
filetype = Mime.get_type(filename)
|
||||||
except RuntimeError, msg:
|
except RuntimeError, msg:
|
||||||
ErrorDialog(
|
ErrorDialog(_("Could not open file: %s") % filename,
|
||||||
_("Could not open file: %s") % filename,
|
|
||||||
str(msg))
|
str(msg))
|
||||||
return False
|
return False
|
||||||
|
|
||||||
# First we try our best formats
|
# First we try our best formats
|
||||||
if filetype in OPEN_FORMATS:
|
if filetype in OPEN_FORMATS:
|
||||||
importer = GrampsDbUtils.gramps_db_reader_factory(filetype)
|
importer = GrampsDbUtils.gramps_db_reader_factory(filetype)
|
||||||
self.do_import(choose, importer, filename)
|
self.do_import(choose_db_dialog, importer, filename)
|
||||||
return True
|
return True
|
||||||
|
|
||||||
# Then we try all the known plugins
|
# Then we try all the known plugins
|
||||||
@ -175,7 +173,7 @@ class DbLoader:
|
|||||||
for (importData, mime_filter, mime_type, native_format,
|
for (importData, mime_filter, mime_type, native_format,
|
||||||
format_name) in import_list:
|
format_name) in import_list:
|
||||||
if filetype == mime_type or the_file == mime_type:
|
if filetype == mime_type or the_file == mime_type:
|
||||||
self.do_import(choose, importData, filename)
|
self.do_import(choose_db_dialog, importData, filename)
|
||||||
return True
|
return True
|
||||||
|
|
||||||
# Finally, we give up and declare this an unknown format
|
# Finally, we give up and declare this an unknown format
|
||||||
@ -185,13 +183,15 @@ class DbLoader:
|
|||||||
'Valid types are: GRAMPS database, GRAMPS XML, '
|
'Valid types are: GRAMPS database, GRAMPS XML, '
|
||||||
'GRAMPS package, and GEDCOM.') % filetype)
|
'GRAMPS package, and GEDCOM.') % filetype)
|
||||||
|
|
||||||
choose.destroy()
|
choose_db_dialog.destroy()
|
||||||
return False
|
return False
|
||||||
|
|
||||||
def check_errors(self, filename):
|
def check_errors(self, filename):
|
||||||
"""
|
"""
|
||||||
This methods runs common error checks and returns True if any found.
|
Run common error checks and return True if any found.
|
||||||
In this process, warning dialog can pop up.
|
|
||||||
|
In this process, a warning dialog can pop up.
|
||||||
|
|
||||||
"""
|
"""
|
||||||
|
|
||||||
if type(filename) not in (str, unicode):
|
if type(filename) not in (str, unicode):
|
||||||
|
@ -275,8 +275,7 @@ class GedcomParser(UpdateCallback):
|
|||||||
if self.use_def_src:
|
if self.use_def_src:
|
||||||
self.def_src = gen.lib.Source()
|
self.def_src = gen.lib.Source()
|
||||||
fname = os.path.basename(filename).split('\\')[-1]
|
fname = os.path.basename(filename).split('\\')[-1]
|
||||||
self.def_src.set_title(_("Import from GEDCOM (%s)") %
|
self.def_src.set_title(_("Import from GEDCOM (%s)") % fname)
|
||||||
encode_filename(fname))
|
|
||||||
self.dir_path = os.path.dirname(filename)
|
self.dir_path = os.path.dirname(filename)
|
||||||
self.is_ftw = False
|
self.is_ftw = False
|
||||||
self.is_ancestry_com = False
|
self.is_ancestry_com = False
|
||||||
@ -4423,10 +4422,3 @@ def family_event_name(event, family, dbase):
|
|||||||
'family' : Utils.family_name(family, dbase),
|
'family' : Utils.family_name(family, dbase),
|
||||||
}
|
}
|
||||||
event.set_description(text)
|
event.set_description(text)
|
||||||
|
|
||||||
def encode_filename(name):
|
|
||||||
enc = sys.getfilesystemencoding()
|
|
||||||
if enc == "UTF-8":
|
|
||||||
return name
|
|
||||||
else:
|
|
||||||
return unicode(name, encoding=enc, errors='replace')
|
|
||||||
|
@ -18,7 +18,7 @@
|
|||||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
#
|
#
|
||||||
|
|
||||||
# $Id$
|
# $Id:_GrampsDbWRFactories.py 9912 2008-01-22 09:17:46Z acraphae $
|
||||||
|
|
||||||
"""
|
"""
|
||||||
This module contains factory methods for accessing the different
|
This module contains factory methods for accessing the different
|
||||||
@ -46,7 +46,7 @@ from gen.db import GrampsDbException
|
|||||||
from PluginUtils import import_list
|
from PluginUtils import import_list
|
||||||
|
|
||||||
def gramps_db_reader_factory(db_type):
|
def gramps_db_reader_factory(db_type):
|
||||||
"""Factory class for obtaining a Gramps database importers.
|
"""Factory class for obtaining a Gramps database importer.
|
||||||
|
|
||||||
@param db_type: the type of backend required.
|
@param db_type: the type of backend required.
|
||||||
@type db_type: one of the app_* constants in const.py
|
@type db_type: one of the app_* constants in const.py
|
||||||
|
@ -18,7 +18,7 @@
|
|||||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
#
|
#
|
||||||
|
|
||||||
# $Id$
|
# $Id:_ReadGedcom.py 9912 2008-01-22 09:17:46Z acraphae $
|
||||||
|
|
||||||
"Import from GEDCOM"
|
"Import from GEDCOM"
|
||||||
|
|
||||||
@ -103,7 +103,7 @@ def importData(database, filename, callback=None, use_trans=False):
|
|||||||
#-------------------------------------------------------------------------
|
#-------------------------------------------------------------------------
|
||||||
def import2(database, filename, callback, code_set, use_trans):
|
def import2(database, filename, callback, code_set, use_trans):
|
||||||
"""
|
"""
|
||||||
Do the actual import of data
|
Import the gedcom file.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
assert(type(code_set) == str or type(code_set) == unicode)
|
assert(type(code_set) == str or type(code_set) == unicode)
|
||||||
|
@ -48,9 +48,9 @@ from BasicUtils import name_displayer
|
|||||||
#
|
#
|
||||||
#-------------------------------------------------------------------------
|
#-------------------------------------------------------------------------
|
||||||
def importData(database, dirname, callback=None, cl=0, use_trans=True):
|
def importData(database, dirname, callback=None, cl=0, use_trans=True):
|
||||||
'''
|
"""
|
||||||
Import dbdir database in dirname into dbdir database.
|
Import dbdir database in dirname into dbdir database.
|
||||||
'''
|
"""
|
||||||
name = os.path.normpath(dirname)
|
name = os.path.normpath(dirname)
|
||||||
|
|
||||||
other_database = GrampsDBDir()
|
other_database = GrampsDBDir()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user