Opened 7 years ago

Last modified 7 months ago

#27929 assigned New feature

Add ManifestStaticFilesStorage option to remove original (non-hashed) files after processing

Reported by: Jesse Owned by: Umang Patel
Component: contrib.staticfiles Version: 1.10
Severity: Normal Keywords:
Cc: Ed Morley Triage Stage: Accepted
Has patch: yes Needs documentation: yes
Needs tests: yes Patch needs improvement: yes
Easy pickings: no UI/UX: no

Description

When collecting statics with CachedStaticFilesStorage or ManifestStaticFilesStorage, hashed versions of the files are created along side the originals. The documentation specifically states that this is intended to support any old links which point to the original non-cached versions of the files. However, for a new project, it's perfectly reasonable to not want to generate both sets of static files once your project is being served on a production server.

Change History (7)

comment:1 by Tim Graham, 7 years ago

Triage Stage: UnreviewedAccepted

I think it's okay, see ticket:24452#comment:17 and subsequent comments for possibly related discussion.

in reply to:  1 comment:2 by Ed Morley, 7 years ago

Cc: Ed Morley added

I agree an option to remove the original files would be great.

Replying to Tim Graham:

I think it's okay, see ticket:24452#comment:17 and subsequent comments for possibly related discussion.

So I think those comments were more about the intermediate files left behind (eg foo.<intermediate-hash>.css) rather than the original files (eg foo.css). For fixing the former there's ticket #28604, which would likely do the right thing all the time, rather than being opt-in. However I guess the same CachedStaticFilesStorage limitation might apply to the original files too.

That said, given this feature would be opt-in, and could perhaps be made to only support ManifestStaticFilesStorage, then perhaps this feature could be added even before #28606 / #28604?

Fwiw, WhiteNoise rolls its own implementation to remove them currently:
https://github.com/evansd/whitenoise/blob/9d3ad51f7f05e5391ec6f2f03211d958a08e374f/whitenoise/storage.py#L32

...though I'm likely going to be revising it slightly to be more like:
https://github.com/moccu/barbeque/blob/dc714b4fa7ce2ad517a0d37474f8a774df46219c/barbeque/staticfiles/storage.py#L16-L17

comment:3 by Ed Morley, 7 years ago

Summary: Add an option when collecting statics to remove non-cached files after processingAdd ManifestStaticFilesStorage option to remove original (non-hashed) files after processing

comment:4 by valleyofblackpanther, 15 months ago

Is this ticket still active?

comment:5 by valleyofblackpanther, 14 months ago

Has patch: set
Resolution: fixed
Status: newclosed
Triage Stage: AcceptedReady for checkin

comment:6 by Claude Paroz, 14 months ago

Needs tests: set
Resolution: fixed
Status: closednew
Triage Stage: Ready for checkinAccepted

Thanks for the patch! However a ticket is fixed when the pull request is committed to main. And the Ready for checkin flag should only be set by a reviewer of the patch.

comment:7 by Mariusz Felisiak, 7 months ago

Needs documentation: set
Owner: changed from nobody to Umang Patel
Patch needs improvement: set
Status: newassigned
Note: See TracTickets for help on using tickets.
Back to Top