summaryrefslogtreecommitdiffstats
path: root/external_libs/python/lockfile-0.10.2/doc/source
diff options
context:
space:
mode:
Diffstat (limited to 'external_libs/python/lockfile-0.10.2/doc/source')
-rw-r--r--external_libs/python/lockfile-0.10.2/doc/source/Makefile73
-rw-r--r--external_libs/python/lockfile-0.10.2/doc/source/conf.py179
-rw-r--r--external_libs/python/lockfile-0.10.2/doc/source/index.rst275
3 files changed, 0 insertions, 527 deletions
diff --git a/external_libs/python/lockfile-0.10.2/doc/source/Makefile b/external_libs/python/lockfile-0.10.2/doc/source/Makefile
deleted file mode 100644
index 1b1e8d28..00000000
--- a/external_libs/python/lockfile-0.10.2/doc/source/Makefile
+++ /dev/null
@@ -1,73 +0,0 @@
-# Makefile for Sphinx documentation
-#
-
-# You can set these variables from the command line.
-SPHINXOPTS =
-SPHINXBUILD = sphinx-build
-PAPER =
-
-# Internal variables.
-PAPEROPT_a4 = -D latex_paper_size=a4
-PAPEROPT_letter = -D latex_paper_size=letter
-ALLSPHINXOPTS = -d .build/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
-
-.PHONY: help clean html web pickle htmlhelp latex changes linkcheck
-
-help:
- @echo "Please use \`make <target>' where <target> is one of"
- @echo " html to make standalone HTML files"
- @echo " pickle to make pickle files (usable by e.g. sphinx-web)"
- @echo " htmlhelp to make HTML files and a HTML help project"
- @echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter"
- @echo " changes to make an overview over all changed/added/deprecated items"
- @echo " linkcheck to check all external links for integrity"
-
-clean:
- -rm -rf .build/*
-
-html:
- mkdir -p .build/html .build/doctrees
- $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) .build/html
- @echo
- @echo "Build finished. The HTML pages are in .build/html."
-
-pickle:
- mkdir -p .build/pickle .build/doctrees
- $(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) .build/pickle
- @echo
- @echo "Build finished; now you can process the pickle files or run"
- @echo " sphinx-web .build/pickle"
- @echo "to start the sphinx-web server."
-
-web: pickle
-
-htmlhelp:
- mkdir -p .build/htmlhelp .build/doctrees
- $(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) .build/htmlhelp
- @echo
- @echo "Build finished; now you can run HTML Help Workshop with the" \
- ".hhp project file in .build/htmlhelp."
-
-latex:
- mkdir -p .build/latex .build/doctrees
- $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) .build/latex
- @echo
- @echo "Build finished; the LaTeX files are in .build/latex."
- @echo "Run \`make all-pdf' or \`make all-ps' in that directory to" \
- "run these through (pdf)latex."
-
-changes:
- mkdir -p .build/changes .build/doctrees
- $(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) .build/changes
- @echo
- @echo "The overview file is in .build/changes."
-
-linkcheck:
- mkdir -p .build/linkcheck .build/doctrees
- $(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) .build/linkcheck
- @echo
- @echo "Link check complete; look for any errors in the above output " \
- "or in .build/linkcheck/output.txt."
-
-html.zip: html
- (cd .build/html ; zip -r ../../$@ *)
diff --git a/external_libs/python/lockfile-0.10.2/doc/source/conf.py b/external_libs/python/lockfile-0.10.2/doc/source/conf.py
deleted file mode 100644
index 623edcb5..00000000
--- a/external_libs/python/lockfile-0.10.2/doc/source/conf.py
+++ /dev/null
@@ -1,179 +0,0 @@
-# -*- coding: utf-8 -*-
-#
-# lockfile documentation build configuration file, created by
-# sphinx-quickstart on Sat Sep 13 17:54:17 2008.
-#
-# This file is execfile()d with the current directory set to its containing dir.
-#
-# The contents of this file are pickled, so don't put values in the namespace
-# that aren't pickleable (module imports are okay, they're removed automatically).
-#
-# All configuration values have a default value; values that are commented out
-# serve to show the default value.
-
-import sys, os
-
-# If your extensions are in another directory, add it here. If the directory
-# is relative to the documentation root, use os.path.abspath to make it
-# absolute, like shown here.
-#sys.path.append(os.path.abspath('some/directory'))
-
-# General configuration
-# ---------------------
-
-# Add any Sphinx extension module names here, as strings. They can be extensions
-# coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
-extensions = []
-
-# Add any paths that contain templates here, relative to this directory.
-templates_path = ['.templates']
-
-# The suffix of source filenames.
-source_suffix = '.rst'
-
-# The master toctree document.
-master_doc = 'index'
-
-# General substitutions.
-project = 'lockfile'
-copyright = '2008, Skip Montanaro'
-
-# The default replacements for |version| and |release|, also used in various
-# other places throughout the built documents.
-#
-# The short X.Y version.
-version = '0.3'
-# The full version, including alpha/beta/rc tags.
-release = '0.3'
-
-# There are two options for replacing |today|: either, you set today to some
-# non-false value, then it is used:
-#today = ''
-# Else, today_fmt is used as the format for a strftime call.
-today_fmt = '%B %d, %Y'
-
-# List of documents that shouldn't be included in the build.
-#unused_docs = []
-
-# List of directories, relative to source directories, that shouldn't be searched
-# for source files.
-#exclude_dirs = []
-
-# The reST default role (used for this markup: `text`) to use for all documents.
-#default_role = None
-
-# If true, '()' will be appended to :func: etc. cross-reference text.
-#add_function_parentheses = True
-
-# If true, the current module name will be prepended to all description
-# unit titles (such as .. function::).
-#add_module_names = True
-
-# If true, sectionauthor and moduleauthor directives will be shown in the
-# output. They are ignored by default.
-#show_authors = False
-
-# The name of the Pygments (syntax highlighting) style to use.
-pygments_style = 'sphinx'
-
-
-# Options for HTML output
-# -----------------------
-
-# The style sheet to use for HTML and HTML Help pages. A file of that name
-# must exist either in Sphinx' static/ path, or in one of the custom paths
-# given in html_static_path.
-html_style = 'default.css'
-
-# The name for this set of Sphinx documents. If None, it defaults to
-# "<project> v<release> documentation".
-#html_title = None
-
-# A shorter title for the navigation bar. Default is the same as html_title.
-#html_short_title = None
-
-# The name of an image file (within the static path) to place at the top of
-# the sidebar.
-#html_logo = None
-
-# The name of an image file (within the static path) to use as favicon of the
-# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32
-# pixels large.
-#html_favicon = None
-
-# Add any paths that contain custom static files (such as style sheets) here,
-# relative to this directory. They are copied after the builtin static files,
-# so a file named "default.css" will overwrite the builtin "default.css".
-#html_static_path = ['.static']
-
-# If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
-# using the given strftime format.
-html_last_updated_fmt = '%b %d, %Y'
-
-# If true, SmartyPants will be used to convert quotes and dashes to
-# typographically correct entities.
-#html_use_smartypants = True
-
-# Custom sidebar templates, maps document names to template names.
-#html_sidebars = {}
-
-# Additional templates that should be rendered to pages, maps page names to
-# template names.
-#html_additional_pages = {}
-
-# If false, no module index is generated.
-#html_use_modindex = True
-
-# If false, no index is generated.
-#html_use_index = True
-
-# If true, the index is split into individual pages for each letter.
-#html_split_index = False
-
-# If true, the reST sources are included in the HTML build as _sources/<name>.
-#html_copy_source = True
-
-# If true, an OpenSearch description file will be output, and all pages will
-# contain a <link> tag referring to it. The value of this option must be the
-# base URL from which the finished HTML is served.
-#html_use_opensearch = ''
-
-# If nonempty, this is the file name suffix for HTML files (e.g. ".xhtml").
-#html_file_suffix = ''
-
-# Output file base name for HTML help builder.
-htmlhelp_basename = 'lockfiledoc'
-
-
-# Options for LaTeX output
-# ------------------------
-
-# The paper size ('letter' or 'a4').
-#latex_paper_size = 'letter'
-
-# The font size ('10pt', '11pt' or '12pt').
-#latex_font_size = '10pt'
-
-# Grouping the document tree into LaTeX files. List of tuples
-# (source start file, target name, title, author, document class [howto/manual]).
-latex_documents = [
- ('lockfile', 'lockfile.tex', 'lockfile Documentation',
- 'Skip Montanaro', 'manual'),
-]
-
-# The name of an image file (relative to this directory) to place at the top of
-# the title page.
-#latex_logo = None
-
-# For "manual" documents, if this is true, then toplevel headings are parts,
-# not chapters.
-#latex_use_parts = False
-
-# Additional stuff for the LaTeX preamble.
-#latex_preamble = ''
-
-# Documents to append as an appendix to all manuals.
-#latex_appendices = []
-
-# If false, no module index is generated.
-#latex_use_modindex = True
diff --git a/external_libs/python/lockfile-0.10.2/doc/source/index.rst b/external_libs/python/lockfile-0.10.2/doc/source/index.rst
deleted file mode 100644
index f76173dc..00000000
--- a/external_libs/python/lockfile-0.10.2/doc/source/index.rst
+++ /dev/null
@@ -1,275 +0,0 @@
-
-:mod:`lockfile` --- Platform-independent file locking
-=====================================================
-
-.. module:: lockfile
- :synopsis: Platform-independent file locking
-.. moduleauthor:: Skip Montanaro <skip@pobox.com>
-.. sectionauthor:: Skip Montanaro <skip@pobox.com>
-
-
-.. note::
-
- This package is pre-release software. Between versions 0.8 and 0.9 it
- was changed from a module to a package. It is quite possible that the
- API and implementation will change again in important ways as people test
- it and provide feedback and bug fixes. In particular, if the mkdir-based
- locking scheme is sufficient for both Windows and Unix platforms, the
- link-based scheme may be deleted so that only a single locking scheme is
- used, providing cross-platform lockfile cooperation.
-
-.. note::
-
- The implementation uses the `with` statement, both in the tests and in the
- main code, so will only work out-of-the-box with Python 2.5 or later.
- However, the use of the `with` statement is minimal, so if you apply the
- patch in the included 2.4.diff file you can use it with Python 2.4. It's
- possible that it will work in Python 2.3 with that patch applied as well,
- though the doctest code relies on APIs new in 2.4, so will have to be
- rewritten somewhat to allow testing on 2.3. As they say, patches welcome.
- ``;-)``
-
-The :mod:`lockfile` package exports a :class:`LockFile` class which provides
-a simple API for locking files. Unlike the Windows :func:`msvcrt.locking`
-function, the Unix :func:`fcntl.flock`, :func:`fcntl.lockf` and the
-deprecated :mod:`posixfile` module, the API is identical across both Unix
-(including Linux and Mac) and Windows platforms. The lock mechanism relies
-on the atomic nature of the :func:`link` (on Unix) and :func:`mkdir` (On
-Windows) system calls. It also contains several lock-method-specific
-modules: :mod:`lockfile.linklockfile`, :mod:`lockfile.mkdirlockfile`, and
-:mod:`lockfile.sqlitelockfile`, each one exporting a single class. For
-backwards compatibility with versions before 0.9 the :class:`LinkFileLock`,
-:class:`MkdirFileLock` and :class:`SQLiteFileLock` objects are exposed as
-attributes of the top-level lockfile package, though this use was deprecated
-starting with version 0.9 and will be removed in version 1.0.
-
-.. note::
-
- The current implementation uses :func:`os.link` on Unix, but since that
- function is unavailable on Windows it uses :func:`os.mkdir` there. At
- this point it's not clear that using the :func:`os.mkdir` method would be
- insufficient on Unix systems. If it proves to be adequate on Unix then
- the implementation could be simplified and truly cross-platform locking
- would be possible.
-
-.. note::
-
- The current implementation doesn't provide for shared vs. exclusive
- locks. It should be possible for multiple reader processes to hold the
- lock at the same time.
-
-The module defines the following exceptions:
-
-.. exception:: Error
-
- This is the base class for all exceptions raised by the :class:`LockFile`
- class.
-
-.. exception:: LockError
-
- This is the base class for all exceptions raised when attempting to lock
- a file.
-
-.. exception:: UnlockError
-
- This is the base class for all exceptions raised when attempting to
- unlock a file.
-
-.. exception:: LockTimeout
-
- This exception is raised if the :func:`LockFile.acquire` method is
- called with a timeout which expires before an existing lock is released.
-
-.. exception:: AlreadyLocked
-
- This exception is raised if the :func:`LockFile.acquire` detects a
- file is already locked when in non-blocking mode.
-
-.. exception:: LockFailed
-
- This exception is raised if the :func:`LockFile.acquire` detects some
- other condition (such as a non-writable directory) which prevents it from
- creating its lock file.
-
-.. exception:: NotLocked
-
- This exception is raised if the file is not locked when
- :func:`LockFile.release` is called.
-
-.. exception:: NotMyLock
-
- This exception is raised if the file is locked by another thread or
- process when :func:`LockFile.release` is called.
-
-The following classes are provided:
-
-.. class:: linklockfile.LinkLockFile(path, threaded=True)
-
- This class uses the :func:`link(2)` system call as the basic lock
- mechanism. *path* is an object in the file system to be locked. It need
- not exist, but its directory must exist and be writable at the time the
- :func:`acquire` and :func:`release` methods are called. *threaded* is
- optional, but when set to :const:`True` locks will be distinguished
- between threads in the same process.
-
-.. class:: symlinklockfile.SymlinkLockFile(path, threaded=True)
-
- This class uses the :func:`symlink(2)` system call as the basic lock
- mechanism. The parameters have the same meaning and constraints as for
- the :class:`LinkLockFile` class.
-
-.. class:: mkdirlockfile.MkdirLockFile(path, threaded=True)
-
- This class uses the :func:`mkdir(2)` system call as the basic lock
- mechanism. The parameters have the same meaning and constraints as for
- the :class:`LinkLockFile` class.
-
-.. class:: sqlitelockfile.SQLiteLockFile(path, threaded=True)
-
- This class uses the :mod:`sqlite3` module to implement the lock
- mechanism. The parameters have the same meaning as for the
- :class:`LinkLockFile` class.
-
-.. class:: LockBase(path, threaded=True)
-
- This is the base class for all concrete implementations and is available
- at the lockfile package level so programmers can implement other locking
- schemes.
-
-.. function:: locked(path, timeout=None)
-
- This function provides a decorator which insures the decorated function
- is always called with the lock held.
-
-By default, the :const:`LockFile` object refers to the
-:class:`mkdirlockfile.MkdirLockFile` class on Windows. On all other
-platforms it refers to the :class:`linklockfile.LinkLockFile` class.
-
-When locking a file the :class:`linklockfile.LinkLockFile` class creates a
-uniquely named hard link to an empty lock file. That hard link contains the
-hostname, process id, and if locks between threads are distinguished, the
-thread identifier. For example, if you want to lock access to a file named
-"README", the lock file is named "README.lock". With per-thread locks
-enabled the hard link is named HOSTNAME-THREADID-PID. With only per-process
-locks enabled the hard link is named HOSTNAME--PID.
-
-When using the :class:`mkdirlockfile.MkdirLockFile` class the lock file is a
-directory. Referring to the example above, README.lock will be a directory
-and HOSTNAME-THREADID-PID will be an empty file within that directory.
-
-.. seealso::
-
- Module :mod:`msvcrt`
- Provides the :func:`locking` function, the standard Windows way of
- locking (parts of) a file.
-
- Module :mod:`posixfile`
- The deprecated (since Python 1.5) way of locking files on Posix systems.
-
- Module :mod:`fcntl`
- Provides the current best way to lock files on Unix systems
- (:func:`lockf` and :func:`flock`).
-
-LockFile Objects
-----------------
-
-:class:`LockFile` objects support the `context manager` protocol used by the
-statement:`with` statement. The timeout option is not supported when used in
-this fashion. While support for timeouts could be implemented, there is no
-support for handling the eventual :exc:`Timeout` exceptions raised by the
-:func:`__enter__` method, so you would have to protect the `with` statement with
-a `try` statement. The resulting construct would not be any simpler than just
-using a `try` statement in the first place.
-
-:class:`LockFile` has the following user-visible methods:
-
-.. method:: LockFile.acquire(timeout=None)
-
- Lock the file associated with the :class:`LockFile` object. If the
- *timeout* is omitted or :const:`None` the caller will block until the
- file is unlocked by the object currently holding the lock. If the
- *timeout* is zero or a negative number the :exc:`AlreadyLocked` exception
- will be raised if the file is currently locked by another process or
- thread. If the *timeout* is positive, the caller will block for that
- many seconds waiting for the lock to be released. If the lock is not
- released within that period the :exc:`LockTimeout` exception will be
- raised.
-
-.. method:: LockFile.release()
-
- Unlock the file associated with the :class:`LockFile` object. If the
- file is not currently locked, the :exc:`NotLocked` exception is raised.
- If the file is locked by another thread or process the :exc:`NotMyLock`
- exception is raised.
-
-.. method:: is_locked()
-
- Return the status of the lock on the current file. If any process or
- thread (including the current one) is locking the file, :const:`True` is
- returned, otherwise :const:`False` is returned.
-
-.. method:: break_lock()
-
- If the file is currently locked, break it.
-
-.. method:: i_am_locking()
-
- Returns true if the caller holds the lock.
-
-Examples
---------
-
-This example is the "hello world" for the :mod:`lockfile` package::
-
- from lockfile import LockFile
- lock = LockFile("/some/file/or/other")
- with lock:
- print lock.path, 'is locked.'
-
-To use this with Python 2.4, you can execute::
-
- from lockfile import LockFile
- lock = LockFile("/some/file/or/other")
- lock.acquire()
- print lock.path, 'is locked.'
- lock.release()
-
-If you don't want to wait forever, you might try::
-
- from lockfile import LockFile
- lock = LockFile("/some/file/or/other")
- while not lock.i_am_locking():
- try:
- lock.acquire(timeout=60) # wait up to 60 seconds
- except LockTimeout:
- lock.break_lock()
- lock.acquire()
- print "I locked", lock.path
- lock.release()
-
-You can also insure that a lock is always held when appropriately decorated
-functions are called::
-
- from lockfile import locked
- @locked("/tmp/mylock")
- def func(a, b):
- return a + b
-
-Other Libraries
----------------
-
-The idea of implementing advisory locking with a standard API is not new
-with :mod:`lockfile`. There are a number of other libraries available:
-
-* locknix - http://pypi.python.org/pypi/locknix - Unix only
-* mx.MiscLockFile - from Marc André Lemburg, part of the mx.Base
- distribution - cross-platform.
-* Twisted - http://twistedmatrix.com/trac/browser/trunk/twisted/python/lockfile.py
-* zc.lockfile - http://pypi.python.org/pypi/zc.lockfile
-
-
-Contacting the Author
----------------------
-
-If you encounter any problems with ``lockfile``, would like help or want to
-submit a patch, check http://launchpad.net/pylockfile