← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1454823] [NEW] Error on compress: AttributeError: 'FileSystemStorage' object has no attribute 'prefix'

 

Public bug reported:

I have found that in some stable/kilo environments it is not possible to
compress js/css.

drf@drf-VirtualBox:~/horizon$ .venv/bin/python manage.py compress --force
RemovedInDjango18Warning: 'The `firstof` template tag is changing to escape its arguments; the non-autoescaping version is deprecated. Load it from the `future` tag library to start using the new behavior.
WARNING:py.warnings:RemovedInDjango18Warning: 'The `firstof` template tag is changing to escape its arguments; the non-autoescaping version is deprecated. Load it from the `future` tag library to start using the new behavior.
RemovedInDjango18Warning: 'The `cycle` template tag is changing to escape its arguments; the non-autoescaping version is deprecated. Load it from the `future` tag library to start using the new behavior.
WARNING:py.warnings:RemovedInDjango18Warning: 'The `cycle` template tag is changing to escape its arguments; the non-autoescaping version is deprecated. Load it from the `future` tag library to start using the new behavior.
Found 'compress' tags in:
	/home/drf/horizon/horizon/templates/horizon/_scripts.html
	/home/drf/horizon/horizon/templates/horizon/_conf.html
	/home/drf/horizon/openstack_dashboard/templates/_stylesheets.html
Compressing... CommandError: An error occured during rendering /home/drf/horizon/openstack_dashboard/templates/_stylesheets.html: Error parsing block:

