I am using django-pipeline
S3PipelineManifestStorage
with django-storages
When I use collectstatic to upload and post-process(minify) my assets, I get an error when post-processing.
Earlier, collectstatic worked fine and gave no error.
Here's the full traceback
Traceback (most recent call last):
File "manage.py", line 10, in <module>
execute_from_command_line(sys.argv)
File "/app/.heroku/python/lib/python2.7/site-packages/django/core/management/__init__.py", line 338, in execute_from_command_line
utility.execute()
File "/app/.heroku/python/lib/python2.7/site-packages/django/core/management/__init__.py", line 330, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/app/.heroku/python/lib/python2.7/site-packages/django/core/management/base.py", line 390, in run_from_argv
self.execute(*args, **cmd_options)
File "/app/.heroku/python/lib/python2.7/site-packages/django/core/management/base.py", line 441, in execute
output = self.handle(*args, **options)
File "/app/.heroku/python/lib/python2.7/site-packages/django/contrib/staticfiles/management/commands/collectstatic.py", line 168, in handle
collected = self.collect()
File "/app/.heroku/python/lib/python2.7/site-packages/django/contrib/staticfiles/management/commands/collectstatic.py", line 114, in collect
for original_path, processed_path, processed in processor:
File "/app/.heroku/python/lib/python2.7/site-packages/pipeline/storage.py", line 26, in post_process
packager.pack_stylesheets(package)
File "/app/.heroku/python/lib/python2.7/site-packages/pipeline/packager.py", line 96, in pack_stylesheets
variant=package.variant, **kwargs)
File "/app/.heroku/python/lib/python2.7/site-packages/pipeline/packager.py", line 105, in pack
paths = self.compile(package.paths, force=True)
File "/app/.heroku/python/lib/python2.7/site-packages/pipeline/packager.py", line 34, in paths
return [path for path in self.sources
File "/app/.heroku/python/lib/python2.7/site-packages/pipeline/packager.py", line 26, in sources
for path in glob(pattern):
File "/app/.heroku/python/lib/python2.7/site-packages/pipeline/glob.py", line 18, in glob
return sorted(list(iglob(pathname)))
File "/app/.heroku/python/lib/python2.7/site-packages/pipeline/glob.py", line 29, in iglob
if staticfiles_storage.exists(pathname):
File "/app/.heroku/python/lib/python2.7/site-packages/storages/backends/s3boto.py", line 445, in exists
k = self.bucket.new_key(self._encode_name(name))
File "/app/.heroku/python/lib/python2.7/site-packages/boto/s3/bucket.py", line 623, in new_key
raise ValueError('Empty key names are not allowed')
ValueError: Empty key names are not allowed
Could you please figure out why this error is occuring?
It was an issue with Pipeline settings
PIPELINE_CSS ={
'maths_landing_page':{
'source_filenames':(
'html/css/maths-landing-page.css'
),
'output_filename':'html/css/maths-landing-page-consolidated.css',
}
}
While the actual settings was
PIPELINE_CSS ={
'maths_landing_page':{
'source_filenames':(
'html/css/maths-landing-page.css',
),
'output_filename':'html/css/maths-landing-page-consolidated.css',
}
}
Notice the comma in the tuple.
Apparently.
>>> type( ('a') )
<type 'str'>
>>> type( ('a',) )
<type 'tuple'>