def __call__(self, parser, namespace, values, option_string):

        if (not values or values == "elp"): # in case of -help: seen as -h elp
            helptext = helptext_prolog()
            helptext += parser.format_help()

            run_pager(helptext)
            parser.exit()

        thefilter = values

        from bibolamazi.core.bibfilter import factory
        try:
            helptext = factory.format_filter_help(thefilter);
            run_pager(helptext);
            parser.exit();
        except factory.NoSuchFilter as e:
            logger.error(unicode(e))
            parser.exit();
        except factory.NoSuchFilterPackage as e:
            logger.error(unicode(e))
            parser.exit();
        except Exception as e:
            logger.error(unicode(e))
            parser.exit();
Beispiel #2
0
    def makeHelpTopicTab(self, pathitems):
        if (not len(pathitems)):
            logger.warning("makeHelpTopicTab(): No Path specified!")
            return

        font = settingswidget.get_typewriter_font(self)

        if (pathitems[0] == 'filters'):
            if (len(pathitems) < 2):
                logger.warning("makeHelpTopicTab(): No filter specified!!")
                return
            filtname = pathitems[1]

            tb = QTextBrowser(self.ui.tabs)
            tb.setFont(font)
            tb.setText(filters_factory.format_filter_help(filtname))

            tb.setProperty('HelpTabTitle', '%s filter' %(filtname))
            tb.setProperty('HelpTabToolTip', filters_factory.get_filter_class(filtname).getHelpDescription())
            return tb

        if (pathitems[0] == 'general'):
            if (len(pathitems) < 2):
                logger.warning("makeHelpTopicTab(): No help topic general page specified!!")
                return

            tb = QTextBrowser(self.ui.tabs)
            tb.setFont(font)

            if pathitems[1] == 'welcome':
                tb.setPlainText(HELP_WELCOME)
                tb.setProperty('HelpTabTitle', 'Welcome')
            elif pathitems[1] == 'version':
                tb.setPlainText(argparseactions.helptext_prolog())
                tb.setProperty('HelpTabTitle', 'Version')
            elif pathitems[1] == 'cmdline':
                tb.setPlainText(argparseactions.helptext_prolog() +
                                bibolamazimain.get_args_parser().format_help())
                tb.setProperty('HelpTabTitle', 'Command-Line Help')
            elif pathitems[1] == 'filter-list':
                tb.setPlainText(argparseactions.help_list_filters())
                tb.setProperty('HelpTabTitle', 'Filter List')
            else:
                tb.setPlainText('<Unknown help page>')
                tb.setProperty('HelpTabTitle', '<Unknown>')

            tb.setProperty('HelpTabToolTip', '')
            return tb
                
        logger.warning("makeHelpTopicTab(): Unknown help topic: %r", "/".join(pathitems))
        return None