From 719be420814ade4296b86c7635b1b3cf44fc519b Mon Sep 17 00:00:00 2001 From: Raphael Ackermann Date: Wed, 16 Jan 2008 21:42:05 +0000 Subject: [PATCH] 2008-01-15 Raphael Ackermann * src/plugins/WriteCD.py * src/plugins/vcardexport.glade * src/plugins/ExportVCard.py * src/plugins/writeftree.glade * src/plugins/ExportCSV.py * src/plugins/csvexport.glade * src/plugins/vcalendarexport.glade * src/plugins/ExportVCalendar.py * src/plugins/genewebexport.glade * src/plugins/WriteGeneWeb.py * src/ExportAssistant.py * src/ExportOptions.py * src/ArgHandler.py work on mnemonics for export dialogues and doc string fixes svn: r9855 --- ChangeLog | 16 +++++++ src/ArgHandler.py | 6 ++- src/ExportAssistant.py | 78 ++++++++++++++++++------------- src/ExportOptions.py | 28 +++++------ src/plugins/ExportCSV.py | 21 +++++---- src/plugins/ExportVCalendar.py | 7 +-- src/plugins/ExportVCard.py | 7 +-- src/plugins/WriteCD.py | 4 +- src/plugins/WriteGeneWeb.py | 15 ++++-- src/plugins/csvexport.glade | 4 +- src/plugins/genewebexport.glade | 4 +- src/plugins/vcalendarexport.glade | 2 +- src/plugins/vcardexport.glade | 2 +- src/plugins/writeftree.glade | 2 +- 14 files changed, 115 insertions(+), 81 deletions(-) diff --git a/ChangeLog b/ChangeLog index bd70930e8..9d5cbe080 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,19 @@ +2008-01-15 Raphael Ackermann + * src/plugins/WriteCD.py + * src/plugins/vcardexport.glade + * src/plugins/ExportVCard.py + * src/plugins/writeftree.glade + * src/plugins/ExportCSV.py + * src/plugins/csvexport.glade + * src/plugins/vcalendarexport.glade + * src/plugins/ExportVCalendar.py + * src/plugins/genewebexport.glade + * src/plugins/WriteGeneWeb.py + * src/ExportAssistant.py + * src/ExportOptions.py + * src/ArgHandler.py + work on mnemonics for export dialogues and doc string fixes + 2008-01-16 Benny Malengier * src/ArgHandler.py: don't crash arghandler on wrong input #1592 * src/const.py.in: Add -h and --help so those work for non gnome users diff --git a/src/ArgHandler.py b/src/ArgHandler.py index 749fb2486..ff4dc96be 100644 --- a/src/ArgHandler.py +++ b/src/ArgHandler.py @@ -141,7 +141,7 @@ class ArgHandler: """ Fill in lists with open, exports, imports, and actions options. - Any parsing errors lead to abort + Any parsing errors lead to abort. Possible: 1/ Just the family tree (name or database dir) @@ -152,7 +152,9 @@ class ArgHandler: 4/ -o, output a family tree in required format, optionally provide -f to indicate format (possible: 'gedcom', 'gramps-xml','gramps-pkg','iso','wft','geneweb') - 5/ An action + 5/ -a, --action: An action (possible: 'check', 'summary', 'report', + 'tool') + """ try: options, leftargs = getopt.getopt(self.args[1:], diff --git a/src/ExportAssistant.py b/src/ExportAssistant.py index e6ef73488..c6db29933 100644 --- a/src/ExportAssistant.py +++ b/src/ExportAssistant.py @@ -82,10 +82,13 @@ _ExportAssistant_pages = { class ExportAssistant(gtk.Assistant, ManagedWindow.ManagedWindow) : """ This class creates a GTK assistant to guide the user through the various - Save as/Export options. The overall goal is to keep things simple by - presenting few choice options on each assistant page. + Save as/Export options. + + The overall goal is to keep things simple by presenting few choice options + on each assistant page. + + The export formats and options are obtained from the plugins. - The export formats and options are obtained from the plugins """ __gsignals__ = {"apply": "override", "cancel": "override", @@ -93,7 +96,8 @@ class ExportAssistant(gtk.Assistant, ManagedWindow.ManagedWindow) : def __init__(self,dbstate,uistate): """ - Set up the assistant, and build all the possible assistant pages. + Set up the assistant, and build all the possible assistant pages. + Some page elements are left empty, since their contents depends on the user choices and on the success of the attempted save. @@ -143,13 +147,11 @@ class ExportAssistant(gtk.Assistant, ManagedWindow.ManagedWindow) : ManagedWindow.ManagedWindow.show(self) def build_menu_names(self,obj): - ''' Override ManagedWindow method - ''' + """Override ManagedWindow method.""" return (self.top_title, None) def create_page_intro(self): - ''' Create the introduction page - ''' + """Create the introduction page.""" label = gtk.Label(self.get_intro_text()) label.set_line_wrap(True) label.set_use_markup(True) @@ -165,10 +167,12 @@ class ExportAssistant(gtk.Assistant, ManagedWindow.ManagedWindow) : self.set_page_type(page, gtk.ASSISTANT_PAGE_INTRO) def create_page_exporttypes(self): - ''' Create the export type page - A Title label + """Create the export type page. + + A Title label. A table of format radio buttons and their descriptions. - ''' + + """ self.format_buttons = [] box = gtk.VBox() @@ -224,10 +228,11 @@ class ExportAssistant(gtk.Assistant, ManagedWindow.ManagedWindow) : self.set_page_type(page, gtk.ASSISTANT_PAGE_CONTENT) def forward_func(self, pagenumber, data): - ''' This function is called on forward press. + """This function is called on forward press. + Normally, go to next page, however, before options, we decide if options to show - ''' + """ if pagenumber == _ExportAssistant_pages['exporttypes'] : #decide if options need to be shown: ix = self.get_selected_format_index() @@ -240,8 +245,7 @@ class ExportAssistant(gtk.Assistant, ManagedWindow.ManagedWindow) : return pagenumber + 1 def create_options(self): - ''' This method gets the option page, and fills it with the options - ''' + """This method gets the option page, and fills it with the options.""" option = self.get_selected_format_index() vbox = self.get_nth_page(_ExportAssistant_pages['options']) self.set_page_title(vbox, self.exportformats[option][3][0]) @@ -288,10 +292,11 @@ class ExportAssistant(gtk.Assistant, ManagedWindow.ManagedWindow) : self.set_page_type(page, gtk.ASSISTANT_PAGE_CONTENT) def check_fileselect(self, filechooser, event=None): - ''' Given a filechooser, determine if it can be marked complete - in the Assistant - Used as normal callback and event callback. - ''' + """Given a filechooser, determine if it can be marked complete in + the Assistant. + + Used as normal callback and event callback. + """ filename = filechooser.get_filename() folder = filechooser.get_current_folder() #the file must be valid, not a folder, and folder must be valid @@ -361,11 +366,13 @@ class ExportAssistant(gtk.Assistant, ManagedWindow.ManagedWindow) : self.close() def do_prepare(self, page): - ''' + """ The "prepare" signal is emitted when a new page is set as the assistant's current page, but before making the new page visible. - @param page: the new page to prepare for display - ''' + + @param page: the new page to prepare for display. + + """ #determine if we go backward or forward page_number = self.get_current_page() assert page == self.get_nth_page(page_number) @@ -435,7 +442,7 @@ class ExportAssistant(gtk.Assistant, ManagedWindow.ManagedWindow) : self.post_save() #update the label and title - if success is None or success: + if success: conclusion_title = _('Your data has been saved') conclusion_text = _( 'The copy of your data has been ' @@ -473,8 +480,10 @@ class ExportAssistant(gtk.Assistant, ManagedWindow.ManagedWindow) : def obtain_export_formats(self): """ This method builds its own list of available exports. - The list is built from the PluginMgr.export_list list - and from the locally defined exports (i.e. native export defined here). + + The list is built from the PluginMgr.export_list list and from the + locally defined exports (i.e. native export defined here). + """ self.exportformats = [item for item in export_list] @@ -493,8 +502,9 @@ class ExportAssistant(gtk.Assistant, ManagedWindow.ManagedWindow) : def get_selected_format_index(self): """ - Query the format radiobuttons and return the index number - of the selected one. + Query the format radiobuttons and return the index number of the + selected one. + """ for ix in range(len(self.format_buttons)): button = self.format_buttons[ix] @@ -504,9 +514,7 @@ class ExportAssistant(gtk.Assistant, ManagedWindow.ManagedWindow) : return 0 def suggest_filename(self): - """ - Prepare suggested filename and set it in the file chooser. - """ + """Prepare suggested filename and set it in the file chooser.""" ix = self.get_selected_format_index() ext = self.exportformats[ix][4] @@ -527,8 +535,10 @@ class ExportAssistant(gtk.Assistant, ManagedWindow.ManagedWindow) : def save(self): """ - Perform the actual Save As/Export operation. + Perform the actual Save As/Export operation. + Depending on the success status, set the text for the final page. + """ filename = unicode(self.chooser.get_filename(), sys.getfilesystemencoding()) @@ -563,10 +573,12 @@ class ExportAssistant(gtk.Assistant, ManagedWindow.ManagedWindow) : self.writestarted = False def set_busy_cursor(self,value): - ''' set or unset the busy cursor while saving data + """Set or unset the busy cursor while saving data. + Note : self.window is the gtk.Assistant gtk.Window, not a part of ManagedWindow - ''' + + """ if value: self.window.set_cursor(gtk.gdk.Cursor(gtk.gdk.WATCH)) #self.set_sensitive(0) diff --git a/src/ExportOptions.py b/src/ExportOptions.py index 5313d33ab..c9217fc8f 100644 --- a/src/ExportOptions.py +++ b/src/ExportOptions.py @@ -1,7 +1,7 @@ # # Gramps - a GTK+/GNOME based genealogy program # -# Copyright (C) 2007 Donald N. Allingham +# Copyright (C) 2007-2008 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 @@ -18,9 +18,7 @@ # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # -""" -Provides the common export options for Exporters -""" +"""Provide the common export options for Exporters.""" #------------------------------------------------------------------------- # @@ -48,7 +46,8 @@ from Filters import GenericFilter, Rules class WriterOptionBox: """ Create a VBox with the option widgets and define methods to retrieve - the options. + the options. + """ def __init__(self, person): self.person = person @@ -60,16 +59,14 @@ class WriterOptionBox: self.filter_obj = None def get_option_box(self): - """ - Builds up a gtk.Table that contains the standard options - """ + """Build up a gtk.Table that contains the standard options.""" table = gtk.Table(3, 2) - label = gtk.Label('Filter') + label = gtk.Label(_('Filt_er')) self.filter_obj = gtk.ComboBox() self.private_check = gtk.CheckButton( - _('Do not include records marked private')) + _('_Do not include records marked private')) self.restrict_check = gtk.CheckButton( - _('Restrict data on living people')) + _('_Restrict data on living people')) self.private_check.set_active(Config.get(Config.EXPORT_NO_PRIVATE)) self.restrict_check.set_active(Config.get(Config.EXPORT_RESTRICT)) @@ -106,9 +103,7 @@ class WriterOptionBox: return table def __define_person_filters(self): - """ - Add person filters if the active person is defined - """ + """Add person filters if the active person is defined.""" des = GenericFilter() des.set_name(_("Descendants of %s") % @@ -131,8 +126,9 @@ class WriterOptionBox: def parse_options(self): """ - Extract the common values from the GTK widgets. After this function - is called, the following variables are defined: + Extract the common values from the GTK widgets. + + After this function is called, the following variables are defined: private = privacy requested restrict = restrict information on living peoplel diff --git a/src/plugins/ExportCSV.py b/src/plugins/ExportCSV.py index 089d1b319..3ef063aa7 100644 --- a/src/plugins/ExportCSV.py +++ b/src/plugins/ExportCSV.py @@ -1,7 +1,7 @@ # # Gramps - a GTK+/GNOME based genealogy program # -# Copyright (C) 2007 Douglas S. Blank +# Copyright (C) 2007-2008 Douglas S. Blank # Copyright (C) 2004-2007 Donald N. Allingham # # This program is free software; you can redistribute it and/or modify @@ -20,7 +20,7 @@ # # $Id$ -"Export to CSV Spreadsheet" +"Export to CSV Spreadsheet." #------------------------------------------------------------------------- # @@ -93,9 +93,7 @@ def sortable_string_representation(text): # #------------------------------------------------------------------------- class UTF8Recoder: - """ - Iterator that reads an encoded stream and reencodes the input to UTF-8 - """ + """Iterator that reads an encoded stream and reencodes the input to UTF-8.""" def __init__(self, f, encoding): self.reader = codecs.getreader(encoding)(f) @@ -107,8 +105,9 @@ class UTF8Recoder: class UnicodeReader: """ - A CSV reader which will iterate over lines in the CSV file "f", - which is encoded in the given encoding. + A CSV reader which will iterate over lines in the CSV file "f", which is + encoded in the given encoding. + """ def __init__(self, f, encoding="utf-8", **kwds): @@ -124,8 +123,9 @@ class UnicodeReader: class UnicodeWriter: """ - A CSV writer which will write rows to CSV file "f", - which is encoded in the given encoding. + A CSV writer which will write rows to CSV file "f", which is encoded in + the given encoding. + """ def __init__(self, f, encoding="utf-8", **kwds): @@ -163,6 +163,7 @@ class CSVWriterOptionBox: """ Create a VBox with the option widgets and define methods to retrieve the options. + """ def __init__(self,person): self.person = person @@ -498,7 +499,7 @@ class CSVWriter: # Register all of the plugins # #------------------------------------------------------------------------- -_title = _('Comma Separated Values Spreadsheet (CSV)') +_title = _('Comma _Separated Values Spreadsheet (CSV)') _description = _('CSV is a common spreadsheet format.') _config = (_('CSV spreadsheet options'),CSVWriterOptionBox) _filename = 'csv' diff --git a/src/plugins/ExportVCalendar.py b/src/plugins/ExportVCalendar.py index daa2f9409..635e17d60 100644 --- a/src/plugins/ExportVCalendar.py +++ b/src/plugins/ExportVCalendar.py @@ -20,7 +20,7 @@ # # $Id$ -"Export Events to vCalendar" +"Export Events to vCalendar." #------------------------------------------------------------------------- # @@ -68,7 +68,8 @@ from PluginUtils import register_export class CalendarWriterOptionBox: """ Create a VBox with the option widgets and define methods to retrieve - the options. + the options. + """ def __init__(self, person): self.person = person @@ -347,7 +348,7 @@ def exportData(database, filename, person, option_box, callback=None): # # #------------------------------------------------------------------------- -_title = _('vCalendar') +_title = _('vC_alendar') _description = _('vCalendar is used in many calendaring and pim applications.') _config = (_('vCalendar export options'), CalendarWriterOptionBox) _filename = 'vcs' diff --git a/src/plugins/ExportVCard.py b/src/plugins/ExportVCard.py index b2de6f25f..70edc2b29 100644 --- a/src/plugins/ExportVCard.py +++ b/src/plugins/ExportVCard.py @@ -20,7 +20,7 @@ # # $Id$ -"Export Persons to vCard" +"Export Persons to vCard." #------------------------------------------------------------------------- # @@ -64,7 +64,8 @@ from PluginUtils import register_export class CardWriterOptionBox: """ Create a VBox with the option widgets and define methods to retrieve - the options. + the options. + """ def __init__(self, person): self.person = person @@ -263,7 +264,7 @@ def exportData(database, filename, person, option_box, callback=None): # # #------------------------------------------------------------------------- -_title = _('vCard') +_title = _('_vCard') _description = _('vCard is used in many addressbook and pim applications.') _config = (_('vCard export options'), CardWriterOptionBox) _filename = 'vcf' diff --git a/src/plugins/WriteCD.py b/src/plugins/WriteCD.py index 93ff8973d..036f14c0d 100644 --- a/src/plugins/WriteCD.py +++ b/src/plugins/WriteCD.py @@ -20,7 +20,7 @@ # $Id$ -"Export to CD (nautilus)" +"Export to CD (nautilus)." #------------------------------------------------------------------------- # @@ -293,7 +293,7 @@ class PackageWriter: # Register the plugin # #------------------------------------------------------------------------- -_title = _('Export to CD (p_ortable XML)') +_title = _('_Export to CD (portable 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 ' diff --git a/src/plugins/WriteGeneWeb.py b/src/plugins/WriteGeneWeb.py index 68366a55b..96a0284ba 100644 --- a/src/plugins/WriteGeneWeb.py +++ b/src/plugins/WriteGeneWeb.py @@ -20,7 +20,7 @@ # # $Id$ -"Export to GeneWeb" +"Export to GeneWeb." #------------------------------------------------------------------------- # @@ -67,7 +67,8 @@ from PluginUtils import register_export class GeneWebWriterOptionBox: """ Create a VBox with the option widgets and define methods to retrieve - the options. + the options. + """ def __init__(self, person): self.person = person @@ -440,7 +441,11 @@ class GeneWebWriter: return retval def get_full_person_info_fam(self, person): - """Output full person data of a family member only if the person is not listed as a child""" + """Output full person data of a family member. + + This is only done if the person is not listed as a child. + + """ retval = "" if self.persons_details_done.count(person.get_handle()) == 0: is_child = 0 @@ -456,7 +461,7 @@ class GeneWebWriter: def get_full_person_info_child(self, person): - """Output full person data for a child, if not printed somewhere else""" + """Output full person data for a child, if not printed somewhere else.""" retval = "" if self.persons_details_done.count(person.get_handle()) == 0: self.persons_details_done.append(person.get_handle()) @@ -633,7 +638,7 @@ def exportData(database,filename,person,option_box,callback=None): # # #------------------------------------------------------------------------- -_title = _('G_eneWeb') +_title = _('_GeneWeb') _description = _('GeneWeb is a web based genealogy program.') _config = (_('GeneWeb export options'), GeneWebWriterOptionBox) _filename = 'gw' diff --git a/src/plugins/csvexport.glade b/src/plugins/csvexport.glade index bd3397c27..c3b25ef03 100644 --- a/src/plugins/csvexport.glade +++ b/src/plugins/csvexport.glade @@ -136,7 +136,7 @@ True - _Filter: + Filt_er: True False GTK_JUSTIFY_LEFT @@ -241,7 +241,7 @@ True True - _Individuals + I_ndividuals True GTK_RELIEF_NORMAL True diff --git a/src/plugins/genewebexport.glade b/src/plugins/genewebexport.glade index 168886a3d..a8211ae04 100644 --- a/src/plugins/genewebexport.glade +++ b/src/plugins/genewebexport.glade @@ -123,7 +123,7 @@ True - _Filter: + Filt_er: True False GTK_JUSTIFY_LEFT @@ -322,7 +322,7 @@ True True - R_eference images from path: + Reference i_mages from path: True GTK_RELIEF_NORMAL True diff --git a/src/plugins/vcalendarexport.glade b/src/plugins/vcalendarexport.glade index 7972d11f7..ebf5432a5 100644 --- a/src/plugins/vcalendarexport.glade +++ b/src/plugins/vcalendarexport.glade @@ -123,7 +123,7 @@ True - _Filter: + Filt_er: True False GTK_JUSTIFY_LEFT diff --git a/src/plugins/vcardexport.glade b/src/plugins/vcardexport.glade index e766378f9..658f44dec 100644 --- a/src/plugins/vcardexport.glade +++ b/src/plugins/vcardexport.glade @@ -123,7 +123,7 @@ True - _Filter: + Filt_er: True False GTK_JUSTIFY_LEFT diff --git a/src/plugins/writeftree.glade b/src/plugins/writeftree.glade index 3da9b37b3..51880dbd4 100644 --- a/src/plugins/writeftree.glade +++ b/src/plugins/writeftree.glade @@ -144,7 +144,7 @@ True - _Filter: + Filt_er: True False GTK_JUSTIFY_LEFT