I am trying to test plone.formwidget.autocomplete 1.4.0 in Plone 5.2. I don't think this is a problem with the package per se, but it's exposing an issue with the sass compiler. This package includes two resources with JS that are to be compiled into a resource bundle. The way this appears to work is that installing the profile will be successful, with the resources not actually cooked until loading a view page. When that happens I get this error on CentOS 7
Traceback (most recent call last):
File "/sprj/btp_zope_plone5/plone-btp-dev-02/buildouts/eggs/plone.app.viewletmanager-3.1.0-py3.6.egg/plone/app/viewletmanager/manager.py", line 110, in render
html.append(viewlet.render())
File "/sprj/btp_zope_plone5/plone-btp-dev-02/buildouts/eggs/plone.app.layout-3.4.0-py3.6.egg/plone/app/layout/viewlets/common.py", line 73, in render
return self.index()
File "/sprj/btp_zope_plone5/plone-btp-dev-02/buildouts/eggs/Zope-4.1.3-py3.6.egg/Products/Five/browser/pagetemplatefile.py", line 126, in __call__
return self.__func__(__self__, *args, **kw)
File "/sprj/btp_zope_plone5/plone-btp-dev-02/buildouts/eggs/Zope-4.1.3-py3.6.egg/Products/Five/browser/pagetemplatefile.py", line 61, in __call__
sourceAnnotations=getattr(debug_flags, 'sourceAnnotations', 0),
File "/sprj/btp_zope_plone5/plone-btp-dev-02/buildouts/eggs/zope.pagetemplate-4.4.1-py3.6.egg/zope/pagetemplate/pagetemplate.py", line 135, in pt_render
strictinsert=0, sourceAnnotations=sourceAnnotations
File "/sprj/btp_zope_plone5/plone-btp-dev-02/buildouts/eggs/Zope-4.1.3-py3.6.egg/Products/PageTemplates/engine.py", line 88, in __call__
return self.template.render(**kwargs)
File "/sprj/btp_zope_plone5/plone-btp-dev-02/buildouts/eggs/z3c.pt-3.2.0-py3.6.egg/z3c/pt/pagetemplate.py", line 173, in render
return base_renderer(**context)
File "/sprj/btp_zope_plone5/plone-btp-dev-02/buildouts/eggs/Chameleon-3.6.2-py3.6.egg/chameleon/zpt/template.py", line 306, in render
return super(PageTemplate, self).render(**_kw)
File "/sprj/btp_zope_plone5/plone-btp-dev-02/buildouts/eggs/Chameleon-3.6.2-py3.6.egg/chameleon/template.py", line 209, in render
raise_with_traceback(exc, tb)
File "/sprj/btp_zope_plone5/plone-btp-dev-02/buildouts/eggs/Chameleon-3.6.2-py3.6.egg/chameleon/utils.py", line 75, in raise_with_traceback
raise exc
File "/sprj/btp_zope_plone5/plone-btp-dev-02/buildouts/eggs/Chameleon-3.6.2-py3.6.egg/chameleon/template.py", line 187, in render
self._render(stream, econtext, rcontext)
File "5e9c4b65b4d55a0f96197d2a454204db.py", line 94, in render
File "/sprj/btp_zope_plone5/plone-btp-dev-02/buildouts/eggs/Zope-4.1.3-py3.6.egg/Products/PageTemplates/expression.py", line 101, in __call__
return base()
File "/sprj/btp_zope_plone5/plone-btp-dev-02/buildouts/eggs/Products.CMFPlone-5.2.1-py3.6.egg/Products/CMFPlone/resources/browser/styles.py", line 110, in styles
result.extend(self.ordered_bundles_result(production=True))
File "/sprj/btp_zope_plone5/plone-btp-dev-02/buildouts/eggs/Products.CMFPlone-5.2.1-py3.6.egg/Products/CMFPlone/resources/browser/resource.py", line 232, in ordered_bundles_result
self.get_data(bundle, result)
File "/sprj/btp_zope_plone5/plone-btp-dev-02/buildouts/eggs/Products.CMFPlone-5.2.1-py3.6.egg/Products/CMFPlone/resources/browser/styles.py", line 57, in get_data
cookWhenChangingSettings(self.context, bundle)
File "/sprj/btp_zope_plone5/plone-btp-dev-02/buildouts/eggs/Products.CMFPlone-5.2.1-py3.6.egg/Products/CMFPlone/resources/browser/cook.py", line 99, in cookWhenChangingSettings
css = css_compiler.compile_string(css)
File "/sprj/btp_zope_plone5/plone-btp-dev-02/buildouts/eggs/pyScss-1.3.5-py3.6-linux-x86_64.egg/scss/compiler.py", line 217, in compile_string
return self.call_and_catch_errors(compilation.run)
File "/sprj/btp_zope_plone5/plone-btp-dev-02/buildouts/eggs/pyScss-1.3.5-py3.6-linux-x86_64.egg/scss/compiler.py", line 176, in call_and_catch_errors
return f(*args, **kwargs)
File "/sprj/btp_zope_plone5/plone-btp-dev-02/buildouts/eggs/pyScss-1.3.5-py3.6-linux-x86_64.egg/scss/compiler.py", line 296, in run
self.manage_children(rule, scope=None)
File "/sprj/btp_zope_plone5/plone-btp-dev-02/buildouts/eggs/pyScss-1.3.5-py3.6-linux-x86_64.egg/scss/compiler.py", line 349, in manage_children
self._manage_children_impl(rule, scope)
File "/sprj/btp_zope_plone5/plone-btp-dev-02/buildouts/eggs/pyScss-1.3.5-py3.6-linux-x86_64.egg/scss/compiler.py", line 398, in _manage_children_impl
self._nest_rules(rule, scope, block)
File "/sprj/btp_zope_plone5/plone-btp-dev-02/buildouts/eggs/pyScss-1.3.5-py3.6-linux-x86_64.egg/scss/compiler.py", line 1203, in _nest_rules
self.manage_children(new_rule, scope)
File "/sprj/btp_zope_plone5/plone-btp-dev-02/buildouts/eggs/pyScss-1.3.5-py3.6-linux-x86_64.egg/scss/compiler.py", line 349, in manage_children
self._manage_children_impl(rule, scope)
File "/sprj/btp_zope_plone5/plone-btp-dev-02/buildouts/eggs/pyScss-1.3.5-py3.6-linux-x86_64.egg/scss/compiler.py", line 383, in _manage_children_impl
self._get_properties(rule, scope, block)
File "/sprj/btp_zope_plone5/plone-btp-dev-02/buildouts/eggs/pyScss-1.3.5-py3.6-linux-x86_64.egg/scss/compiler.py", line 1090, in _get_properties
value = calculator.calculate(raw_value)
File "/sprj/btp_zope_plone5/plone-btp-dev-02/buildouts/eggs/pyScss-1.3.5-py3.6-linux-x86_64.egg/scss/calculator.py", line 116, in calculate
result = self.evaluate_expression(expression, divide=divide)
File "/sprj/btp_zope_plone5/plone-btp-dev-02/buildouts/eggs/pyScss-1.3.5-py3.6-linux-x86_64.egg/scss/calculator.py", line 134, in evaluate_expression
ast = self.parse_expression(expr)
File "/sprj/btp_zope_plone5/plone-btp-dev-02/buildouts/eggs/pyScss-1.3.5-py3.6-linux-x86_64.egg/scss/calculator.py", line 167, in parse_expression
ast = getattr(parser, target)()
File "/sprj/btp_zope_plone5/plone-btp-dev-02/buildouts/eggs/pyScss-1.3.5-py3.6-linux-x86_64.egg/scss/grammar/expression.py", line 110, in goal
expr_lst = self.expr_lst()
File "/sprj/btp_zope_plone5/plone-btp-dev-02/buildouts/eggs/pyScss-1.3.5-py3.6-linux-x86_64.egg/scss/grammar/expression.py", line 199, in expr_lst
expr_slst = self.expr_slst()
File "/sprj/btp_zope_plone5/plone-btp-dev-02/buildouts/eggs/pyScss-1.3.5-py3.6-linux-x86_64.egg/scss/grammar/expression.py", line 208, in expr_slst
or_expr = self.or_expr()
File "/sprj/btp_zope_plone5/plone-btp-dev-02/buildouts/eggs/pyScss-1.3.5-py3.6-linux-x86_64.egg/scss/grammar/expression.py", line 216, in or_expr
and_expr = self.and_expr()
File "/sprj/btp_zope_plone5/plone-btp-dev-02/buildouts/eggs/pyScss-1.3.5-py3.6-linux-x86_64.egg/scss/grammar/expression.py", line 225, in and_expr
not_expr = self.not_expr()
File "/sprj/btp_zope_plone5/plone-btp-dev-02/buildouts/eggs/pyScss-1.3.5-py3.6-linux-x86_64.egg/scss/grammar/expression.py", line 234, in not_expr
_token_ = self._peek(self.argspec_item_chks)
File "/sprj/btp_zope_plone5/plone-btp-dev-02/buildouts/eggs/pyScss-1.3.5-py3.6-linux-x86_64.egg/scss/grammar/scanner.py", line 141, in _peek
tok = self._scanner.token(self._pos, types)
scss.errors.SassSyntaxError: scss.errors.SassSyntaxError: Syntax error: Found '0 px ' but expected one of ADD, ALPHA_FUNCTION, BANG_IMPORTANT, BAREWORD, COLOR, DOUBLE_QUOTE, FNCT, IF_FUNCTION, INTERP_START, LITERAL_FUNCTION, LPAR, NOT, NUM, SIGN, SINGLE_QUOTE, URL_FUNCTION, VAR
I do NOT get this error when testing locally in MacOS. Obviously something is different in these environments but I was unable to find any list of requirements for this. Anyone know? I did also try modifying the css file in question to see if it was choking on any particular format, but I couldn't get it to compile on anything other than an empty string.
One workaround would be to precompile this on my mac and use this instead of building the bundle on install. I'd like to fix the sass compiling if possible though.