#!/usr/bin/env python from __future__ import absolute_import from __future__ import print_function from lib.css_parser import parse, CssParserException import os import sys import glob try: import lister from typing import cast, Callable, Dict, Iterable, List except ImportError as e: print("ImportError: {}".format(e)) print("You need to run the Zulip linters inside a Zulip dev environment.") print("If you are using Vagrant, you can `vagrant ssh` to enter the Vagrant guest.") sys.exit(1) def validate(fn): # type: (str) -> None text = open(fn).read() section_list = parse(text) if text != section_list.text(): print('BOO! %s broken' % (fn,)) open('foo.txt', 'w').write(section_list.text()) os.system('diff %s foo.txt' % (fn,)) sys.exit(1) def check_our_files(): # type: () -> None fns = glob.glob('static/styles/*.css') for fn in fns: try: validate(fn) except CssParserException as e: print('CssParserException raised while parsing file %s' % (fn,)) print(e) sys.exit(1) if __name__ == '__main__': check_our_files()