[the entire output of the file
openstack_dashboard/static/dashboard/scss/horizon.scss is dumped here,
I've removed it]

>From <string u'// Pure CSS Vendor\n@import "/horizon/lib/bootstrap'...>:0
Traceback:
  File "/home/drf/horizon/.venv/local/lib/python2.7/site-packages/scss/__init__.py", line 498, in manage_children
    self._manage_children_impl(rule, scope)
  File "/home/drf/horizon/.venv/local/lib/python2.7/site-packages/scss/__init__.py", line 548, in _manage_children_impl
    self._do_import(rule, scope, block)
  File "/home/drf/horizon/.venv/local/lib/python2.7/site-packages/django_pyscss/scss.py", line 118, in _do_import
    source_file = self._find_source_file(name, relative_to)
  File "/home/drf/horizon/.venv/local/lib/python2.7/site-packages/django_pyscss/scss.py", line 86, in _find_source_file
    full_filename, storage = self.get_file_and_storage(name)
  File "/home/drf/horizon/.venv/local/lib/python2.7/site-packages/django_pyscss/scss.py", line 53, in get_file_and_storage
    return self.get_file_from_finders(filename)
  File "/home/drf/horizon/.venv/local/lib/python2.7/site-packages/django_pyscss/scss.py", line 46, in get_file_from_finders
    for file_and_storage in find_all_files(filename):
  File "/home/drf/horizon/.venv/local/lib/python2.7/site-packages/django_pyscss/utils.py", line 16, in find_all_files
    if fnmatch.fnmatchcase(os.path.join(storage.prefix or '', path),
AttributeError: 'FileSystemStorage' object has no attribute 'prefix'


I was able to force this to happen in my development environment by putting this update in requirements.txt
 Babel>=1.3
-Django>=1.4.2,<1.8
+#Django>=1.4.2,<1.8
+Django==1.7.7
 Pint>=0.5  # BSD
 django_compressor>=1.4
 django_openstack_auth>=1.1.7,!=1.1.8,<1.3.0
-django-pyscss>=1.0.3,<2.0.0  # BSD License (2 clause)
+#django-pyscss>=1.0.3,<2.0.0  # BSD License (2 clause)
+django-pyscss==1.0.3
 eventlet>=0.16.1,!=0.17.0

Note that these are in bounds (but not the latest) requirements.

** Affects: horizon
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Dashboard (Horizon).
https://bugs.launchpad.net/bugs/1454823

Title:
  Error on compress:  AttributeError: 'FileSystemStorage' object has no
  attribute 'prefix'

Status in OpenStack Dashboard (Horizon):
  New

Bug description:
  I have found that in some stable/kilo environments it is not possible
  to compress js/css.

  drf@drf-VirtualBox:~/horizon$ .venv/bin/python manage.py compress --force
  RemovedInDjango18Warning: 'The `firstof` template tag is changing to escape its arguments; the non-autoescaping version is deprecated. Load it from the `future` tag library to start using the new behavior.
  WARNING:py.warnings:RemovedInDjango18Warning: 'The `firstof` template tag is changing to escape its arguments; the non-autoescaping version is deprecated. Load it from the `future` tag library to start using the new behavior.
  RemovedInDjango18Warning: 'The `cycle` template tag is changing to escape its arguments; the non-autoescaping version is deprecated. Load it from the `future` tag library to start using the new behavior.
  WARNING:py.warnings:RemovedInDjango18Warning: 'The `cycle` template tag is changing to escape its arguments; the non-autoescaping version is deprecated. Load it from the `future` tag library to start using the new behavior.
  Found 'compress' tags in:
  	/home/drf/horizon/horizon/templates/horizon/_scripts.html
  	/home/drf/horizon/horizon/templates/horizon/_conf.html
  	/home/drf/horizon/openstack_dashboard/templates/_stylesheets.html
  Compressing... CommandError: An error occured during rendering /home/drf/horizon/openstack_dashboard/templates/_stylesheets.html: Error parsing block:

  [the entire output of the file
  openstack_dashboard/static/dashboard/scss/horizon.scss is dumped here,
  I've removed it]

  From <string u'// Pure CSS Vendor\n@import "/horizon/lib/bootstrap'...>:0
  Traceback:
    File "/home/drf/horizon/.venv/local/lib/python2.7/site-packages/scss/__init__.py", line 498, in manage_children
      self._manage_children_impl(rule, scope)
    File "/home/drf/horizon/.venv/local/lib/python2.7/site-packages/scss/__init__.py", line 548, in _manage_children_impl
      self._do_import(rule, scope, block)
    File "/home/drf/horizon/.venv/local/lib/python2.7/site-packages/django_pyscss/scss.py", line 118, in _do_import
      source_file = self._find_source_file(name, relative_to)
    File "/home/drf/horizon/.venv/local/lib/python2.7/site-packages/django_pyscss/scss.py", line 86, in _find_source_file
      full_filename, storage = self.get_file_and_storage(name)
    File "/home/drf/horizon/.venv/local/lib/python2.7/site-packages/django_pyscss/scss.py", line 53, in get_file_and_storage
      return self.get_file_from_finders(filename)
    File "/home/drf/horizon/.venv/local/lib/python2.7/site-packages/django_pyscss/scss.py", line 46, in get_file_from_finders
      for file_and_storage in find_all_files(filename):
    File "/home/drf/horizon/.venv/local/lib/python2.7/site-packages/django_pyscss/utils.py", line 16, in find_all_files
      if fnmatch.fnmatchcase(os.path.join(storage.prefix or '', path),
  AttributeError: 'FileSystemStorage' object has no attribute 'prefix'

  
  I was able to force this to happen in my development environment by putting this update in requirements.txt
   Babel>=1.3
  -Django>=1.4.2,<1.8
  +#Django>=1.4.2,<1.8
  +Django==1.7.7
   Pint>=0.5  # BSD
   django_compressor>=1.4
   django_openstack_auth>=1.1.7,!=1.1.8,<1.3.0
  -django-pyscss>=1.0.3,<2.0.0  # BSD License (2 clause)
  +#django-pyscss>=1.0.3,<2.0.0  # BSD License (2 clause)
  +django-pyscss==1.0.3
   eventlet>=0.16.1,!=0.17.0

  Note that these are in bounds (but not the latest) requirements.

To manage notifications about this bug go to:
https://bugs.launchpad.net/horizon/+bug/1454823/+subscriptions


Follow ups

References