Exemple #1
0
def convert_stream():
    import sys
    try:
        print clevercss.convert(sys.stdin.read())
    except (ParserError, EvalException), e:
        sys.stderr.write('Error: %s\n' % e)
        sys.exit(1)
Exemple #2
0
def main():
    # This is *a little* ugly, but ISTM there are no really great solutions here.
    # Pick your poision, sort of.
    clevercss.Parser.sprite_map_cls = clevercss.AnnotatingSpriteMap
    
    # Run the file through the parser so the annotater catches it all.
    fname = sys.argv[1]
    clevercss.convert(open(fname, "U").read(), fname=fname)
    
    # Then extract the sprite names. Should probably add output options here.
    for smap, sprites in clevercss.AnnotatingSpriteMap.all_used_sprites():
        map_name = smap.map_fname.to_string(None)
        sprite_names = " ".join(s.name for s in sprites)
        print "%s: %s" % (map_name, sprite_names)
def get_clever_css(title):
    title = title.strip('"')

    try:
        sheet = Stylesheet.objects.get(title=title)
    except Stylesheet.DoesNotExist:
        raise template.TemplateSyntaxError('%s is an invalid stylesheet' % title)

    parse = False
    modified = None
    path = os.path.join(settings.MEDIA_ROOT, 'clevercss')
    file = '%s.css' % sheet.filename
    output = os.path.join(path, file)

    try:
        os.makedirs(path)
    except OSError:
        pass

    try:
        modified = datetime.fromtimestamp(os.path.getmtime(output))
    except OSError:
        pass

    if not modified or (modified and modified < sheet.date_updated):
        parse = True

    if parse:
        try:
            f = open(output, 'w')
            f.write(clevercss.convert(sheet.ccss))
            f.close()
        except IOError:
            raise template.TemplateSyntaxError('Failed to write %s' % output)
    return '%sclevercss/%s' % (settings.MEDIA_URL, file)
Exemple #4
0
def convert_many(files, options):
    for fname in files:
        target = fname.rsplit('.', 1)[0] + '.css'
        if fname == target:
            sys.stderr.write('Error: same name for '
                             'source and target file "%s".' % fname)
            sys.exit(2)
        elif options.no_overwrite and os.path.exists(target):
            sys.stderr.write('File exists (and --no-overwrite was used) "%s".' % target)
            sys.exit(3)

        src = open(fname)
        try:
            try:
                converted = clevercss.convert(src.read(), fname=fname)
            except (ParserError, EvalException), e:
                sys.stderr.write('Error in file %s: %s\n' % (fname, e))
                sys.exit(1)
            if options.minified:
                css = cssutils.CSSParser().parseString(converted)
                cssutils.ser.prefs.useMinified()
                converted = css.cssText
            dst = open(target, 'w')
            try:
                print 'Writing output to %s...' % target
                dst.write(converted)
            finally:
                dst.close()
        finally:
Exemple #5
0
def render_css(request, file):
    
    o = get_template(file)
    r = o.render({})
    x = clevercss.convert(r)
    
    return HttpResponse(x, mimetype="text/css")
Exemple #6
0
def convert_stream():
    import sys
    try:
        print(clevercss.convert(sys.stdin.read()))
    except (ParserError, EvalException) as e:
        sys.stderr.write('Error: %s\n' % e)
        sys.exit(1)
def do_clevercss(fn):
    '''
    Create css from ccss and return its path

    Requires settings.MEDIA_ROOT, settings.MEDIA_URL
    '''

    css_name = fn.rsplit('.', 1)[0]
    css_url = os.path.join(settings.MEDIA_URL, 'css', css_name +'.css')

    fn = os.path.join(settings.MEDIA_ROOT, 'css', fn)
    target = fn.rsplit('.', 1)[0] + '.css'

    if fn == target:
        sys.stderr.write('Error: same name for source and target file'
                         ' "%s".' % fn)
        sys.exit(2)

    # if css newer than ccss
    if not os.path.exists(fn) and os.path.getmtime(fn) < os.path.getmtime(target):
        # do nothing
        return css_url

    src = file(fn)
    try:
        try:
            converted = convert(src.read())
        except (ParserError, EvalException), e:
            sys.stderr.write('Error in file %s: %s\n' % (fn, e))
            sys.exit(1)
        dst = file(target, 'w')
        try:
            dst.write(converted)
        finally:
            dst.close()
