Metadata-Version: 1.0
Name: django-compress-storage
Version: 0.9.0
Summary: Automantic compress files after upload
Home-page: https://github.com/valdergallo/django-compress-storage
Author: valdergallo
Author-email: valdergallo@gmail.com
License: FREEBSD
Download-URL: https://github.com/valdergallo/django-compress-storage/tarball/v0.9.0/
Description: Django Compress Storage
        =======================
        
        |Build Status| |Latest Version| |BSD License|
        
        Custom Field for Django that auto compact file uploaded
        
        Features
        --------
        
        -  Compress FileUpload storage file with Zip
        -  Delete old file that was compressed on zip
        -  Support for South Migrations
        -  Support Django 1.2+
        -  Celery 2.8+ support - async compress file with Celery
        -  Windows Support
        -  Linux support
        -  OSx support
        -  Support for Python3
        -  Support for Python2.6+
        
        Motivation
        ----------
        
        On my job we need save all upload files for 5 year. Losing a lot space
        on server with this files, because this I created this application.
        
        Django Settings Configurations
        ------------------------------
        
        .. code:: python
        
        
            FILE_COMPRESS_DELETE_OLD_FILE = True # to delete old files after compressed
            FILE_COMPRESS_DELETE_OLD_FILE = False # to not delete old files after compressed
        
            # Feature only for version v9.0+
            FILE_COMPRESS_QUEUE = 'Celery' # by default queue is Celery, but you can change this with this var on settings
        
        
            INSTALLED_APPS = (
                ...
                ...
                'compress_storage',
            )
        
        Usage
        -----
        
        .. code:: python
        
        
            # example model.py
        
            from django.db import models
            from compress_storage import ZipFileField
        
            class MyContent(models.Model):
                name = models.CharField(max_length=150)
                create_date = models.DateTimeField(auto_now=True)
                upload_file = ZipFileField(upload_to='mycontent/')
        
                def __unicode__(self):
                    return self.name
        
        Shell
        -----
        
        .. code:: python
        
        
            >>> from example.core import MyContent
            >>> m = MyContent.objects.get(id=2)
            >>> m.upload_file
            <ZipCompressFieldFile: mycontent/test.txt>
            >>> m.upload_file.compress()
            >>> m.upload_file
            <ZipCompressFieldFile: mycontent/test.zip>
        
        Using with Celery
        -----------------
        
        If Celery are installed on Site Packages. You just need create one
        post\_save on your model to use async compress.
        
        .. code:: python
        
            # listeners.py file
        
            from django.db.models.signals import post_save
        
            def auto_compress_file_on_post_save(sender, instance, **kargs):
                instance.upload_file.compress()
        
            post_save.connect(auto_compress_file_on_post_save, sender=MyContent)
        
        If you don´t wanna use Celery async compress:
        
        .. code:: python
        
        
            def auto_compress_file_on_post_save(sender, instance, **kargs):
                instance.upload_file.compress(async=False)
        
            post_save.connect(auto_compress_file_on_post_save, sender=MyContent)
        
        Developer
        ---------
        
        .. code:: bash
        
            # download code
            git clone https://github.com/valdergallo/django-compress-storage
        
            # install developer packages
            setup.py develop
        
            # test project
            setup.py test
        
            #clean extra content
            setup.py clean
        
        .. |Build Status| image:: https://travis-ci.org/valdergallo/django-compress-storage.png?branch=master
           :target: https://travis-ci.org/valdergallo/django-compress-storage
        .. |Latest Version| image:: http://img.shields.io/pypi/v/django-compress-storage.svg
           :target: https://pypi.python.org/pypi/django-compress-storage
        .. |BSD License| image:: http://img.shields.io/badge/license-BSD-yellow.svg
           :target: http://opensource.org/licenses/BSD-3-Clause
        
Keywords: django,compress,field,zip,tar,gzip
Platform: UNKNOWN
Classifier: Framework :: Django
Classifier: Operating System :: OS Independent
Classifier: Topic :: Utilities
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2.6
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3.3
