Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(604)

Unified Diff: third_party/pyscss/scss/tool.py

Issue 9111023: Pyscss is obsolete with Dart CSS complier; remove all pyscss code. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Remove pyparsing from .gitignore Created 8 years, 12 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « third_party/pyscss/scss/tests/test_variables.py ('k') | third_party/pyscss/scss/value.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: third_party/pyscss/scss/tool.py
diff --git a/third_party/pyscss/scss/tool.py b/third_party/pyscss/scss/tool.py
deleted file mode 100644
index 8d94bd77ea88b7af08de913747bbb995db486605..0000000000000000000000000000000000000000
--- a/third_party/pyscss/scss/tool.py
+++ /dev/null
@@ -1,235 +0,0 @@
-""" Command-line tool to parse scss file.
-"""
-import optparse
-import sys, os
-import time
-
-from os.path import abspath, dirname, join, normpath
-
-COMMANDS = ['import', 'option', 'mixin', 'include', 'for', 'if', 'else']
-
-
-def complete(text, state):
- """ Auto complete scss constructions
- in interactive mode.
- """
- for cmd in COMMANDS:
- if cmd.startswith(text):
- if not state:
- return cmd
- else:
- state -= 1
-
-def main(argv=None):
- from scss import parser, VERSION
-
- try:
- # Upgrade shell in interactive mode
- import atexit
- import readline
- history = os.path.join(os.environ['HOME'], ".scss-history")
- atexit.register(readline.write_history_file, history)
- readline.parse_and_bind("tab: complete")
- readline.set_completer(complete)
- readline.read_history_file(history)
- except ( ImportError, IOError ):
- pass
-
- # Create options
- p = optparse.OptionParser(
- usage="%prog [OPTION]... [INFILE] [OUTFILE] [DARTCLASS]",
- version="%prog " + VERSION,
- epilog="SCSS compiler.",
- description="Compile INFILE or standard input, to OUTFILE or standard output, if --dart specified DARTCLASS is the dart file name and class name.")
-
- p.add_option(
- '-c', '--cache', action='store_true', dest='cache',
- help="Create and use cache file. Only for files.")
-
- p.add_option(
- '-i', '--interactive', action='store_true', dest='shell',
- help="Run in interactive shell mode.")
-
- p.add_option(
- '-m', '--compress', action='store_true', dest='compress',
- help="Compress css output.")
-
- p.add_option(
- '-d', '--dart', action='store_true', dest='dart',
- help="Pre-process css output css file and dart class file.")
-
- p.add_option(
- '-w', '--watch', dest='watch',
- help="""Watch files or directories for changes.
-The location of the generated CSS can be set using a colon:
- scss -w input.scss:output.css
-""")
-
- p.add_option(
- '-S', '--no-sorted', action='store_false', dest='sort',
- help="Do not sort declaration.")
-
- p.add_option(
- '-C', '--no-comments', action='store_false', dest='comments',
- help="Clear css comments.")
-
- p.add_option(
- '-W', '--no-warnings', action='store_false', dest='warn',
- help="Disable warnings.")
-
- opts, args = p.parse_args(argv or sys.argv[1:])
- precache = opts.cache
-
- # TODO(terry): Handle dart option in interactive shell.
- # Interactive mode
- if opts.shell:
- p = parser.Stylesheet()
- print 'SCSS v. %s interactive mode' % VERSION
- print '================================'
- print 'Ctrl+D or quit for exit'
- while True:
- try:
- s = raw_input('>>> ').strip()
- if s == 'quit':
- raise EOFError
- print p.loads(s)
- except (EOFError, KeyboardInterrupt):
- print '\nBye bye.'
- break
-
- sys.exit()
-
- # Watch mode
- elif opts.watch:
- self, target = opts.watch.partition(':')
- files = []
- if not os.path.exists(self):
- print >> sys.stderr, "Path don't exist: %s" % self
- sys.exit(1)
-
- if os.path.isdir(self):
- for f in os.listdir(self):
- path = os.path.join(self, f)
- if os.path.isfile(path) and f.endswith('.scss'):
- tpath = os.path.join(target or self, f[:-5] + '.css')
- files.append([ path, tpath, 0 ])
- else:
- files.append([ self, target or self[:-5] + '.css', 0 ])
-
- s = parser.Stylesheet(
- options=dict(
- comments = opts.comments,
- compress = opts.compress,
- dart = opts.dart,
- warn = opts.warn,
- sort = opts.sort,
- cache = precache,
- ))
-
- def parse(f):
- infile, outfile, mtime = f
- ttime = os.path.getmtime(infile)
- if mtime < ttime:
- print " Parse '%s' to '%s' .. done" % ( infile, outfile )
- out = s.load(open(infile, 'r'))
- open(outfile, 'w').write(out)
- f[2] = os.path.getmtime(outfile)
-
- print 'SCSS v. %s watch mode' % VERSION
- print '================================'
- print 'Ctrl+C for exit\n'
- while True:
- try:
- for f in files:
- parse(f)
- time.sleep(0.3)
- except OSError:
- pass
- except KeyboardInterrupt:
- print "\nSCSS stoped."
- break
-
- sys.exit()
-
- # Default compile files
- elif not args:
- infile = sys.stdin
- outfile = sys.stdout
- precache = False
-
- elif len(args) == 1:
- try:
- infile = open(args[0], 'r')
- outfile = sys.stdout
- except IOError, e:
- sys.stderr.write(str(e))
- sys.exit()
-
- elif len(args) == 2 or len(args) == 3:
- try:
- infile = open(os.path.abspath(args[0]), 'r')
- outfile = open(os.path.abspath(args[1]), 'w')
- except IOError, e:
- sys.stderr.write(str(e))
- sys.exit()
- else:
- p.print_help(sys.stdout)
- sys.exit()
-
- try:
- s = parser.Stylesheet(
- options=dict(
- comments = opts.comments,
- compress = opts.compress,
- dart = opts.dart,
- warn = opts.warn,
- sort = opts.sort,
- cache = precache,
- ))
- if (opts.dart and len(args) == 3):
- try:
- dartClass = args[2]
- dartfn = os.path.abspath('%s.dart' % dartClass)
- dartfile = open(dartfn, 'w')
- except IOError, e:
- sys.stderr.write(str(e))
- sys.exit()
-
- # Parse the scss file.
- nodes = s.loadReturnNodes(infile)
-
- # Add the main CSS file to list of files pre-processed.
- s.addInclude(args[0], nodes)
-
- # Write out CSS file.
- print 'Generating CSS file %s' % os.path.abspath(args[1])
-
- cssIncludes = []
- # Output all includes first.
- for include in s.scssIncludes:
- cssIncludes.append(
- '/* ---------- Included %s file ---------- */\n\n' % include[0])
- cssIncludes.append(''.join(map(str, include[1])))
-
- outfile.write('/* File generated by SCSS from source %s\n' % args[0])
- outfile.write(' * Do not edit.\n')
-
- outfile.write(' */\n\n%s' % ''.join(cssIncludes))
-
- #Write out dart class file.
- dartfile.write(s.dartClass(args[0], dartClass, s.scssIncludes))
- print 'Generating Dart Class %s' % dartfn
- else:
- outfile.write(s.load(infile))
- except ValueError, e:
- raise SystemExit(e)
-
-
-if __name__ == '__main__':
- # Setup PYTHONPATH when starting tool (from main) to needed modules.
- TOOL_PATH = dirname(dirname(abspath(__file__)))
- THIRDPARTY_PATH = normpath('{0}/..'.format(TOOL_PATH))
- sys.path.append(join(THIRDPARTY_PATH, 'pyparsing/src'))
- sys.path.append(TOOL_PATH)
-
- main()
« no previous file with comments | « third_party/pyscss/scss/tests/test_variables.py ('k') | third_party/pyscss/scss/value.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698