Exemple #8
0
 def convert2(self):
     self.assertEqual(
         convert(
             '''body:
         background-color: $background_color
     ''', {'background_color': 'red.darken(10)'}),
         u'body {\n  background-color: #cc0000;\n}')
Exemple #9
0
	def _processCCSS( self, path ):
		"""Processes a CCSS file, minifying it if `cssmin` is installed.
		Requires `clevercss`"""
		data = self.app().load(path)
		data = clevercss.convert(data)
		if self.minify and cssmin: data = cssmin.cssmin(data)
		return data
Exemple #10
0
 def convert2(self):
     self.assertEqual(
         convert(
             '''body:
         background-color: $background_color
     ''', {'background_color': 'red.darken(10)'}),
         u'body {\n  background-color: #cc0000;\n}')
Exemple #11
0
def ConvertCcssFile(ccssPath, cssPath, targetDirName='', convertImports=True):
    def fixupImport(tdn, imps):
        imports = []
        for i in xrange(0, len(imps)):
            if imps[i].startswith('/'):
                imports.append(imps[i])
            else:
                imports.append(
                    ('/' +
                     os.path.join(tdn.strip('/'), imps[i]).strip('/')).replace(
                         PathCore, '').replace('/ui/',
                                               '/').replace('/cache/css', ''))
        return imports

    if not targetDirName:
        targetDirName = os.path.dirname(cssPath)
    if not os.path.isdir(targetDirName):
        os.makedirs(targetDirName)
    with open(ccssPath, 'r') as ccssFile:
        with open(cssPath, 'w') as cssFile:
            imports = []
            cssFile.write(
                '/* Auto-generated with CleverCSS from: ~' +
                ccssPath.replace(PathCore, '') + ' [' +
                util.GetDateTimeString() + '] */\n\n' + util.FixupCcss(
                    clevercss.convert(
                        util.PreprocessCcss(ccssFile.read(), imports)),
                    fixupImport(targetDirName, imports), not DEBUG))
            if convertImports:
                for imp in imports:
                    tp = (imp.startswith('/')
                          and MapPath('ui/' + imp.strip('/'))
                          or os.path.join(targetDirName, imp))
                    ConvertCcssFile(tp.replace('cache/css/', ''),
                                    tp.replace('.ccss', '.css'))
Exemple #12
0
 def process(resource):
     import clevercss
     data = resource.source_file.read_all()
     out = clevercss.convert(data)
     out_file = File(resource.source_file.path_without_extension + ".css")
     out_file.write(out)
     resource.source_file.delete()
Exemple #13
0
 def process(resource):
     import clevercss
     data = resource.source_file.read_all()
     out = clevercss.convert(data)
     out_file = File(resource.source_file.path_without_extension + ".css")
     out_file.write(out)
     resource.source_file.delete()
Exemple #14
0
    def test_import_line(self):
        """
      Tests the @import url() command. assumes the code is running in the main
      directory. (i.e. python -c 'from tests import *; main()' from the same
      dir as clevercss)
      """
        self.assertEqual(
            convert(
                dedent("""
      @import url(tests/example.ccss)

      div:
          color: $arg
      """)),
            dedent("""
      #test1 {
        color: blue;
      }

      #test2 {
        color: blue;
      }

      #test3 {
        color: blue;
      }

      div {
        color: blue;
      }""").strip())
Exemple #15
0
def eigen_test():
    import re

    rx = re.compile(r"Example::\n(.*?)__END__(?ms)")
    text = rx.search(clevercss.__doc__).group(1)
    ccss = "\n".join(line[8:].rstrip() for line in text.splitlines())
    return clevercss.convert(ccss)
