Comments (5)
Using <script type="text/coffeescript" src="{{ STATIC_URL }}tests.coffee" charset="utf-8"></script>
(with STATIC_URL) causes an error too...
Caught UncompressableFileError while rendering: 'tests.coffee' isn't accesible via COMPRESS_URL ('/static/') and can't be compressed
from django-compressor.
I've located where the problem is occurring.
The else clause never executes to send the stdin to the process. In my coffeescript example configuration, (using stdin/stdout), the variables get set as so:
infile: None
self.filename: /snip/project/apps/tiny/static/tests.coffee
The command needs stdin, but doesn't get it, because of the or self.filename is not None
check.
When it gets around to the YUI filter, both are none, so it sends the stdin that time and gets real output.
I fixed it by removing the self.filename check:
if infile is not None:
Here's the troubled line causing the issue.
https://github.com/jezdez/django_compressor/blob/master/compressor/filters/base.py#L68
Would love a quick fix. Thanks!
from django-compressor.
Pull request to fix this opened:
#53
from django-compressor.
This needs tests.
from django-compressor.
Alright. The problem with testing for infile not being None was that sometimes it stayed None.
Here, you see infile will still be None if the else executes (and it does in some cases). Which will render if infile is not None
(on line 68) problematic.
https://github.com/jezdez/django_compressor/blob/master/compressor/filters/base.py#L60
And as for self.filename, I tested that out, and that check isn't even needed. For that reason, my fix wasn't complete, but I've completely fixed it and tested it out, and seeing where the execution is going on each test, so it's all correct now. :)
A test for this is coming.
Update: A test for this is now committed, as well as the correct fix.
from django-compressor.
Related Issues (20)
- Django's `get_storage_class` is deprecated in 4.2 (Django 5.1 compat.) HOT 5
- Releasing a new version with Django 4.2 support HOT 3
- No way to specify hashing method for JS files? HOT 1
- Disable offline compression for some scripts HOT 5
- Fix tests with Python 3.9.17, 3.10.12 and 3.11.4 HOT 7
- Dependencies are pinned HOT 1
- Dynamic SCRIPT_NAME and compressed assets HOT 8
- Getting more info when `Error parsing template` happens
- Not compatible with django-components HOT 10
- Issue with losing templates in compress command in version >=3.0.
- optional max_workers for compress command HOT 1
- 'Settings' object has no attribute 'COMPRESSORS' HOT 8
- OSSFuzz Integration HOT 4
- 4.4: compressor.exceptions.OfflineGenerationError raised in tests HOT 4
- Django 5.1 compatibility HOT 1
- Offline compression + inlining bug HOT 3
- Compress command: warn or error about context vars?
- Set compressor_file_storage to CompressorFileStorage HOT 13
- Documentation isn't clear / confusing behavior
- Getting an "invalid template" error for template in a library that I do not use HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from django-compressor.