def cl_book(database, name, book, options_str_dict): """ function to actually run the selected book, which in turn runs whatever reports the book has in it """ clr = CommandLineReport(database, name, CATEGORY_BOOK, ReportOptions, options_str_dict) # Exit here if show option was given if clr.show: return # write report doc = clr.format(None, PaperStyle(clr.paper, clr.orien, clr.marginl, clr.marginr, clr.margint, clr.marginb)) user = User() rptlist = [] selected_style = StyleSheet() for item in book.get_item_list(): # The option values were loaded magically by the book parser. # But they still need to be applied to the menu options. opt_dict = item.option_class.options_dict menu = item.option_class.menu for optname in opt_dict: menu_option = menu.get_option_by_name(optname) if menu_option: menu_option.set_value(opt_dict[optname]) item.option_class.set_document(doc) report_class = item.get_write_item() obj = (write_book_item(database, report_class, item.option_class, user), item.get_translated_name()) if obj: append_styles(selected_style, item) rptlist.append(obj) doc.set_style_sheet(selected_style) doc.open(clr.option_class.get_output()) doc.init() newpage = 0 err_msg = _("Failed to make '%s' report.") try: for (rpt, name) in rptlist: if newpage: doc.page_break() newpage = 1 rpt.begin_report() rpt.write_report() doc.close() except ReportError as msg: (msg1, msg2) = msg.messages() print(err_msg % name, file=sys.stderr) # which report has the error? print(msg1, file=sys.stderr) if msg2: print(msg2, file=sys.stderr)
def cl_book(database, name, book, options_str_dict): """ function to actually run the selected book, which in turn runs whatever reports the book has in it """ clr = CommandLineReport(database, name, CATEGORY_BOOK, ReportOptions, options_str_dict) # Exit here if show option was given if clr.show: return # write report doc = clr.format( None, PaperStyle(clr.paper, clr.orien, clr.marginl, clr.marginr, clr.margint, clr.marginb)) user = User() rptlist = [] selected_style = StyleSheet() for item in book.get_item_list(): # The option values were loaded magically by the book parser. # But they still need to be applied to the menu options. opt_dict = item.option_class.options_dict menu = item.option_class.menu for optname in opt_dict: menu_option = menu.get_option_by_name(optname) if menu_option: menu_option.set_value(opt_dict[optname]) item.option_class.set_document(doc) report_class = item.get_write_item() obj = (write_book_item(database, report_class, item.option_class, user), item.get_translated_name()) if obj: append_styles(selected_style, item) rptlist.append(obj) doc.set_style_sheet(selected_style) doc.open(clr.option_class.get_output()) doc.init() newpage = 0 err_msg = _("Failed to make '%s' report.") try: for (rpt, name) in rptlist: if newpage: doc.page_break() newpage = 1 rpt.begin_report() rpt.write_report() doc.close() except ReportError as msg: (msg1, msg2) = msg.messages() print(err_msg % name, file=sys.stderr) # which report has the error? print(msg1, file=sys.stderr) if msg2: print(msg2, file=sys.stderr)
def cl_book(database, name, book, options_str_dict): clr = CommandLineReport(database, name, CATEGORY_BOOK, ReportOptions, options_str_dict) # Exit here if show option was given if clr.show: return # write report doc = clr.format( None, PaperStyle(clr.paper, clr.orien, clr.marginl, clr.marginr, clr.margint, clr.marginb)) user = User() rptlist = [] selected_style = StyleSheet() for item in book.get_item_list(): # The option values were loaded magically by the book parser. # But they still need to be applied to the menu options. opt_dict = item.option_class.options_dict menu = item.option_class.menu for optname in opt_dict: menu_option = menu.get_option_by_name(optname) if menu_option: menu_option.set_value(opt_dict[optname]) item.option_class.set_document(doc) report_class = item.get_write_item() obj = write_book_item(database, report_class, item.option_class, user) if obj: append_styles(selected_style, item) rptlist.append(obj) doc.set_style_sheet(selected_style) doc.open(clr.option_class.get_output()) doc.init() newpage = 0 for rpt in rptlist: if newpage: doc.page_break() newpage = 1 rpt.begin_report() rpt.write_report() doc.close()
def cl_book(database, name, book, options_str_dict): clr = CommandLineReport(database, name, CATEGORY_BOOK, ReportOptions, options_str_dict) # Exit here if show option was given if clr.show: return # write report doc = clr.format(None, PaperStyle(clr.paper, clr.orien, clr.marginl, clr.marginr, clr.margint, clr.marginb)) user = User() rptlist = [] selected_style = StyleSheet() for item in book.get_item_list(): # The option values were loaded magically by the book parser. # But they still need to be applied to the menu options. opt_dict = item.option_class.options_dict menu = item.option_class.menu for optname in opt_dict: menu_option = menu.get_option_by_name(optname) if menu_option: menu_option.set_value(opt_dict[optname]) item.option_class.set_document(doc) report_class = item.get_write_item() obj = write_book_item(database, report_class, item.option_class, user) if obj: append_styles(selected_style, item) rptlist.append(obj) doc.set_style_sheet(selected_style) doc.open(clr.option_class.get_output()) doc.init() newpage = 0 for rpt in rptlist: if newpage: doc.page_break() newpage = 1 rpt.begin_report() rpt.write_report() doc.close()
def make_document(self): """Create a document of the type requested by the user.""" user = User(uistate=self.uistate) self.rptlist = [] selected_style = StyleSheet() pstyle = self.paper_frame.get_paper_style() self.doc = self.format(None, pstyle) for item in self.book.get_item_list(): item.option_class.set_document(self.doc) report_class = item.get_write_item() obj = write_book_item(self.database, report_class, item.option_class, user) self.rptlist.append(obj) append_styles(selected_style, item) self.doc.set_style_sheet(selected_style) self.doc.open(self.target_path)
def make_document(self): """Create a document of the type requested by the user.""" user = User() self.rptlist = [] selected_style = StyleSheet() pstyle = self.paper_frame.get_paper_style() self.doc = self.format(None, pstyle) for item in self.book.get_item_list(): item.option_class.set_document(self.doc) report_class = item.get_write_item() obj = write_book_item(self.database, report_class, item.option_class, user) self.rptlist.append(obj) append_styles(selected_style, item) self.doc.set_style_sheet(selected_style) self.doc.open(self.target_path)