summaryrefslogtreecommitdiff
path: root/scss/compiler.py
diff options
context:
space:
mode:
authorEevee (Alex Munroe) <eevee.git@veekun.com>2014-08-24 14:09:59 -0700
committerEevee (Alex Munroe) <eevee.git@veekun.com>2014-08-24 14:09:59 -0700
commitb41d38fde7cc8ef995f8ca0c9dbc0b973ca6c9aa (patch)
treef9ef5ba74b1cbbdd5c159b9b2a77d40a946d00b7 /scss/compiler.py
parentc65d78ec66f24d8a5ee506c8b6568c2bbbcb6086 (diff)
downloadpyscss-b41d38fde7cc8ef995f8ca0c9dbc0b973ca6c9aa.tar.gz
Convert some deprecations into real warnings, not logs.
Diffstat (limited to 'scss/compiler.py')
-rw-r--r--scss/compiler.py26
1 files changed, 24 insertions, 2 deletions
diff --git a/scss/compiler.py b/scss/compiler.py
index 942de82..73fd84d 100644
--- a/scss/compiler.py
+++ b/scss/compiler.py
@@ -72,6 +72,20 @@ class OutputStyle(Enum):
legacy = () # ???
+class SassDeprecationWarning(UserWarning):
+ # Note: DO NOT inherit from DeprecationWarning; it's turned off by default
+ # in 2.7 and later!
+ pass
+
+
+def warn_deprecated(rule, message):
+ warnings.warn(
+ "{0} (at {1})".format(message, rule.file_and_line),
+ SassDeprecationWarning,
+ stacklevel=2,
+ )
+
+
class Compiler(object):
"""A Sass compiler. Stores settings and knows how to fire off a
compilation. Main entry point into compiling Sass.
@@ -421,12 +435,20 @@ class Compilation(object):
value = True
if key == 'compress':
- log.warn("The 'compress' @option is deprecated. Please use 'style' instead.")
+ warn_deprecated(
+ rule,
+ "The 'compress' @option is deprecated. "
+ "Please use 'style' instead."
+ )
key = 'style'
value = 'compressed' if value else 'legacy'
if key in ('short_colors', 'reverse_colors'):
- log.warn("The '{0}' @option no longer has any effect.".format(key))
+ warn_deprecated(
+ rule,
+ "The '{0}' @option no longer has any effect."
+ .format(key),
+ )
return
elif key == 'style':
try: