def test_combine_resolveVariables(self): "scripts.csscombine(minify=..., resolveVariables=...)" # no actual imports but checking if minify and resolveVariables work cssText = ''' @variables { c: #0f0; } a { color: var(c); } ''' # default minify self.assertEqual( csscombine(cssText=cssText, resolveVariables=False), '@variables{c:#0f0}a{color:var(c)}'.encode(), ) self.assertEqual(csscombine(cssText=cssText), 'a{color:#0f0}'.encode()) # no minify self.assertEqual( csscombine(cssText=cssText, minify=False, resolveVariables=False), '@variables {\n c: #0f0\n }\na {\n color: var(c)\n }'. encode(), ) self.assertEqual( csscombine(cssText=cssText, minify=False), 'a {\n color: #0f0\n }'.encode(), )
def test_combine_resolveVariables(self): "scripts.csscombine(minify=..., resolveVariables=...)" # no actual imports but checking if minify and resolveVariables work cssText = ''' @variables { c: #0f0; } a { color: var(c); } ''' # default minify self.assertEqual(csscombine(cssText=cssText, resolveVariables=False), '@variables{c:#0f0}a{color:var(c)}') self.assertEqual(csscombine(cssText=cssText), 'a{color:#0f0}') # no minify self.assertEqual(csscombine(cssText=cssText, minify=False, resolveVariables=False), '@variables {\n c: #0f0\n }\n' 'a {\n color: var(c)\n }') self.assertEqual(csscombine(cssText=cssText, minify=False), 'a {\n color: #0f0\n }')
def main(args=None): usage = "usage: %prog [options] [path]" parser = optparse.OptionParser(usage=usage) parser.add_option('-u', '--url', action='store', dest='url', help='URL to parse (path is ignored if URL given)') parser.add_option('-s', '--sourceencoding', action='store', dest='sourceencoding', help='encoding of input, defaulting to "css". If given overwrites other encoding information like @charset declarations') parser.add_option('-t', '--targetencoding', action='store', dest='targetencoding', help='encoding of output, defaulting to "UTF-8"', default='utf-8') parser.add_option('-m', '--minify', action='store_true', dest='minify', default=False, help='saves minified version of combined files, defaults to False') options, path = parser.parse_args() if options.url: print(csscombine(url=options.url, sourceencoding=options.sourceencoding, targetencoding=options.targetencoding, minify=options.minify)) elif path: print(csscombine(path=path[0], sourceencoding=options.sourceencoding, targetencoding=options.targetencoding, minify=options.minify)) else: parser.error('no path or URL (-u) given')
def main(args=None): usage = "usage: %prog [options] [path]" parser = optparse.OptionParser(usage=usage) parser.add_option('-u', '--url', action='store', dest='url', help='URL to parse (path is ignored if URL given)') parser.add_option('-s', '--sourceencoding', action='store', dest='sourceencoding', help='encoding of input, defaulting to "css". If given overwrites other encoding information like @charset declarations') parser.add_option('-t', '--targetencoding', action='store', dest='targetencoding', help='encoding of output, defaulting to "UTF-8"', default='utf-8') parser.add_option('-m', '--minify', action='store_true', dest='minify', default=False, help='saves minified version of combined files, defaults to False') options, path = parser.parse_args() if options.url: print csscombine(url=options.url, sourceencoding=options.sourceencoding, targetencoding=options.targetencoding, minify=options.minify) elif path: print csscombine(path=path[0], sourceencoding=options.sourceencoding, targetencoding=options.targetencoding, minify=options.minify) else: parser.error('no path or URL (-u) given')
def main(args=None): usage = "usage: %prog [options] [path]" parser = optparse.OptionParser(usage=usage) parser.add_option("-u", "--url", action="store", dest="url", help="URL to parse (path is ignored if URL given)") parser.add_option( "-s", "--sourceencoding", action="store", dest="sourceencoding", help='encoding of input, defaulting to "css". If given overwrites other encoding information like @charset declarations', ) parser.add_option( "-t", "--targetencoding", action="store", dest="targetencoding", help='encoding of output, defaulting to "UTF-8"', default="utf-8", ) parser.add_option( "-m", "--minify", action="store_true", dest="minify", default=False, help="saves minified version of combined files, defaults to False", ) options, path = parser.parse_args() if options.url: print csscombine( url=options.url, sourceencoding=options.sourceencoding, targetencoding=options.targetencoding, minify=options.minify, ) elif path: print csscombine( path=path[0], sourceencoding=options.sourceencoding, targetencoding=options.targetencoding, minify=options.minify, ) else: parser.error("no path or URL (-u) given")
def test_combine(self): "scripts.csscombine" # path, SHOULD be keyword argument! csspath = os.path.join(os.path.dirname(__file__), '..', '..', 'sheets', 'csscombine-proxy.css') combined = csscombine(csspath) self.assertEqual(combined, self.C) combined = csscombine(path=csspath, targetencoding='ascii') self.assertEqual(combined, '@charset "ascii";' + self.C) # url cssurl = cssutils.helper.path2url(csspath) combined = csscombine(url=cssurl) self.assertEqual(combined, self.C) combined = csscombine(url=cssurl, targetencoding='ascii') self.assertEqual(combined, '@charset "ascii";' + self.C) cssutils.log.raiseExceptions = True
def test_combine(self): "scripts.csscombine()" # path, SHOULD be keyword argument! csspath = basetest.get_sheet_filename('csscombine-proxy.css') combined = csscombine(csspath) self.assertEqual(combined, self.C.encode()) combined = csscombine(path=csspath, targetencoding='ascii') self.assertEqual(combined, ('@charset "ascii";' + self.C).encode()) # url cssurl = cssutils.helper.path2url(csspath) combined = csscombine(url=cssurl) self.assertEqual(combined, self.C.encode()) combined = csscombine(url=cssurl, targetencoding='ascii') self.assertEqual(combined, ('@charset "ascii";' + self.C).encode()) # cssText # TODO: really need binary or can handle str too? f = open(csspath, mode="rb") cssText = f.read() f.close() combined = csscombine(cssText=cssText, href=cssurl) self.assertEqual(combined, self.C.encode()) combined = csscombine(cssText=cssText, href=cssurl, targetencoding='ascii') self.assertEqual(combined, ('@charset "ascii";' + self.C).encode())
def test_combine(self): "scripts.csscombine()" # path, SHOULD be keyword argument! csspath = os.path.join(os.path.dirname(__file__), '..', '..', 'sheets', 'csscombine-proxy.css') combined = csscombine(csspath) self.assertEqual(combined, self.C) combined = csscombine(path=csspath, targetencoding='ascii') self.assertEqual(combined, '@charset "ascii";' + self.C) # url cssurl = cssutils.helper.path2url(csspath) combined = csscombine(url=cssurl) self.assertEqual(combined, self.C) combined = csscombine(url=cssurl, targetencoding='ascii') self.assertEqual(combined, '@charset "ascii";' + self.C) # cssText cssText=open(csspath).read() combined = csscombine(cssText=cssText, href=cssurl) self.assertEqual(combined, self.C) combined = csscombine(cssText=cssText, href=cssurl, targetencoding='ascii') self.assertEqual(combined, '@charset "ascii";' + self.C)
def test_combine(self): "scripts.csscombine()" # path, SHOULD be keyword argument! csspath = os.path.join(os.path.dirname(__file__), '..', '..', '..', 'sheets', 'csscombine-proxy.css') combined = csscombine(csspath) self.assertEqual(combined, self.C.encode()) combined = csscombine(path=csspath, targetencoding='ascii') self.assertEqual(combined, ('@charset "ascii";' + self.C).encode()) # url cssurl = cssutils.helper.path2url(csspath) combined = csscombine(url=cssurl) self.assertEqual(combined, self.C.encode()) combined = csscombine(url=cssurl, targetencoding='ascii') self.assertEqual(combined, ('@charset "ascii";' + self.C).encode()) # cssText # TODO: really need binary or can handle str too? f = open(csspath, mode="rb") cssText=f.read() f.close() combined = csscombine(cssText=cssText, href=cssurl) self.assertEqual(combined, self.C.encode()) combined = csscombine(cssText=cssText, href=cssurl, targetencoding='ascii') self.assertEqual(combined, ('@charset "ascii";' + self.C).encode())
def test_combine(self): "scripts.csscombine()" # path, SHOULD be keyword argument! csspath = os.path.join(os.path.dirname(__file__), '..', '..', 'sheets', 'csscombine-proxy.css') combined = csscombine(csspath) self.assertEqual(combined, self.C.encode()) combined = csscombine(path=csspath, targetencoding='ascii') self.assertEqual(combined, ('@charset "ascii";' + self.C).encode()) # url cssurl = cssutils.helper.path2url(csspath) combined = csscombine(url=cssurl) self.assertEqual(combined, self.C.encode()) combined = csscombine(url=cssurl, targetencoding='ascii') self.assertEqual(combined, ('@charset "ascii";' + self.C).encode()) # cssText # TODO: really need binary or can handle str too? cssText = open(csspath, mode="rb").read() combined = csscombine(cssText=cssText, href=cssurl) self.assertEqual(combined, self.C.encode()) combined = csscombine(cssText=cssText, href=cssurl, targetencoding='ascii') self.assertEqual(combined, ('@charset "ascii";' + self.C).encode())
def test_combine_resolveVariables(self): "scripts.csscombine(minify=..., resolveVariables=...)" # no actual imports but checking if minify and resolveVariables work cssText = """ @variables { c: #0f0; } a { color: var(c); } """ # default minify self.assertEqual( csscombine(cssText=cssText, resolveVariables=False), "@variables{c:#0f0}a{color:var(c)}".encode() ) self.assertEqual(csscombine(cssText=cssText), "a{color:#0f0}".encode()) # no minify self.assertEqual( csscombine(cssText=cssText, minify=False, resolveVariables=False), "@variables {\n c: #0f0\n }\na {\n color: var(c)\n }".encode(), ) self.assertEqual(csscombine(cssText=cssText, minify=False), "a {\n color: #0f0\n }".encode())
href = None print(name, href) s = cssutils.parseFile(name, href=href, media='screen', title='from file') print(0, s) print(1, s.cssRules[0].styleSheet) print(2, s.cssRules[0].styleSheet.cssText) sys.exit(0) if 1: from cssutils.script import csscombine #a = csscombine(url='http://localhost/css.css', targetencoding='iso-8859-1', minify=False) print() b = csscombine(r"E:\xampp\htdocs\css.css", targetencoding='iso-8859-1', minify=False) #print a print(b) sys.exit(0) if 1: css = '''@page :left { @top-left {x:1} left: 0; @top-right {x:1} top: 0}''' css = '''@page :left { opacity: 0}''' s = cssutils.parseString(css) style = s.cssRules[0].style print(s.cssText) sys.exit(1) if 1:
macros = {'my-font': predef[profile.CSS_LEVEL_2]['family-name'], 'identifier': predef[profile.CSS_LEVEL_2]['identifier']} props = {'f': '{my-font}'} cssutils.profile.addProfile('my-font-profile', props, macros) print cssutils.parseString('''a { f: 1; /* 1 is invalid! */ f: Arial; }''').cssText sys.exit(0) if 1: from cssutils.script import csscombine #a = csscombine(url='http://localhost/css.css', targetencoding='iso-8859-1', minify=False) print b = csscombine(r"E:\xampp\htdocs\css.css", targetencoding='iso-8859-1', minify=False) #print a print b sys.exit(0) if 1: css = '''@page :left { @top-left {x:1} left: 0; @top-right {x:1} top: 0}''' css = '''@page :left { opacity: 0}''' s = cssutils.parseString(css) style = s.cssRules[0].style print s.cssText sys.exit(1)