Exemple #16
0
def convert_many(files, options):
    for fname in files:
        target = fname.rsplit('.', 1)[0] + '.css'
        if fname == target:
            sys.stderr.write('Error: same name for '
                             'source and target file "%s".' % fname)
            sys.exit(2)
        elif options.no_overwrite and os.path.exists(target):
            sys.stderr.write('File exists (and --no-overwrite was used) "%s".' % target)
            sys.exit(3)

        src = open(fname)
        try:
            try:
                converted = clevercss.convert(src.read(), fname=fname)
            except (ParserError, EvalException) as e:
                sys.stderr.write('Error in file %s: %s\n' % (fname, e))
                sys.exit(1)
            if options.minified:
                css = cssutils.CSSParser().parseString(converted)
                cssutils.ser.prefs.useMinified()
                converted = css.cssText
            dst = open(target, 'w')
            try:
                print('Writing output to %s...' % target)
                dst.write(converted)
            finally:
                dst.close()
        finally:
            src.close()
Exemple #17
0
    def simpleMacro(self):
        ccss = dedent(
            """
        def simple:
            color: red
            font-size: 3px+10px
        body:
            $simple
            width:200px
        .other:
            $simple
        """
        )
        css = dedent(
            """\
        body {
          color: red;
          font-size: 13px;
          width: 200px;
        }

        .other {
          color: red;
          font-size: 13px;
        }"""
        )
        self.assertEqual(convert(ccss), css)
Exemple #18
0
 def test_math(self):
     self.assertEqual(
         convert(
             dedent(
                 """
     div:
         margin: -2px -2px
         padding: 2px + 2px
         top: 1px+1
         left: 5+5px
         right: 4px-5px
         bottom: 0 - 5px
         text-shadow: 0px -1px 8px #fff
     """
             )
         ),
         dedent(
             """
     div {
       margin: -2px -2px;
       padding: 4px;
       top: 2px;
       left: 10px;
       right: -1px;
       bottom: -5px;
       text-shadow: 0px -1px 8px #ffffff;
     }"""
         ).strip(),
     )
Exemple #19
0
    def test_import_line(self):
      """
      Tests the @import url() command. assumes the code is running in the main
      directory. (i.e. python -c 'from tests import *; main()' from the same
      dir as clevercss)
      """
      self.assertEqual(convert(dedent("""
      @import url(clevercss/tests/example.ccss)
      
      div:
          color: $arg
      """)), dedent("""
      #test1 {
        color: blue;
      }

      #test2 {
        color: blue;
      }

      #test3 {
        color: blue;
      }
      
      div {
        color: blue;
      }""").strip())
Exemple #20
0
 def backstring(self):
     self.assertEqual(convert(dedent('''
     div.round:
         background-image: `-webkit-gradient(top left, bottom right, from(#fff), to(#000))`
     ''')), dedent('''\
     div.round {
       background-image: -webkit-gradient(top left, bottom right, from(#fff), to(#000));
     }'''))
Exemple #21
0
 def test_02_min_convert_colors(self):
     self.assertEqual(convert('''body:
         background-color: #ffff00
         color: #fffafa
         p:
             background-color: #ff0000
             color: khaki
     ''', minified=True),
     u'body{background-color:#ff0;color:snow}body p{background-color:red;color:khaki}')
Exemple #22
0
 def convert(self):
     self.assertEqual(
         convert(
             """body: 
         color: $color 
     """,
             {"color": "#eee"},
         ),
         u"body {\n  color: #eeeeee;\n}",
     )
Exemple #23
0
 def convert2(self):
     self.assertEqual(
         convert(
             """body:
         background-color: $background_color
     """,
             {"background_color": "red.darken(10)"},
         ),
         u"body {\n  background-color: #cc0000;\n}",
     )
