def lint(args):
logger.process('Parsing Source Reference...')
elems = Strings.parsing_elems(filename=args.file, encoding='utf8' if args.utf8 else None)
logger.process('Check Duplicate Keys...')
duplicates = []
for item, count in collections.Counter([e[0] for e in elems]).items():
if count > 1:
duplicates.append((item, count))
if duplicates:
table = []
table_file = []
logger.info('Find the following:')
for key, count in duplicates:
table.append([key, count])
for elem in elems:
if elem[0] == key:
table_file.append([elem[2], elem[0], elem[1]])
logger.info(tabulate(table, headers=['Key', 'Count'], showindex='always', tablefmt="orgtbl"))
logger.debug('Detail:')
logger.debug(tabulate(table_file, headers=['Line', 'Key', 'Value'], tablefmt="orgtbl"))
logger.error('Duplicate Keys')
exit(1)
logger.success('lint success')
评论列表
文章目录