69 lines
2.4 KiB
Plaintext
69 lines
2.4 KiB
Plaintext
|
#! /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()
|