コード例 #1
0
ファイル: function.py プロジェクト: bopopescu/Dart-1
def _type_of(obj, **kwargs):
    if isinstance(obj, BooleanValue):
        return StringValue('bool')
    if isinstance(obj, NumberValue):
        return StringValue('number')
    if isinstance(obj, QuotedStringValue):
        return StringValue('string')
    if isinstance(obj, ColorValue):
        return StringValue('color')
    if isinstance(obj, dict):
        return StringValue('list')
    return 'unknown'
コード例 #2
0
ファイル: function.py プロジェクト: bopopescu/Dart-1
def _inline_image(image, mimetype=None, **kwargs):
    root = kwargs.get('root')
    path = os.path.abspath(
        os.path.join(root.get_opt('path'),
                     StringValue(image).value))
    if os.path.exists(path):
        mimetype = StringValue(mimetype).value or mimetypes.guess_type(path)[0]
        f = open(path, 'rb')
        url = 'data:' + mimetype + ';base64,' + base64.b64encode(f.read())
    else:
        if root and root.get_opt('warn'):
            warn("Not found image: %s" % path)
        url = '%s?_=NA' % QuotedStringValue(image).value
    inline = 'url("%s")' % url
    return StringValue(inline)
コード例 #3
0
ファイル: function.py プロジェクト: bopopescu/Dart-1
def _image_height(image, **kwargs):
    root = kwargs.get('root')
    path = os.path.abspath(
        os.path.join(root.get_opt('path'),
                     StringValue(image).value))
    size = __get_size(path, root=root)
    return NumberValue([size[1], 'px'])
コード例 #4
0
ファイル: function.py プロジェクト: bopopescu/Dart-1
def _headings(a=None, b=None, **kwargs):
    h = ['h1', 'h2', 'h3', 'h4', 'h5', 'h6']
    if not a or StringValue(a).value == 'all':
        a, b = 1, 6
    elif b is None:
        b, a = a.value + 1, 1
    return ', '.join(h[int(float(a) - 1):int(float(b))])
コード例 #5
0
class Variable(Value, ParseNode):

    def_value = StringValue('none')

    @classmethod
    def _do_op(cls, self, other, op):
        return self.value._do_op(self.value, other, op)

    @classmethod
    def _do_cmps(cls, self, other, op):
        return self.value._do_cmps(self.value, other, op)

    def __nonzero__(self):
        return True

    @property
    def value(self):
        name = self.data[0].strip('-$')
        minus = self.data[0][0] == '-'
        value = self.ctx.get(name) or self.root.ctx.get(name, self.def_value)
        return (0 - value) if minus else value
コード例 #6
0
ファイル: function.py プロジェクト: bopopescu/Dart-1
def _minmax(n1, n2, **kwargs):
    return StringValue('minmax({0},{1})'.format(n1, n2))
コード例 #7
0
ファイル: function.py プロジェクト: bopopescu/Dart-1
def _nest(*args, **kwargs):
    return ', '.join(' '.join(
        s.strip()
        for s in p) if not '&' in p[1] else p[1].replace('&', p[0].strip())
                     for p in product(*(StringValue(sel).value.split(',')
                                        for sel in args)))
コード例 #8
0
ファイル: function.py プロジェクト: bopopescu/Dart-1
def _enumerate(s, b, e, **kwargs):
    return ', '.join("%s%d" % (StringValue(s).value, x)
                     for x in xrange(int(b.value), int(e.value + 1)))
コード例 #9
0
ファイル: function.py プロジェクト: bopopescu/Dart-1
def _elements_of_type(display, **kwargs):
    return StringValue(ELEMENTS_OF_TYPE.get(StringValue(display).value, ''))
コード例 #10
0
ファイル: function.py プロジェクト: bopopescu/Dart-1
def _unquote(*args, **kwargs):
    return StringValue(' '.join(str(s).strip("\"'") for s in args))
コード例 #11
0
ファイル: parser.py プロジェクト: pombredanne/python-scss
 def __str__(self):
     """ Write to output.
     """
     return ''.join(StringValue(n).value for n in self.data)