gridfs::GridFS Class Reference

List of all members.

Public Member Functions

def __init__
def delete
def exists
def get
def get_last_version
def get_version
def list
def new_file
def open
def put
def remove

Private Attributes

 __chunks
 __collection
 __database
 __files

Detailed Description

An instance of GridFS on top of a single Database.

Definition at line 32 of file gridfs/__init__.py.


Member Function Documentation

def gridfs::GridFS::__init__ (   self,
  database,
  collection = "fs" 
)
Create a new instance of :class:`GridFS`.

Raises :class:`TypeError` if `database` is not an instance of
:class:`~pymongo.database.Database`.

:Parameters:
  - `database`: database to use
  - `collection` (optional): root collection to use

.. versionadded:: 1.6
   The `collection` parameter.

.. mongodoc:: gridfs

Definition at line 35 of file gridfs/__init__.py.

def gridfs::GridFS::delete (   self,
  file_id 
)
Delete a file from GridFS by ``"_id"``.

Removes all data belonging to the file with ``"_id"``:
`file_id`.

.. warning:: Any processes/threads reading from the file while
   this method is executing will likely see an invalid/corrupt
   file. Care should be taken to avoid concurrent reads to a file
   while it is being deleted.

.. note:: Deletes of non-existent files are considered successful
   since the end result is the same: no file with that _id remains.

:Parameters:
  - `file_id`: ``"_id"`` of the file to delete

.. versionadded:: 1.6

Definition at line 188 of file gridfs/__init__.py.

def gridfs::GridFS::exists (   self,
  document_or_id = None,
  kwargs 
)
Check if a file exists in this instance of :class:`GridFS`.

The file to check for can be specified by the value of it's
``_id`` key, or by passing in a query document. A query
document can be passed in as dictionary, or by using keyword
arguments. Thus, the following three calls are equivalent:

>>> fs.exists(file_id)
>>> fs.exists({"_id": file_id})
>>> fs.exists(_id=file_id)

As are the following two calls:

>>> fs.exists({"filename": "mike.txt"})
>>> fs.exists(filename="mike.txt")

And the following two:

>>> fs.exists({"foo": {"$gt": 12}})
>>> fs.exists(foo={"$gt": 12})

Returns ``True`` if a matching file exists, ``False``
otherwise. Calls to :meth:`exists` will not automatically
create appropriate indexes; application developers should be
sure to create indexes if needed and as appropriate.

:Parameters:
  - `document_or_id` (optional): query document, or _id of the
    document to check for
  - `**kwargs` (optional): keyword arguments are used as a
    query document, if they're present.

.. versionadded:: 1.8

Definition at line 219 of file gridfs/__init__.py.

def gridfs::GridFS::get (   self,
  file_id 
)
Get a file from GridFS by ``"_id"``.

Returns an instance of :class:`~gridfs.grid_file.GridOut`,
which provides a file-like interface for reading.

:Parameters:
  - `file_id`: ``"_id"`` of the file to get

.. versionadded:: 1.6

Definition at line 119 of file gridfs/__init__.py.

def gridfs::GridFS::get_last_version (   self,
  filename 
)
Get the most recent version of a file in GridFS by ``"filename"``.

Equivalent to calling :meth:`get_version` with the default
`version` (``-1``).

:Parameters:
  - `filename`: ``"filename"`` of the file to get

.. versionadded:: 1.6

Definition at line 174 of file gridfs/__init__.py.

def gridfs::GridFS::get_version (   self,
  filename,
  version = -1 
)
Get a file from GridFS by ``"filename"``.

Returns a version of the file in GridFS with the name
`filename` as an instance of
:class:`~gridfs.grid_file.GridOut`. Version ``-1`` will be the
most recently uploaded, ``-2`` the second most recently
uploaded, etc. Version ``0`` will be the first version
uploaded, ``1`` the second version, etc. So if three versions
have been uploaded, then version ``0`` is the same as version
``-3``, version ``1`` is the same as version ``-2``, and
version ``2`` is the same as version ``-1``.

Raises :class:`~gridfs.errors.NoFile` if no such version of
that file exists.

An index on ``{filename: 1, uploadDate: -1}`` will
automatically be created when this method is called the first
time.

:Parameters:
  - `filename`: ``"filename"`` of the file to get
  - `version` (optional): version of the file to get (defualts
    to -1, the most recent version uploaded)

.. versionadded:: 1.9

Definition at line 132 of file gridfs/__init__.py.

def gridfs::GridFS::list (   self  ) 
List the names of all files stored in this instance of
:class:`GridFS`.

.. versionchanged:: 1.6
   Removed the `collection` argument.

Definition at line 210 of file gridfs/__init__.py.

def gridfs::GridFS::new_file (   self,
  kwargs 
)
Create a new file in GridFS.

Returns a new :class:`~gridfs.grid_file.GridIn` instance to
which data can be written. Any keyword arguments will be
passed through to :meth:`~gridfs.grid_file.GridIn`.

If the ``"_id"`` of the file is manually specified, it must
not already exist in GridFS. Otherwise
:class:`~gridfs.errors.FileExists` is raised.

:Parameters:
  - `**kwargs` (optional): keyword arguments for file creation

.. versionadded:: 1.6

Definition at line 60 of file gridfs/__init__.py.

def gridfs::GridFS::open (   self,
  args,
  kwargs 
)
No longer supported.

.. versionchanged:: 1.6
   The open method is no longer supported.

Definition at line 258 of file gridfs/__init__.py.

def gridfs::GridFS::put (   self,
  data,
  kwargs 
)
Put data in GridFS as a new file.

Equivalent to doing:

>>> f = new_file(**kwargs)
>>> try:
>>>     f.write(data)
>>> finally:
>>>     f.close()

`data` can be either an instance of :class:`str` or a
file-like object providing a :meth:`read` method. If an
`encoding` keyword argument is passed, `data` can also be a
:class:`unicode` instance, which will be encoded as `encoding`
before being written. Any keyword arguments will be passed
through to the created file - see
:meth:`~gridfs.grid_file.GridIn` for possible
arguments. Returns the ``"_id"`` of the created file.

If the ``"_id"`` of the file is manually specified, it must
not already exist in GridFS. Otherwise
:class:`~gridfs.errors.FileExists` is raised.

:Parameters:
  - `data`: data to be written as a file.
  - `**kwargs` (optional): keyword arguments for file creation

.. versionadded:: 1.9
   The ability to write :class:`unicode`, if an `encoding` has
   been specified as a keyword argument.

.. versionadded:: 1.6

Definition at line 78 of file gridfs/__init__.py.

def gridfs::GridFS::remove (   self,
  args,
  kwargs 
)
No longer supported.

.. versionchanged:: 1.6
   The remove method is no longer supported.

Definition at line 266 of file gridfs/__init__.py.


Member Data Documentation

Definition at line 56 of file gridfs/__init__.py.

Definition at line 54 of file gridfs/__init__.py.

Definition at line 53 of file gridfs/__init__.py.

Definition at line 55 of file gridfs/__init__.py.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines


pymongo
Author(s): Bhaskara Marthi
autogenerated on Fri Jan 11 10:09:05 2013