Metadata-Version: 2.1
Name: cs.sharedfile
Version: 20190102
Summary: facilities for shared access to files
Home-page: https://bitbucket.org/cameron_simpson/css/commits/all
Author: Cameron Simpson
Author-email: cs@cskk.id.au
License: UNKNOWN
Description: Facilities for shared access to files.
        
        ## Function `lockfile(path, ext=None, poll_interval=None, timeout=None)`
        
        A context manager which takes and holds a lock file.
        
        Parameters:
        * `path`: the base associated with the lock file.
        * `ext`:
          the extension to the base used to construct the lock file name.
          Default: `".lock"`
        * `timeout`: maximum time to wait before failing,
          default None (wait forever).
        * `poll_interval`: polling frequency when timeout is not 0.
        
        ## Class `SharedAppendFile`
        
        A base class to share a modifiable file between multiple users.
        
        The use case was driven from the shared CSV files used by
        `cs.nodedb.csvdb.Backend_CSVFile`, where multiple users can
        read from a common CSV file, and coordinate updates with a
        lock file.
        
        This presents the following interfaces:
        * `__iter__`: yields data chunks from the underlying file up
          to EOF; it blocks no more than reading from the file does.
          Note that multiple iterators share the same read pointer.
        
        * `open`: a context manager returning a writable file for writing
          updates to the file; it blocks reads from this instance
          (though not, of course, by other users of the file) and
          arranges that users of `__iter__` do not receive their own
          written data, thus arranging that `__iter__` returns only
          foreign file updates.
        
        Subclasses would normally override `__iter__` to parse the
        received data into their natural records.
        
        ## Class `SharedAppendLines`
        
        MRO: `SharedAppendFile`  
        A line oriented subclass of `SharedAppendFile`.
        
        ## Class `SharedCSVFile`
        
        MRO: `SharedAppendLines`, `SharedAppendFile`  
        Shared access to a CSV file in UTF-8 encoding.
Keywords: python2,python3
Platform: UNKNOWN
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 3
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Operating System :: OS Independent
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
Description-Content-Type: text/markdown
