summaryrefslogtreecommitdiff
path: root/parts/django/docs/ref/files/storage.txt
diff options
context:
space:
mode:
authorNishanth Amuluru2011-01-08 11:20:57 +0530
committerNishanth Amuluru2011-01-08 11:20:57 +0530
commit65411d01d448ff0cd4abd14eee14cf60b5f8fc20 (patch)
treeb4c404363c4c63a61d6e2f8bd26c5b057c1fb09d /parts/django/docs/ref/files/storage.txt
parent2e35094d43b4cc6974172e1febf76abb50f086ec (diff)
downloadpytask-65411d01d448ff0cd4abd14eee14cf60b5f8fc20.tar.gz
pytask-65411d01d448ff0cd4abd14eee14cf60b5f8fc20.tar.bz2
pytask-65411d01d448ff0cd4abd14eee14cf60b5f8fc20.zip
Added buildout stuff and made changes accordingly
--HG-- rename : profile/management/__init__.py => eggs/djangorecipe-0.20-py2.6.egg/EGG-INFO/dependency_links.txt rename : profile/management/__init__.py => eggs/djangorecipe-0.20-py2.6.egg/EGG-INFO/not-zip-safe rename : profile/management/__init__.py => eggs/infrae.subversion-1.4.5-py2.6.egg/EGG-INFO/dependency_links.txt rename : profile/management/__init__.py => eggs/infrae.subversion-1.4.5-py2.6.egg/EGG-INFO/not-zip-safe rename : profile/management/__init__.py => eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/EGG-INFO/dependency_links.txt rename : profile/management/__init__.py => eggs/mercurial-1.7.3-py2.6-linux-x86_64.egg/EGG-INFO/not-zip-safe rename : profile/management/__init__.py => eggs/py-1.4.0-py2.6.egg/EGG-INFO/dependency_links.txt rename : profile/management/__init__.py => eggs/py-1.4.0-py2.6.egg/EGG-INFO/not-zip-safe rename : profile/management/__init__.py => eggs/zc.buildout-1.5.2-py2.6.egg/EGG-INFO/dependency_links.txt rename : profile/management/__init__.py => eggs/zc.buildout-1.5.2-py2.6.egg/EGG-INFO/not-zip-safe rename : profile/management/__init__.py => eggs/zc.recipe.egg-1.3.2-py2.6.egg/EGG-INFO/dependency_links.txt rename : profile/management/__init__.py => eggs/zc.recipe.egg-1.3.2-py2.6.egg/EGG-INFO/not-zip-safe rename : profile/management/__init__.py => parts/django/Django.egg-info/dependency_links.txt rename : taskapp/models.py => parts/django/django/conf/app_template/models.py rename : taskapp/tests.py => parts/django/django/conf/app_template/tests.py rename : taskapp/views.py => parts/django/django/conf/app_template/views.py rename : taskapp/views.py => parts/django/django/contrib/gis/tests/geo3d/views.py rename : profile/management/__init__.py => parts/django/tests/modeltests/delete/__init__.py rename : profile/management/__init__.py => parts/django/tests/modeltests/files/__init__.py rename : profile/management/__init__.py => parts/django/tests/modeltests/invalid_models/__init__.py rename : profile/management/__init__.py => parts/django/tests/modeltests/m2m_signals/__init__.py rename : profile/management/__init__.py => parts/django/tests/modeltests/model_package/__init__.py rename : profile/management/__init__.py => parts/django/tests/regressiontests/bash_completion/__init__.py rename : profile/management/__init__.py => parts/django/tests/regressiontests/bash_completion/management/__init__.py rename : profile/management/__init__.py => parts/django/tests/regressiontests/bash_completion/management/commands/__init__.py rename : profile/management/__init__.py => parts/django/tests/regressiontests/bash_completion/models.py rename : profile/management/__init__.py => parts/django/tests/regressiontests/delete_regress/__init__.py rename : profile/management/__init__.py => parts/django/tests/regressiontests/file_storage/__init__.py rename : profile/management/__init__.py => parts/django/tests/regressiontests/max_lengths/__init__.py rename : profile/forms.py => pytask/profile/forms.py rename : profile/management/__init__.py => pytask/profile/management/__init__.py rename : profile/management/commands/seed_db.py => pytask/profile/management/commands/seed_db.py rename : profile/models.py => pytask/profile/models.py rename : profile/templatetags/user_tags.py => pytask/profile/templatetags/user_tags.py rename : taskapp/tests.py => pytask/profile/tests.py rename : profile/urls.py => pytask/profile/urls.py rename : profile/utils.py => pytask/profile/utils.py rename : profile/views.py => pytask/profile/views.py rename : static/css/base.css => pytask/static/css/base.css rename : taskapp/tests.py => pytask/taskapp/tests.py rename : taskapp/views.py => pytask/taskapp/views.py rename : templates/base.html => pytask/templates/base.html rename : templates/profile/browse_notifications.html => pytask/templates/profile/browse_notifications.html rename : templates/profile/edit.html => pytask/templates/profile/edit.html rename : templates/profile/view.html => pytask/templates/profile/view.html rename : templates/profile/view_notification.html => pytask/templates/profile/view_notification.html rename : templates/registration/activate.html => pytask/templates/registration/activate.html rename : templates/registration/activation_email.txt => pytask/templates/registration/activation_email.txt rename : templates/registration/activation_email_subject.txt => pytask/templates/registration/activation_email_subject.txt rename : templates/registration/logged_out.html => pytask/templates/registration/logged_out.html rename : templates/registration/login.html => pytask/templates/registration/login.html rename : templates/registration/logout.html => pytask/templates/registration/logout.html rename : templates/registration/password_change_done.html => pytask/templates/registration/password_change_done.html rename : templates/registration/password_change_form.html => pytask/templates/registration/password_change_form.html rename : templates/registration/password_reset_complete.html => pytask/templates/registration/password_reset_complete.html rename : templates/registration/password_reset_confirm.html => pytask/templates/registration/password_reset_confirm.html rename : templates/registration/password_reset_done.html => pytask/templates/registration/password_reset_done.html rename : templates/registration/password_reset_email.html => pytask/templates/registration/password_reset_email.html rename : templates/registration/password_reset_form.html => pytask/templates/registration/password_reset_form.html rename : templates/registration/registration_complete.html => pytask/templates/registration/registration_complete.html rename : templates/registration/registration_form.html => pytask/templates/registration/registration_form.html rename : utils.py => pytask/utils.py
Diffstat (limited to 'parts/django/docs/ref/files/storage.txt')
-rw-r--r--parts/django/docs/ref/files/storage.txt119
1 files changed, 119 insertions, 0 deletions
diff --git a/parts/django/docs/ref/files/storage.txt b/parts/django/docs/ref/files/storage.txt
new file mode 100644
index 0000000..84ef00c
--- /dev/null
+++ b/parts/django/docs/ref/files/storage.txt
@@ -0,0 +1,119 @@
+File storage API
+================
+
+.. module:: django.core.files.storage
+
+Getting the current storage class
+---------------------------------
+
+Django provides two convenient ways to access the current storage class:
+
+.. class:: DefaultStorage
+
+ :class:`~django.core.files.storage.DefaultStorage` provides
+ lazy access to the current default storage system as defined by
+ :setting:`DEFAULT_FILE_STORAGE`. :class:`DefaultStorage` uses
+ :func:`~django.core.files.storage.get_storage_class` internally.
+
+.. function:: get_storage_class([import_path=None])
+
+ Returns a class or module which implements the storage API.
+
+ When called without the ``import_path`` parameter ``get_storage_class``
+ will return the current default storage system as defined by
+ :setting:`DEFAULT_FILE_STORAGE`. If ``import_path`` is provided,
+ ``get_storage_class`` will attempt to import the class or module from the
+ given path and will return it if successful. An exception will be
+ raised if the import is unsuccessful.
+
+The FileSystemStorage Class
+---------------------------
+
+.. class:: FileSystemStorage
+
+ The :class:`~django.core.files.storage.FileSystemStorage` class implements
+ basic file storage on a local filesystem. It inherits from
+ :class:`~django.core.files.storage.Storage` and provides implementations
+ for all the public methods thereof.
+
+ .. note::
+
+ The :class:`FileSystemStorage.delete` method will not raise
+ raise an exception if the given file name does not exist.
+
+The Storage Class
+-----------------
+
+.. class:: Storage
+
+ The :class:`~django.core.files.storage.Storage` class provides a
+ standardized API for storing files, along with a set of default
+ behaviors that all other storage systems can inherit or override
+ as necessary.
+
+ .. method:: delete(name)
+
+ Deletes the file referenced by ``name``. If deletion is not supported
+ on the targest storage system this will raise ``NotImplementedError``
+ instead
+
+ .. method:: exists(name)
+
+ Returns ``True`` if a file referened by the given name already exists
+ in the storage system, or ``False`` if the name is available for a new
+ file.
+
+ .. method:: get_available_name(name)
+
+ Returns a filename based on the ``name`` parameter that's free and
+ available for new content to be written to on the target storage
+ system.
+
+
+ .. method:: get_valid_name(name)
+
+ Returns a filename based on the ``name`` parameter that's suitable
+ for use on the target storage system.
+
+ .. method:: listdir(path)
+
+ Lists the contents of the specified path, returning a 2-tuple of lists;
+ the first item being directories, the second item being files. For
+ storage systems that aren't able to provide such a listing, this will
+ raise a ``NotImplementedError`` instead.
+
+ .. method:: open(name, mode='rb')
+
+ Opens the file given by ``name``. Note that although the returned file
+ is guaranteed to be a ``File`` object, it might actually be some
+ subclass. In the case of remote file storage this means that
+ reading/writing could be quite slow, so be warned.
+
+ .. method:: path(name)
+
+ The local filesystem path where the file can be opened using Python's
+ standard ``open()``. For storage systems that aren't accessible from
+ the local filesystem, this will raise ``NotImplementedError`` instead.
+
+ .. method:: save(name, content)
+
+ Saves a new file using the storage system, preferably with the name
+ specified. If there already exists a file with this name ``name``, the
+ storage system may modify the filename as necessary to get a unique
+ name. The actual name of the stored file will be returned.
+
+ The ``content`` argument must be an instance of
+ :class:`django.core.files.File` or of a subclass of
+ :class:`~django.core.files.File`.
+
+ .. method:: size(name)
+
+ Returns the total size, in bytes, of the file referenced by ``name``.
+ For storage systems that aren't able to return the file size this will
+ raise ``NotImplementedError`` instead.
+
+ .. method:: url(name)
+
+ Returns the URL where the contents of the file referenced by ``name``
+ can be accessed. For storage systems that don't support access by URL
+ this will raise ``NotImplementedError`` instead.