Exemple #24
0
def convert():
    str = ''
    for file in files:
        str += open(file, 'r').read()
    try:
        open(sys.argv[1], 'w').write(clevercss.convert(str))
    except Exception as inst:
        print inst
        print type(inst)
        print inst.args
Exemple #25
0
 def get_css(self):
     print('called')
     filename = pkg_resources.resource_filename('fanart',
         'templates/style/style.ccss')
     css_context = dict(
         url=URLExpression('fanart:static', self.request.static_url),
         avatar_size=clevercss.expressions.Value(AVATAR_SIZE, 'px'),
     )
     return clevercss.convert(open(filename).read(), minified=False,
         fname=filename, context=css_context)
Exemple #26
0
 def backstring(self):
     self.assertEqual(
         convert(
             dedent('''
     div.round:
         background-image: `-webkit-gradient(top left, bottom right, from(#fff), to(#000))`
     ''')),
         dedent('''\
     div.round {
       background-image: -webkit-gradient(top left, bottom right, from(#fff), to(#000));
     }'''))
Exemple #27
0
 def test_02_min_convert_colors(self):
     self.assertEqual(
         convert('''body:
         background-color: #ffff00
         color: #fffafa
         p:
             background-color: #ff0000
             color: khaki
     ''',
                 minified=True),
         u'body{background-color:#ff0;color:snow}body p{background-color:red;color:khaki}'
     )
Exemple #28
0
 def test_multiline_rule(self):
     self.assertEqual(convert(dedent("""
     ul.item1 li.item1,
     ul.item2 li.item2,
     ul.item3 li.item3:
         font-weight: bold
     """)), dedent("""
     ul.item1 li.item1,
     ul.item2 li.item2,
     ul.item3 li.item3 {
       font-weight: bold;
     }""").strip())
Exemple #29
0
	def getCCSS( self, request, css ):
		import clevercss
		root = self.library
		if os.path.exists(os.path.join(root, "ccss", css)):
			path = os.path.join(root, "ccss", css)
		else:
			path = os.path.join(root, "css", css)
		if not self._inCache(path):
			text = self.app().load(path)
			text = self._toCache(path, clevercss.convert(text))
		else:
			text = self._fromCache(path)
		return request.respond(text, contentType="text/css")
Exemple #30
0
def hook_preconvert_ccss():
    """
    Обработка CleverCSS.  Файлы с расширением .ccss конвертируются в .css.
    """
    for ccss in glob.glob(os.path.join(input, "**.ccss")):
        css = ccss[len(input):].lstrip("/")
        css = "%s.css" % os.path.splitext(css)[0]
        css = os.path.join(output, css)
        fpi = open(ccss)
        fpo = open(css, 'w')
        fpo.write(clevercss.convert(fpi.read()))
        fpi.close()
        fpo.close()
Exemple #31
0
def build_css():
    total = []
    for filename in os.listdir(clever_path):
        path = os.path.join(clever_path, filename)
        with open(path) as file:
            if path.endswith('.clever'):
                total.append("\n/* %s */" % filename)
                total.append(clevercss.convert(file.read()))
            elif path.endswith('.css'):
                total.append("\n/* %s */" % filename)
                total.append(file.read())
    
    with open(result_path, 'w') as file:
        file.write("\n".join(total).strip())
Exemple #32
0
def compile():
    print " * Compiling CSS"
    total = []
    for filename in os.listdir(css):
        path = os.path.join(css, filename)
        with open(path) as file:
            if path.endswith('.clever'):
                total.append("\n/* %s */" % filename)
                total.append(clevercss.convert(file.read()))
            else:
                total.append("\n/* %s */" % filename)
                total.append(file.read())
    with open(os.path.join(static, 'style.css'), 'w') as file:
        file.write("\n".join(total).strip())
Exemple #33
0
 def test_multiline_rule(self):
     self.assertEqual(
         convert(
             dedent("""
     ul.item1 li.item1,
     ul.item2 li.item2,
     ul.item3 li.item3:
         font-weight: bold
     """)),
         dedent("""
     ul.item1 li.item1,
     ul.item2 li.item2,
     ul.item3 li.item3 {
       font-weight: bold;
     }""").strip())
