summaryrefslogtreecommitdiff
path: root/scss/expression.py
diff options
context:
space:
mode:
authorEevee (Alex Munroe) <eevee.git@veekun.com>2013-08-02 17:13:08 -0700
committerEevee (Alex Munroe) <eevee.git@veekun.com>2013-08-02 17:13:08 -0700
commit2f035f1767107fd28a7f453485399e9b44b1de04 (patch)
tree6464ae49b0b962aa466e8e399c02998bc4134019 /scss/expression.py
parent01c8fab5f31fd01a3d5c72e48839351c7e46b78c (diff)
downloadpyscss-2f035f1767107fd28a7f453485399e9b44b1de04.tar.gz
Python 3 compatibility, at least with syntax and builtins.
Adds our very first dependency, on `six`.
Diffstat (limited to 'scss/expression.py')
-rw-r--r--scss/expression.py14
1 files changed, 8 insertions, 6 deletions
diff --git a/scss/expression.py b/scss/expression.py
index 65eb4b3..6bd2bec 100644
--- a/scss/expression.py
+++ b/scss/expression.py
@@ -5,6 +5,8 @@ import logging
import operator
import re
+import six
+
import scss.config as config
from scss.cssdefs import COLOR_NAMES, is_builtin_css_function, _expr_glob_re, _interpolate_re, _variable_re
from scss.types import BooleanValue, ColorValue, ListValue, Null, NumberValue, ParserValue, String
@@ -54,7 +56,7 @@ class Calculator(object):
return cont
def apply_vars(self, cont):
- if isinstance(cont, basestring) and '$' in cont:
+ if isinstance(cont, six.string_types) and '$' in cont:
try:
# Optimization: the full cont is a variable in the context,
cont = self.namespace.variable(cont)
@@ -93,7 +95,7 @@ class Calculator(object):
# TODO only used by magic-import...?
def interpolate(self, var):
value = self.namespace.variable(var)
- if var != value and isinstance(value, basestring):
+ if var != value and isinstance(value, six.string_types):
_vi = self.evaluate_expression(value)
if _vi is not None:
value = _vi
@@ -103,7 +105,7 @@ class Calculator(object):
def evaluate_expression(self, expr):
results = None
- if not isinstance(expr, basestring):
+ if not isinstance(expr, six.string_types):
results = expr
if results is None:
@@ -112,7 +114,7 @@ class Calculator(object):
except KeyError:
pass
- if not isinstance(expr, basestring):
+ if not isinstance(expr, six.string_types):
results = expr
ast = None
@@ -128,7 +130,7 @@ class Calculator(object):
except SyntaxError:
if config.DEBUG:
raise
- except Exception, e:
+ except Exception:
# TODO hoist me up since the rule is gone
#log.exception("Exception raised: %s in `%s' (%s)", e, expr, rule.file_and_line)
if config.DEBUG:
@@ -310,7 +312,7 @@ class Variable(Expression):
raise
return self.name
else:
- if isinstance(value, basestring):
+ if isinstance(value, six.string_types):
evald = calculator.evaluate_expression(value)
if evald is not None:
return evald