Пример #1
0
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)
Пример #2
0
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)
Пример #3
0
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()
Пример #4
0
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()
Пример #5
0
    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)
Пример #6
0
    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)