Package pyamf :: Module sol |
[hide private]
[frames] | no frames]

# Module sol

source code

Local Shared Object implementation.

Local Shared Object (LSO), sometimes known as Adobe Flash cookies, is a cookie-like data entity used by the Adobe Flash Player and Gnash. The players allow web content to read and write LSO data to the computer's local drive on a per-domain basis.

See Also:
  Local Shared Object on WikiPedia (external), Local Shared Object envelope (external)

Since: 0.1.0

Classes | [hide private]
| SOL Local Shared Object class, allows easy manipulation of the internals of a `sol` file.
| LSO Local Shared Object class, allows easy manipulation of the internals of a `sol` file.

Functions | [hide private]
`tuple` |
decode(stream, strict=True) Decodes a SOL stream. | source code
BufferedByteStream |
encode(name, values, strict=True, encoding=0) Produces a SharedObject encoded stream based on the name and values. | source code
load(name_or_file) Loads a sol file and returns a SOL object. | source code
save(sol, name_or_file, encoding=0) Writes a SOL object to `name_or_file`. | source code

Variables | [hide private]
| HEADER_VERSION = ``'``\x00\xbf``'`` Magic Number - 2 bytes
| HEADER_SIGNATURE = ``'``TCSO\x00\x04\x00\x00\x00\x00``'`` Marker - 10 bytes
| PADDING_BYTE = ``'``\x00``'`` Padding - 4 bytes

Imports: pyamf, util

Function Details | [hide private]

### decode(stream, strict=True) | source code
Decodes a SOL stream. `strict` mode ensures that the sol stream is as spec compatible as possible. Parameters: `strict` (`bool`) - Ensure that the SOL stream is as spec compatible as possible. Returns: `tuple` A `tuple` containing the `root_name` and a `dict` of name, value pairs. Raises: `DecodeError` - Unknown SOL version in header. `DecodeError` - Inconsistent stream header length. `DecodeError` - Invalid signature. `DecodeError` - Invalid padding read. `DecodeError` - Missing padding byte.

### encode(name, values, strict=True, encoding=0) | source code
Produces a SharedObject encoded stream based on the name and values. Parameters: `name` (`basestring`) - The root name of the SharedObject. `values` (`dict`) - A `dict` of name value pairs to be encoded in the stream. `strict` (`bool`) - Ensure that the SOL stream is as spec compatible as possible. Returns: BufferedByteStream A SharedObject encoded stream.

### load(name_or_file) | source code
Loads a sol file and returns a SOL object. Parameters: `name_or_file` (`str` or `StringIO`) - Name of file, or file-object. Raises: `ValueError` - Readable stream expected.

### save(sol, name_or_file, encoding=0) | source code
Writes a SOL object to `name_or_file`. Parameters: `sol` () `name_or_file` (`str` or `StringIO`) - Name of file, or file-object. `encoding` (`int`) - AMF encoding type. Raises: `ValueError` - Writable stream expected.