Exemple #34
0
def _do_css():
    for out_file, in_files in CSS_FILES.iteritems():
        code = []
        for in_file in in_files['files']:
            f = open(os.path.join(IN_PATH_CSS, in_file))
            code.append('/* %s */\n\n' % (in_file))
            if in_file.endswith('ccss'):
                code.append(clevercss.convert(f.read(), CLEVERCSS_CONTEXT))
            else:
                code.append(f.read())
            code.append('\n\n')
            f.close()
        code = ''.join(code)
        if COMPRESS:
            code = minimalize(code, level=FULL)
        code = ('/* %s */\n\n' % in_files['comment']) + code
        f = open(os.path.join(OUT_PATH_CSS, out_file), 'w')
        f.write(code)
        f.close()
Exemple #35
0
def generate_css_from_ccss(context=None):
    """Parses CleverCSS source files in CLEVERCSS_SOURCE and generates CSS
    output, which is placed in CLEVERCSS_OUTPUT. Note that files beginning
    with an underscore will be ignored, as will any subdirectories."""
    # Get a list of CCSS files
    files = get_ccss_file_list()

    # If no context was passed, fetch one
    if isinstance(context, (str, unicode)):  # Passed a file, not a dict?
        use_context = ini_to_context(context)
    else:
        use_context = context or ini_to_context()

    outfiles = []

    # Loop over found files and process them
    for filename in files:
        # Try to read the source file, handle exceptions, etc.
        try:
            srcfile = open(filename, 'r')
        except IOError, msg:
            raise
        try:
            try:
                converted = clevercss.convert(srcfile.read(),
                                              use_context,
                                              fname=filename)
            except (ParserError, EvalException), msg:
                raise ValueError, "Error in file %s: %s" % (filename, msg)
        finally:
            srcfile.close()

        # Try to dump output into targetfile
        targetname = path.basename(filename.rsplit('.', 1)[0] + '.css')
        targetfile = path.join(CLEVERCSS_OUTPUT, targetname)
        try:
            outfile = open(targetfile, 'w')
            outfiles.append(targetfile)
        except IOError, msg:
            raise
def generate_css_from_ccss(context=None):
    """Parses CleverCSS source files in CLEVERCSS_SOURCE and generates CSS
    output, which is placed in CLEVERCSS_OUTPUT. Note that files beginning
    with an underscore will be ignored, as will any subdirectories."""
    # Get a list of CCSS files
    files = get_ccss_file_list()
    
    # If no context was passed, fetch one
    if isinstance(context, (str, unicode)): # Passed a file, not a dict?
        use_context = ini_to_context(context)
    else:
        use_context = context or ini_to_context()

    outfiles = []
    
    # Loop over found files and process them
    for filename in files:
        # Try to read the source file, handle exceptions, etc.
        try:
            srcfile = open(filename, 'r')
        except IOError, msg:
            raise
        try:
            try:
                converted = clevercss.convert(srcfile.read(), use_context,
                                              fname=filename)
            except (ParserError, EvalException), msg:
                    raise ValueError, "Error in file %s: %s" % (filename, msg)
        finally:
            srcfile.close()

        # Try to dump output into targetfile
        targetname = path.basename(filename.rsplit('.', 1)[0] + '.css')
        targetfile = path.join(CLEVERCSS_OUTPUT, targetname)
        try:
            outfile = open(targetfile, 'w')
            outfiles.append(targetfile)
        except IOError, msg:
            raise
Exemple #37
0
    def simpleMacro(self):
        ccss = dedent('''
        def simple:
            color: red
            font-size: 3px+10px
        body:
            $simple
            width:200px
        .other:
            $simple
        ''')
        css = dedent('''\
        body {
          color: red;
          font-size: 13px;
          width: 200px;
        }

        .other {
          color: red;
          font-size: 13px;
        }''')
        self.assertEqual(convert(ccss), css)
