Пример #1
0
    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(),
        )
Пример #2
0
    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    }')
Пример #3
0
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')
Пример #4
0
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')
Пример #5
0
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")
Пример #6
0
    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
Пример #7
0
    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 
Пример #8
0
    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())
Пример #11
0
    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())
Пример #12
0
    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())
Пример #13
0
    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:
Пример #14
0
    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)