Metadata-Version: 1.0
Name: django-tools
Version: 0.18.1.0714
Summary: miscellaneous tools for django
Home-page: http://code.google.com/p/django-tools/
Author: Jens Diemer
Author-email: django-tools@jensdiemer.de
License: UNKNOWN
Description: h1. description
        
        miscellaneous tools for django
        
        
        h2. existing tools
        
        
        h3. local sync cache
        
        Keep a local dict in a multi-threaded environment up-to-date.
        More info, read DocString in ./local_sync_cache/local_sync_cache.py
        
        
        h3. limit to usergroups
        
        Limit something with only one field, by selecting:
        	* anonymous users
        	* staff users
        	* superusers
        	* ..all existing user groups..
        More info, read DocString in ./limit_to_usergroups.py
        
        
        h3. DOM compare in unittests
        
        The Problem:
        You can't easy check if e.g. some form input fields are in the reponse,
        because the form rendering use a dict for storing all html attributes.
        So, the ordering of form field attributes are not sorted and varied.
        
        The Solution:
        You need to parse the response content into a DOM tree and compare nodes.
        
        We add the gread work of Gregor Müllegger at his GSoC 2011 form-rendering branch.
        You will have the following assert methods inherit from:
        	django_tools.unittest_utils.unittest_base.BaseTestCase
        	
        * self.assertHTMLEqual() - for compare two HTML DOM trees
        * self.assertDOM() - for check if nodes in response or not.
        * self.assertContains() - Check if ond node occurs 'count' times in response 
        
        More info and examples in tests/test_dom_asserts.py
        
        
        h3. upgrade virtualenv
        
        A simple commandline script for call "pip install ---upgrade XY" for every package thats installed in a virtualenv.
        Simply copy/symlink it into the root directory of your virtualenv and start it.
        
        To use it, without installing django-tools:
        
        pre. ~/$ cd goto/your_env
        .../your_env/$ wget https://github.com/jedie/django-tools/raw/master/django_tools/upgrade_virtualenv.py
        .../your_env/$ chmod +x upgrade_virtualenv.py
        .../your_env/$ ./upgrade_virtualenv.py
            
        This script will be obsolete, if pip has a own upgrade command, see: 
            https://github.com/pypa/pip/issues/59
        
        
        h3. ..all others...
        
        There exist many miscellaneous stuff. Look in the source, luke!
        
        
        h2. Backwards-incompatible changes
        
        
        h3. v0.9
        
        Language code field and SelectMediaPath are renamed.
        
        change:
        *from django_tools.fields import LanguageCodeFormField*
        to:
        *from django_tools.fields.language_code import LanguageCodeFormField*
        
        change and rename:
        *from django_tools.fields import LanguageCodeField*
        to:
        *from django_tools.fields.language_code import LanguageCodeModelField*
        
        change and rename:
        *from django_tools.widgets import SelectMediaPath*
        to:
        *from django_tools.fields.media_path import MediaPathWidget*
        
        
        
        h2. history
        
        * v0.18.1
        ** Bugfix: Add missing template in pypi package
        * v0.18.0
        ** NEW: Add DOM compare from Gregor Müllegger GSoC work into unittest utils.
        * v0.17.1
        ** Bugfix in "limit_to_usergroups": Make choices "lazy": Don't access the database in __init__
        * v0.17
        ** Add the script "upgrade_virtualenv.py"
        ** Add "limit_to_usergroups"
        ** Add "local sync cache"
        ** Add models.UpdateInfoBaseModel
        ** Update decorators.render_to
        ** render_to pass keyword arguments to render_to_response() (e.g.: mimetype="text/plain")
        ** new argument "skip_fail" in get_filtered_apps(): If True: raise excaption if app is not importable
        * v0.16.4
        ** Bugfix: """get_db_prep_save() got an unexpected keyword argument 'connection'""" when save a SignSeparatedModelField()
        * v0.16.3
        ** Update BrowserDebug: Use response.templates instead of response.template and make output nicer
        * v0.16.2
        ** Merge stack info code and display better stack info on browser debug page
        * v0.16.1
        ** Update django_tools.utils.messages.StackInfoStorage for django code changes.
        * v0.16.0
        ** NEW: path model field (check if direcotry exist)
        * v0.15.0
        ** NEW: Add a flexible URL field (own validator, model- and form-field)
        * v0.14.1
        ** Bugfix: make path in MediaPathModelField relativ (remove slashes) 
        * v0.14
        ** NEW: django-tagging addon: Display existing tags under a tag field
        * v0.13
        ** Bugfix UnicodeEncodeError in Browser debug
        * v0.12
        ** NEW: django_tools.utils.messages.failsafe_message
        * v0.11
        ** NEW: Store data in a secure cookie, see: utils/client_storage.py
        * v0.10.1
        ** New: Display used templates in unittest BrowserDebug
        ** Bugfix: catch if last usermessages exist
        * v0.10.0
        ** NEW: utils around django messages, see: /django_tools/utils/messages.py
        * v0.9.1
        ** Bugfix: database column was not created: don't overwrite get_internal_type()
        * v0.9
        ** New: stuff in /django_tools/fields/
        ** see also backwards-incompatible changes, above!
        * v0.8.2
        ** New: widgets.SelectMediaPath(): Select a sub directory in settings.MEDIA_ROOT
        ** New: fields.SignSeparatedField()
        * v0.8.1
        ** Add "no_args" keyword argument to installed_apps_utils.get_filtered_apps()
        * v0.8.0
        ** Add model LanguageCode field and form LanguageCode field in Accept-Language header format (RFC 2616) 
        * v0.7.0
        ** Add decorators.py
        * v0.6.0
        ** Add forms_utils.LimitManyToManyFields, crosspost: http://www.djangosnippets.org/snippets/1691/
        * v0.5.0
        ** Add template/filters.py from PyLucid v0.8.x
        * v0.4.0
        ** Add experimental "warn_invalid_template_vars"
        * v0.3.1
        ** Bugfix: Exclude the instance if it was saved in the past.
        * v0.3.0
        ** Add utils.installed_apps_utils
        * v0.2.0
        ** Add models_utils, see: http://www.jensdiemer.de/_command/118/blog/detail/67/ (de)
        * v0.1.0
        ** first version cut out from PyLucid CMS - http://www.pylucid.org
        
        
        
        h2. pip upgrade
        
        To do a pip upgrade in a virtual environment, run this:
           
        pre. ~$ cd /YourVirtualEnv/bin
        ~/YourVirtualEnv/bin$ source activate
        (YourVirtualEnv)~/YourVirtualEnv/bin$ pip install --upgrade --verbose --editable=git+git://github.com/jedie/django-tools.git#egg=django-tools
        
        The example used git readonly clone url. If you use subversion do this:
        
        pre. (YourVirtualEnv)~/YourVirtualEnv/bin$ pip install --upgrade --verbose --editable=http://svn.github.com/jedie/django-tools.git#egg=django-tools
        
        If you have git write access, use this:
        
        pre. (YourVirtualEnv)~/YourVirtualEnv/bin$ pip install --upgrade --verbose --editable=git+git@github.com:jedie/django-tools.git#egg=django-tools
        
        ...or just use our limit_to_usergroups.py script (see above)
        
        
        h2. fast repo update
        
        To made a fast repository update, you can run this simple shell script:
        
        pre. ~$ cd /path/to/django-tools
        /path/to/django-tools$ ./update.sh
        
        the update script runs "git pull origin master" or "svn update".
        
        
        
        h2. links
        
        * Homepage: http://code.google.com/p/django-tools/
        * Sourcecode: http://github.com/jedie/django-tools
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Web Environment
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: GNU General Public License (GPL)
Classifier: Programming Language :: Python
Classifier: Framework :: Django
Classifier: Topic :: Database :: Front-Ends
Classifier: Topic :: Documentation
Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
Classifier: Topic :: Internet :: WWW/HTTP :: Site Management
Classifier: Topic :: Internet :: WWW/HTTP :: WSGI :: Application
Classifier: Operating System :: OS Independent