Exemple #38
0
 def test_math(self):
     self.assertEqual(
         convert(
             dedent("""
     div:
         margin: -2px -2px
         padding: 2px + 2px
         top: 1px+1
         left: 5+5px
         right: 4px-5px
         bottom: 0 - 5px
         text-shadow: 0px -1px 8px #fff
     """)),
         dedent("""
     div {
       margin: -2px -2px;
       padding: 4px;
       top: 2px;
       left: 10px;
       right: -1px;
       bottom: -5px;
       text-shadow: 0px -1px 8px #ffffff;
     }""").strip())
Exemple #39
0
	def getCCSS( self, request, paths ):
		response_data = ""
		if not self.cacheAggregates or not self._inCache(paths):
			result = []
			for path in paths.split("+"):
				root = self.library
				if os.path.exists(os.path.join(root, "ccss", path)):
					path = os.path.join(root, "ccss", path)
				else:
					path = os.path.join(root, "css", path)
				if not self._inCache(path):
					data = self.app().load(path)
					data = clevercss.convert(data)
					if self.minify and cssmin: data = cssmin.cssmin(data)
					self._toCache(path, data)
				else:
					data = self._fromCache(path)
				result.append(data)
			response_data = "\n".join(result)
			self._toCache(paths, response_data)
		else:
			response_data = self._fromCache(paths)
		return request.respond(response_data, contentType="text/css").compress(self.compress)
Exemple #40
0
 def getCCSS(self, request, paths):
     response_data = ""
     if not self.cacheAggregates or not self._inCache(paths):
         result = []
         for path in paths.split("+"):
             root = self.library
             if os.path.exists(os.path.join(root, "ccss", path)):
                 path = os.path.join(root, "ccss", path)
             else:
                 path = os.path.join(root, "css", path)
             if not self._inCache(path):
                 data = self.app().load(path)
                 data = clevercss.convert(data)
                 if self.minify and cssmin: data = cssmin.cssmin(data)
                 self._toCache(path, data)
             else:
                 data = self._fromCache(path)
             result.append(data)
         response_data = "\n".join(result)
         self._toCache(paths, response_data)
     else:
         response_data = self._fromCache(paths)
     return request.respond(response_data,
                            contentType="text/css").compress(self.compress)
Exemple #41
0
 def meta(self):
     a = clevercss.convert(ccss, indent=4)
     if a != css:
         print a
         print css
     self.assertEqual(a, css)
Exemple #42
0
def ConvertCcssFile(ccssPath, cssPath, targetDirName = '', convertImports = True):
	def fixupImport(tdn, imps):
		imports = []
		for i in xrange(0, len(imps)):
			if imps[i].startswith('/'):
				imports.append(imps[i])
			else:
				imports.append(('/' + os.path.join(tdn.strip('/'), imps[i]).strip('/')).replace(PathCore, '').replace('/ui/', '/').replace('/cache/css', ''))
		return imports
	if not targetDirName:
		targetDirName = os.path.dirname(cssPath)
	if not os.path.isdir(targetDirName):
		os.makedirs(targetDirName)
	with open(ccssPath, 'r') as ccssFile:
		with open(cssPath, 'w') as cssFile:
			imports = []
			cssFile.write('/* Auto-generated with CleverCSS from: ~' + ccssPath.replace(PathCore, '') + ' [' + util.GetDateTimeString() + '] */\n\n' + util.FixupCcss(clevercss.convert(util.PreprocessCcss(ccssFile.read(), imports)), fixupImport(targetDirName, imports), not DEBUG))
			if convertImports:
				for imp in imports:
					tp = (imp.startswith('/') and MapPath('ui/' + imp.strip('/')) or os.path.join(targetDirName, imp))
					ConvertCcssFile(tp.replace('cache/css/', ''), tp.replace('.ccss', '.css'))
