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:
Raphael Ackermann 2008-02-18 12:31:31 +00:00
parent de5edf9f29
commit 17ce1638d2
7 changed files with 74 additions and 71 deletions

View File

@ -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>
* src/DataViews/PersonView.py
* src/ViewManager.py

View File

@ -547,6 +547,7 @@ class ArgHandler:
sys.exit(1)
elif format == 'gedcom':
filename = os.path.normpath(os.path.abspath(filename))
filename = Utils.get_unicode_path(filename)
try:
# Cheating here to use default encoding
from GrampsDbUtils._ReadGedcom import import2
@ -740,12 +741,11 @@ class ArgHandler:
report_class = item[2]
options_class = item[3]
if category in (CATEGORY_BOOK, CATEGORY_CODE, CATEGORY_WEB):
options_class(self.state.db,name,
category,options_str_dict)
else:
cl_report(self.state.db,name,category,
report_class,options_class,
options_class(self.state.db, name, category,
options_str_dict)
else:
cl_report(self.state.db, name, category, report_class,
options_class, options_str_dict)
return
print "Unknown report name. Available names are:"
@ -769,8 +769,8 @@ class ArgHandler:
category = item[1]
tool_class = item[2]
options_class = item[3]
Tool.cli_tool(self.state,name,category,
tool_class,options_class,options_str_dict)
Tool.cli_tool(self.state, name, category, tool_class,
options_class, options_str_dict)
return
print "Unknown tool name. Available names are:"

View File

@ -105,19 +105,18 @@ class DbLoader:
if not warn_dialog.run():
return False
choose = gtk.FileChooserDialog(
_('GRAMPS: Import database'),
choose_db_dialog = gtk.FileChooserDialog(_('GRAMPS: Import database'),
self.uistate.window,
gtk.FILE_CHOOSER_ACTION_OPEN,
(gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL,
'gramps-import', gtk.RESPONSE_OK))
choose.set_local_only(False)
choose_db_dialog.set_local_only(False)
# Always add automatic (match all files) filter
add_all_files_filter(choose)
add_grdb_filter(choose)
add_xml_filter(choose)
add_gedcom_filter(choose)
add_all_files_filter(choose_db_dialog)
add_grdb_filter(choose_db_dialog)
add_xml_filter(choose_db_dialog)
add_gedcom_filter(choose_db_dialog)
format_list = OPEN_FORMATS[:]
@ -129,12 +128,12 @@ class DbLoader:
format_name = data[4]
if not native_format:
choose.add_filter(mime_filter)
choose_db_dialog.add_filter(mime_filter)
format_list.append(mime_type)
_KNOWN_FORMATS[mime_type] = format_name
(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,
# then home.
@ -142,10 +141,10 @@ class DbLoader:
if len(default_dir)<=1:
default_dir = get_default_dir()
choose.set_current_folder(default_dir)
response = choose.run()
choose_db_dialog.set_current_folder(default_dir)
response = choose_db_dialog.run()
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):
return False
@ -158,15 +157,14 @@ class DbLoader:
try:
filetype = Mime.get_type(filename)
except RuntimeError, msg:
ErrorDialog(
_("Could not open file: %s") % filename,
ErrorDialog(_("Could not open file: %s") % filename,
str(msg))
return False
# First we try our best formats
if filetype in OPEN_FORMATS:
importer = GrampsDbUtils.gramps_db_reader_factory(filetype)
self.do_import(choose, importer, filename)
self.do_import(choose_db_dialog, importer, filename)
return True
# Then we try all the known plugins
@ -175,7 +173,7 @@ class DbLoader:
for (importData, mime_filter, mime_type, native_format,
format_name) in import_list:
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
# Finally, we give up and declare this an unknown format
@ -185,13 +183,15 @@ class DbLoader:
'Valid types are: GRAMPS database, GRAMPS XML, '
'GRAMPS package, and GEDCOM.') % filetype)
choose.destroy()
choose_db_dialog.destroy()
return False
def check_errors(self, filename):
"""
This methods runs common error checks and returns True if any found.
In this process, warning dialog can pop up.
Run common error checks and return True if any found.
In this process, a warning dialog can pop up.
"""
if type(filename) not in (str, unicode):

View File

@ -275,8 +275,7 @@ class GedcomParser(UpdateCallback):
if self.use_def_src:
self.def_src = gen.lib.Source()
fname = os.path.basename(filename).split('\\')[-1]
self.def_src.set_title(_("Import from GEDCOM (%s)") %
encode_filename(fname))
self.def_src.set_title(_("Import from GEDCOM (%s)") % fname)
self.dir_path = os.path.dirname(filename)
self.is_ftw = False
self.is_ancestry_com = False
@ -4423,10 +4422,3 @@ def family_event_name(event, family, dbase):
'family' : Utils.family_name(family, dbase),
}
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')

View File

@ -18,7 +18,7 @@
# 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
@ -46,7 +46,7 @@ from gen.db import GrampsDbException
from PluginUtils import import_list
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.
@type db_type: one of the app_* constants in const.py

View File

@ -18,7 +18,7 @@
# 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"
@ -103,7 +103,7 @@ def importData(database, filename, callback=None, use_trans=False):
#-------------------------------------------------------------------------
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)

View File

@ -48,9 +48,9 @@ from BasicUtils import name_displayer
#
#-------------------------------------------------------------------------
def importData(database, dirname, callback=None, cl=0, use_trans=True):
'''
"""
Import dbdir database in dirname into dbdir database.
'''
"""
name = os.path.normpath(dirname)
other_database = GrampsDBDir()