Minify on backend
This commit is contained in:
Executable
+69
@@ -0,0 +1,69 @@
|
||||
#!/usr/bin/env python
|
||||
"""Retrieve all CSS stylesheets including embedded for a given URL.
|
||||
Retrieve as StyleSheetList or save to disk - raw, parsed or minified version.
|
||||
|
||||
TODO:
|
||||
- maybe use DOM 3 load/save?
|
||||
- logger class which handles all cases when no log is given...
|
||||
- saveto: why does urllib2 hang?
|
||||
"""
|
||||
__all__ = ['CSSCapture']
|
||||
__docformat__ = 'restructuredtext'
|
||||
__version__ = '$Id$'
|
||||
|
||||
from cssutils.script import CSSCapture
|
||||
import logging
|
||||
import optparse
|
||||
import sys
|
||||
|
||||
def main(args=None):
|
||||
usage = "usage: %prog [options] URL"
|
||||
parser = optparse.OptionParser(usage=usage)
|
||||
parser.add_option('-d', '--debug', action='store_true', dest='debug',
|
||||
help='show debug messages during capturing')
|
||||
parser.add_option('-m', '--minified', action='store_true', dest='minified',
|
||||
help='saves minified version of captured files')
|
||||
parser.add_option('-n', '--notsave', action='store_true', dest='notsave',
|
||||
help='if given files are NOT saved, only log is written')
|
||||
# parser.add_option('-r', '--saveraw', action='store_true', dest='saveraw',
|
||||
# help='if given saves raw css otherwise cssutils\' parsed files')
|
||||
parser.add_option('-s', '--saveto', action='store', dest='saveto',
|
||||
help='saving retrieved files to "saveto", defaults to "_CSSCapture_SAVED"')
|
||||
parser.add_option('-u', '--useragent', action='store', dest='ua',
|
||||
help='useragent to use for request of URL, default is urllib2s default')
|
||||
options, url = parser.parse_args()
|
||||
|
||||
# TODO:
|
||||
options.saveraw = False
|
||||
|
||||
if not url:
|
||||
parser.error('no URL given')
|
||||
else:
|
||||
url = url[0]
|
||||
|
||||
if options.debug:
|
||||
level = logging.DEBUG
|
||||
else:
|
||||
level = logging.INFO
|
||||
|
||||
# START
|
||||
c = CSSCapture(ua=options.ua, defaultloglevel=level)
|
||||
|
||||
stylesheetlist = c.capture(url)
|
||||
|
||||
if options.notsave is None or not options.notsave:
|
||||
if options.saveto:
|
||||
saveto = options.saveto
|
||||
else:
|
||||
saveto = u'_CSSCapture_SAVED'
|
||||
c.saveto(saveto, saveraw=options.saveraw, minified=options.minified)
|
||||
else:
|
||||
for i, s in enumerate(stylesheetlist):
|
||||
print u'''%s.
|
||||
encoding: %r
|
||||
title: %r
|
||||
href: %r''' % (i + 1, s.encoding, s.title, s.href)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
sys.exit(main())
|
||||
Reference in New Issue
Block a user