Exemple #43
0
 def test_01_min_convert(self):
     self.assertEqual(
         convert('''body:
         color: $color
     ''', {'color': '#eee'},
                 minified=True), u'body{color:#eee}')
Exemple #44
0
 def _test_attr(self, attr, ccval, cssval):
     self.assertEqual(convert("body:\n  %s: %s\n" % (attr, ccval)), "body {\n  %s: %s;\n}" % (attr, cssval))
Exemple #45
0
 def test_02_min_convert(self):
     self.assertEqual(
         convert('''body:
         background-color: $background_color
     ''', {'background_color': 'red.darken(10)'},
                 minified=True), u'body{background-color:#c00}')
#!/usr/bin/env python
"""Extract the names of the sprites of each sprite map in a CleverCSS."""

import sys
import clevercss

# This is *a little* ugly, but ISTM there are no really great solutions here.
# Pick your poision, sort of.
clevercss.Parser.sprite_map_cls = clevercss.AnnotatingSpriteMap

# Run the file through the parser so the annotater catches it all.
fname = sys.argv[1]
clevercss.convert(open(fname, "U").read(), fname=fname)

# Then extract the sprite names. Should probably add output options here.
for smap, sprites in clevercss.AnnotatingSpriteMap.all_used_sprites():
    map_name = smap.map_fname.to_string(None)
    sprite_names = " ".join(s.name for s in sprites)
    print "%s: %s" % (map_name, sprite_names)

Exemple #47
0
def eigen_test():
    filename = os.path.join(os.path.dirname(__file__), 'eigentest.ccss')
    ccss = open(filename).read()
    return clevercss.convert(ccss)
Exemple #48
0
 def convert(self):
     self.assertEqual(
         convert('''body:
         color: $color
     ''', {'color': '#eee'}), u'body {\n  color: #eeeeee;\n}')
Exemple #49
0
 def test_01_convert(self):
     self.assertEqual(convert('''body: 
         color: $color 
     ''',{'color':'#eee'}),
     u'body {\n  color: #eeeeee;\n}')
Exemple #50
0
 def _test_attr(self, attr, ccval, cssval):
     self.assertEqual(convert('body:\n  %s: %s\n' % (attr, ccval)),
                      'body {\n  %s: %s;\n}' % (attr, cssval))
Exemple #51
0
 def get_output(self, variation):
     for input in self.get_input(variation):
         yield convert(input)
Exemple #52
0
 def process(resource):
     import clevercss
     data = resource.source_file.read_all()
     out = clevercss.convert(data)
     resource.source_file.write(out)
Exemple #53
0
 def input(self, **kwargs):
     if 'filename' in kwargs and kwargs['filename'].endswith('ccss'):
         return '@media screen {%s}' % clevercss.convert(self.content.replace('@media screen {', '')[:-1])
     return self.content
Exemple #54
0
 def convert_spritemap(self):
     self.assertEqual(
         convert(open('tests/example_sprites.ccss').read(),
                 fname='tests/example_sprites.ccss'), correct)
Exemple #55
0
def do_test():
    rx = re.compile(r'Example::\n(.*?)__END__(?ms)')
    text = rx.search(clevercss.__doc__).group(1)
    ccss = '\n'.join(line[8:].rstrip() for line in text.splitlines())
    return clevercss.convert(ccss)
Exemple #56
0
def do_test():
    rx = re.compile(r'Example::\n(.*?)__END__(?ms)')
    text = rx.search(clevercss.__doc__).group(1)
    ccss = '\n'.join(line[8:].rstrip() for line in text.splitlines())
    return clevercss.convert(ccss)
Exemple #57
0
 def get_dev_output(self, name, variation):
     content = super(CleverCSS, self).get_dev_output(name, variation)
     return convert(content)
Exemple #58
0
 def action(source, dest):
     with open(source, 'r') as s:
         if not os.path.exists(os.path.dirname(dest)):
             os.makedirs(os.path.dirname(dest))
         with open(dest, 'w') as d:
             d.write(clevercss.convert(s.read()))