#! /usr/bin/python import sys from optparse import OptionParser from creole.lint.creolelint import validate from creole.lint.ansiwriter import AnsiWriter def parse_cmdline(): parser = OptionParser() parser.add_option("-t", "--template", dest="tmpl", default=None, help="nom du template Creole") parser.add_option("-l", "--level", dest="writelevel", default='warning', help="level d'affichage des messages") parser.add_option("-n", "--name", dest="name", default=None, help="nom du lint a tester") parser.add_option("-d", "--dico-only", action="store_true", dest="only_on_dico", default=False, help="lint uniquement sur les dicos") return parser.parse_args() def main(): options, args = parse_cmdline() tmpl = options.tmpl writelevel = options.writelevel #if options.writelevel not in errorlevel.values(): # raise Exception('Niveau %s inconnu'% options.writelevel) only_on_template = False only_on_dico = options.only_on_dico if tmpl is not None: only_on_template = True if options.name: keywords = [options.name] writelevel = 'info' else: keywords = [] if not only_on_template: # keywords.extend(['orphans_def', # 'orphans_set', 'orphans_for', 'orphans_tmpl_files', # 'define', 'syntax_for', 'syntax_var', 'syntax_var2', # 'syntax_function', 'valid_client_option']) keywords.extend(['valid_dtd', 'wrong_dicos_name', 'tabs_in_dicos', 'hidden_if_in_dicos', 'condition_without_target', 'obligatoire_in_dicos', 'valid_slave_value', 'valid_var_label', 'valid_separator_label', 'valid_help_label', 'activation_var_without_help', 'family_without_help', 'family_without_icon', 'old_fw_file']) if not only_on_dico: keywords.extend(['valid_parse_tmpl']) keywords.append('builtins') ansi = AnsiWriter(writelevel) try: for keyword in keywords: validate(keyword, ansi, tmpl) except Exception, err: from traceback import print_exc print_exc() #print u"Erreur : {0}".format(err) sys.exit(1) main()