0002386: Command line reports do not work.
svn: r11062
This commit is contained in:
parent
c1ca1e3ee9
commit
d092df28a5
@ -141,73 +141,40 @@ class CommandLineReport:
|
|||||||
}
|
}
|
||||||
|
|
||||||
self.options_help = {
|
self.options_help = {
|
||||||
'of' : ["=filename", "Output file name. MANDATORY", "", ""],
|
'of' : ["=filename", "Output file name. MANDATORY", ""],
|
||||||
'off' : ["=format", "Output file format.", "", ""],
|
'off' : ["=format", "Output file format.", ""],
|
||||||
'style' : ["=name", "Style name.", "", ""],
|
'style' : ["=name", "Style name.", ""],
|
||||||
'papers' : ["=name", "Paper size name.", "", ""],
|
'papers' : ["=name", "Paper size name.", ""],
|
||||||
'papero' : ["=num", "Paper orientation number.", "", ""],
|
'papero' : ["=num", "Paper orientation number.", ""],
|
||||||
'template' : ["=name", "Template name (HTML only).", "", ""],
|
'template' : ["=name", "Template name (HTML only).", ""],
|
||||||
}
|
}
|
||||||
|
|
||||||
if noopt:
|
if noopt:
|
||||||
return
|
return
|
||||||
|
|
||||||
self.option_class.handler.output = self.options_dict['of']
|
self.options_help['of'][2] = os.path.join(const.USER_HOME,
|
||||||
self.options_help['of'].append(os.path.join(const.USER_HOME,
|
"whatever_name")
|
||||||
"whatever_name"))
|
|
||||||
|
|
||||||
if self.category == CATEGORY_TEXT:
|
if self.category == CATEGORY_TEXT:
|
||||||
print len(_textdoc_list), _textdoc_list
|
|
||||||
print len(self.options_dict), self.options_dict
|
|
||||||
for item in _textdoc_list:
|
|
||||||
print len(item), item
|
|
||||||
if item[6] == self.options_dict['off']:
|
|
||||||
self.format = item[1]
|
|
||||||
if self.format is None:
|
|
||||||
# Pick the first one as the default.
|
|
||||||
self.format = _textdoc_list[0][1]
|
|
||||||
self.options_help['off'][2] = \
|
self.options_help['off'][2] = \
|
||||||
[ item[6] for item in _textdoc_list ]
|
[ item[6] for item in _textdoc_list ]
|
||||||
self.options_help['off'][3] = False
|
|
||||||
elif self.category == CATEGORY_DRAW:
|
elif self.category == CATEGORY_DRAW:
|
||||||
for item in _drawdoc_list:
|
|
||||||
if item[6] == self.options_dict['off']:
|
|
||||||
self.format = item[1]
|
|
||||||
if self.format is None:
|
|
||||||
# Pick the first one as the default.
|
|
||||||
self.format = _drawdoc_list[0][1]
|
|
||||||
self.options_help['off'][2] = \
|
self.options_help['off'][2] = \
|
||||||
[ item[6] for item in _drawdoc_list ]
|
[ item[6] for item in _drawdoc_list ]
|
||||||
self.options_help['off'][3] = False
|
|
||||||
elif self.category == CATEGORY_BOOK:
|
elif self.category == CATEGORY_BOOK:
|
||||||
for item in _bookdoc_list:
|
|
||||||
if item[6] == self.options_dict['off']:
|
|
||||||
self.format = item[1]
|
|
||||||
if self.format is None:
|
|
||||||
# Pick the first one as the default.
|
|
||||||
self.format = _bookdoc_list[0][1]
|
|
||||||
self.options_help['off'][2] = \
|
self.options_help['off'][2] = \
|
||||||
[ item[6] for item in _bookdoc_list ]
|
[ item[6] for item in _bookdoc_list ]
|
||||||
self.options_help['off'][3] = False
|
|
||||||
else:
|
else:
|
||||||
self.format = None
|
self.options_help['off'][2] = "NA"
|
||||||
|
|
||||||
for paper in paper_sizes:
|
|
||||||
if paper.get_name() == self.options_dict['papers']:
|
|
||||||
self.paper = paper
|
|
||||||
self.option_class.handler.set_paper(self.paper)
|
|
||||||
self.options_help['papers'][2] = \
|
self.options_help['papers'][2] = \
|
||||||
[ paper.get_name() for paper in paper_sizes
|
[ paper.get_name() for paper in paper_sizes
|
||||||
if paper.get_name() != _("Custom Size") ]
|
if paper.get_name() != _("Custom Size") ]
|
||||||
self.options_help['papers'][3] = False
|
|
||||||
|
|
||||||
self.orien = self.options_dict['papero']
|
|
||||||
self.options_help['papero'][2] = [
|
self.options_help['papero'][2] = [
|
||||||
"%d\tPortrait" % BaseDoc.PAPER_PORTRAIT,
|
"%d\tPortrait" % BaseDoc.PAPER_PORTRAIT,
|
||||||
"%d\tLandscape" % BaseDoc.PAPER_LANDSCAPE ]
|
"%d\tLandscape" % BaseDoc.PAPER_LANDSCAPE ]
|
||||||
self.options_help['papero'][3] = False
|
|
||||||
|
|
||||||
self.template_name = self.options_dict['template']
|
|
||||||
self.options_help['template'][2] = os.path.join(const.USER_HOME,
|
self.options_help['template'][2] = os.path.join(const.USER_HOME,
|
||||||
"whatever_name")
|
"whatever_name")
|
||||||
|
|
||||||
@ -217,14 +184,9 @@ class CommandLineReport:
|
|||||||
|
|
||||||
# Read all style sheets available for this item
|
# Read all style sheets available for this item
|
||||||
style_file = self.option_class.handler.get_stylesheet_savefile()
|
style_file = self.option_class.handler.get_stylesheet_savefile()
|
||||||
self.style_list = BaseDoc.StyleSheetList(style_file,default_style)
|
self.style_list = BaseDoc.StyleSheetList(style_file, default_style)
|
||||||
|
|
||||||
# Get the selected stylesheet
|
|
||||||
style_name = self.option_class.handler.get_default_stylesheet_name()
|
|
||||||
self.selected_style = self.style_list.get_style_sheet(style_name)
|
|
||||||
|
|
||||||
self.options_help['style'][2] = self.style_list.get_style_names()
|
self.options_help['style'][2] = self.style_list.get_style_names()
|
||||||
self.options_help['style'][3] = False
|
|
||||||
|
|
||||||
def init_report_options(self):
|
def init_report_options(self):
|
||||||
"""
|
"""
|
||||||
@ -246,7 +208,6 @@ class CommandLineReport:
|
|||||||
person.get_gramps_id(),
|
person.get_gramps_id(),
|
||||||
name_displayer.display(person)))
|
name_displayer.display(person)))
|
||||||
self.options_help[name].append(id_list)
|
self.options_help[name].append(id_list)
|
||||||
self.options_help[name].append(False)
|
|
||||||
elif isinstance(option, PluginUtils.FamilyOption):
|
elif isinstance(option, PluginUtils.FamilyOption):
|
||||||
id_list = []
|
id_list = []
|
||||||
for fhandle in self.database.get_family_handles():
|
for fhandle in self.database.get_family_handles():
|
||||||
@ -267,45 +228,35 @@ class CommandLineReport:
|
|||||||
(family.get_gramps_id(), fname, mname)
|
(family.get_gramps_id(), fname, mname)
|
||||||
id_list.append(text)
|
id_list.append(text)
|
||||||
self.options_help[name].append(id_list)
|
self.options_help[name].append(id_list)
|
||||||
self.options_help[name].append(False)
|
|
||||||
elif isinstance(option, PluginUtils.NoteOption):
|
elif isinstance(option, PluginUtils.NoteOption):
|
||||||
id_list = []
|
id_list = []
|
||||||
for nhandle in self.database.get_note_handles():
|
for nhandle in self.database.get_note_handles():
|
||||||
note = self.database.get_note_from_handle(nhandle)
|
note = self.database.get_note_from_handle(nhandle)
|
||||||
id_list.append(note.get_gramps_id())
|
id_list.append(note.get_gramps_id())
|
||||||
self.options_help[name].append(id_list)
|
self.options_help[name].append(id_list)
|
||||||
self.options_help[name].append(False)
|
|
||||||
elif isinstance(option, PluginUtils.MediaOption):
|
elif isinstance(option, PluginUtils.MediaOption):
|
||||||
id_list = []
|
id_list = []
|
||||||
for mhandle in self.database.get_media_object_handles():
|
for mhandle in self.database.get_media_object_handles():
|
||||||
mobject = self.database.get_object_from_handle(mhandle)
|
mobject = self.database.get_object_from_handle(mhandle)
|
||||||
id_list.append(mobject.get_gramps_id())
|
id_list.append(mobject.get_gramps_id())
|
||||||
self.options_help[name].append(id_list)
|
self.options_help[name].append(id_list)
|
||||||
self.options_help[name].append(False)
|
|
||||||
elif isinstance(option, PluginUtils.PersonListOption):
|
elif isinstance(option, PluginUtils.PersonListOption):
|
||||||
self.options_help[name].append("")
|
self.options_help[name].append("")
|
||||||
self.options_help[name].append(False)
|
|
||||||
elif isinstance(option, PluginUtils.NumberOption):
|
elif isinstance(option, PluginUtils.NumberOption):
|
||||||
self.options_help[name].append("A number")
|
self.options_help[name].append("A number")
|
||||||
self.options_help[name].append(False)
|
|
||||||
elif isinstance(option, PluginUtils.BooleanOption):
|
elif isinstance(option, PluginUtils.BooleanOption):
|
||||||
self.options_help[name].append(["0\tno", "1\tyes"])
|
self.options_help[name].append(["0\tno", "1\tyes"])
|
||||||
self.options_help[name].append(False)
|
|
||||||
elif isinstance(option, PluginUtils.DestinationOption):
|
elif isinstance(option, PluginUtils.DestinationOption):
|
||||||
self.options_help[name].append("A file system path")
|
self.options_help[name].append("A file system path")
|
||||||
self.options_help[name].append(False)
|
|
||||||
elif isinstance(option, PluginUtils.StringOption):
|
elif isinstance(option, PluginUtils.StringOption):
|
||||||
self.options_help[name].append("Any text")
|
self.options_help[name].append("Any text")
|
||||||
self.options_help[name].append(False)
|
|
||||||
elif isinstance(option, PluginUtils.TextOption):
|
elif isinstance(option, PluginUtils.TextOption):
|
||||||
self.options_help[name].append("Any text")
|
self.options_help[name].append("Any text")
|
||||||
self.options_help[name].append(False)
|
|
||||||
elif isinstance(option, PluginUtils.EnumeratedListOption):
|
elif isinstance(option, PluginUtils.EnumeratedListOption):
|
||||||
ilist = []
|
ilist = []
|
||||||
for (value, description) in option.get_items():
|
for (value, description) in option.get_items():
|
||||||
ilist.append("%s\t%s" % (value, description))
|
ilist.append("%s\t%s" % (value, description))
|
||||||
self.options_help[name].append(ilist)
|
self.options_help[name].append(ilist)
|
||||||
self.options_help[name].append(False)
|
|
||||||
else:
|
else:
|
||||||
print "Unknown option: ", option
|
print "Unknown option: ", option
|
||||||
|
|
||||||
@ -316,18 +267,69 @@ class CommandLineReport:
|
|||||||
if not hasattr(self.option_class, "menu"):
|
if not hasattr(self.option_class, "menu"):
|
||||||
return
|
return
|
||||||
menu = self.option_class.menu
|
menu = self.option_class.menu
|
||||||
|
menu_opt_names = menu.get_all_option_names()
|
||||||
for opt in self.options_str_dict.keys():
|
for opt in self.options_str_dict.keys():
|
||||||
if opt in self.options_dict.keys():
|
if opt in self.options_dict.keys():
|
||||||
converter = Utils.get_type_converter(self.options_dict[opt])
|
converter = Utils.get_type_converter(self.options_dict[opt])
|
||||||
self.options_dict[opt] = converter(self.options_str_dict[opt])
|
self.options_dict[opt] = converter(self.options_str_dict[opt])
|
||||||
self.option_class.handler.options_dict[opt] = \
|
self.option_class.handler.options_dict[opt] = \
|
||||||
self.options_dict[opt]
|
self.options_dict[opt]
|
||||||
option = menu.get_option_by_name(opt)
|
|
||||||
option.set_value(self.options_dict[opt])
|
if opt in menu_opt_names:
|
||||||
|
option = menu.get_option_by_name(opt)
|
||||||
|
option.set_value(self.options_dict[opt])
|
||||||
|
|
||||||
else:
|
else:
|
||||||
print "Ignoring unknown option: %s" % opt
|
print "Ignoring unknown option: %s" % opt
|
||||||
|
|
||||||
|
self.option_class.handler.output = self.options_dict['of']
|
||||||
|
|
||||||
|
pmgr = PluginUtils.PluginManager.get_instance()
|
||||||
|
|
||||||
|
if self.category == CATEGORY_TEXT:
|
||||||
|
for item in pmgr.get_text_doc_list():
|
||||||
|
if item[7] == self.options_dict['off']:
|
||||||
|
self.format = item[1]
|
||||||
|
if self.format is None:
|
||||||
|
# Pick the first one as the default.
|
||||||
|
self.format = pmgr.get_text_doc_list()[0][1]
|
||||||
|
elif self.category == CATEGORY_DRAW:
|
||||||
|
for item in pmgr.get_draw_doc_list():
|
||||||
|
if item[6] == self.options_dict['off']:
|
||||||
|
self.format = item[1]
|
||||||
|
if self.format is None:
|
||||||
|
# Pick the first one as the default.
|
||||||
|
self.format = pmgr.get_draw_doc_list()[0][1]
|
||||||
|
elif self.category == CATEGORY_BOOK:
|
||||||
|
for item in pmgr.get_book_doc_list():
|
||||||
|
if item[6] == self.options_dict['off']:
|
||||||
|
self.format = item[1]
|
||||||
|
if self.format is None:
|
||||||
|
# Pick the first one as the default.
|
||||||
|
self.format = pmgr.get_book_doc_list()[0][1]
|
||||||
|
else:
|
||||||
|
self.format = None
|
||||||
|
|
||||||
|
for paper in paper_sizes:
|
||||||
|
if paper.get_name() == self.options_dict['papers']:
|
||||||
|
self.paper = paper
|
||||||
|
self.option_class.handler.set_paper(self.paper)
|
||||||
|
|
||||||
|
self.orien = self.options_dict['papero']
|
||||||
|
self.template_name = self.options_dict['template']
|
||||||
|
|
||||||
|
if self.category in (CATEGORY_TEXT, CATEGORY_DRAW):
|
||||||
|
default_style = BaseDoc.StyleSheet()
|
||||||
|
self.option_class.make_default_style(default_style)
|
||||||
|
|
||||||
|
# Read all style sheets available for this item
|
||||||
|
style_file = self.option_class.handler.get_stylesheet_savefile()
|
||||||
|
self.style_list = BaseDoc.StyleSheetList(style_file,default_style)
|
||||||
|
|
||||||
|
# Get the selected stylesheet
|
||||||
|
style_name = self.option_class.handler.get_default_stylesheet_name()
|
||||||
|
self.selected_style = self.style_list.get_style_sheet(style_name)
|
||||||
|
|
||||||
def show_options(self):
|
def show_options(self):
|
||||||
"""
|
"""
|
||||||
Print available options on the CLI.
|
Print available options on the CLI.
|
||||||
@ -357,12 +359,8 @@ class CommandLineReport:
|
|||||||
print " Available values are:"
|
print " Available values are:"
|
||||||
vals = self.options_help[self.show][2]
|
vals = self.options_help[self.show][2]
|
||||||
if isinstance(vals, (list, tuple)):
|
if isinstance(vals, (list, tuple)):
|
||||||
if self.options_help[self.show][3]:
|
for val in vals:
|
||||||
for num in range(len(vals)):
|
print " %s" % val
|
||||||
print " %d\t%s" % (num,vals[num])
|
|
||||||
else:
|
|
||||||
for val in vals:
|
|
||||||
print " %s" % val
|
|
||||||
else:
|
else:
|
||||||
print " %s" % self.options_help[self.show][2]
|
print " %s" % self.options_help[self.show][2]
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user