Skip to main content

A package for managing Apple plist files.

Project description

# What is this?

This is a package for reading, writing and managing [Apple plist files](https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man5/plist.5.html).

# Installation

```
pip install plists
```

# Examples

## Reading plist files

### Reading V1 (Old Style) plists from file

```
import plists

obj = plists.v1parser.parseFile("path_to_file")

# ... use obj as a normal python object
```

### Reading V1 (Old Style) plists from string

```
import plists

obj = plists.v1parser.parse("some_loaded_string")

# ... use obj as a normal python object
```


### Reading XML plists from file

```
from plists import xmlparser

obj = xmlparser.parseFile("path_to_file")

# ... use obj as a normal python object
```

### Reading XML plists from string

```
from plists import xmlparser

obj = xmlparser.parse("some_loaded_string")

# ... use obj as a normal python object
```

### Reading Binary plists

Coming Soon


## Writing objects to plist files

### Writing to Old style plists

Objects can be written to old style plists with:

```
from plists import v1parser
from plists import v1writer

obj = v1parser.parseFile(<path_to_plist_file>)

v1writer.write(obj, outstream, indentString, level)
```

The parameters are:

* obj - The object being serialized
* outstream - The output stream to which the object will be serialized. If this is None, then a new string outputstream is written to and returned.
* indentString - Indentation string to be used. If this value is None then no indentation or pretification is applied. Otherwise this is used.
* level - The level to start with when serializing. Each child node is indented an extra level (if indentString is not None).

### Writing to XML plists

Objects can be written to xml plists with:

```
from plists import xmlparser
from plists import xmlwriter

obj = xmlparser.parseFile(<path_to_plist_file>)

xmlwriter.write(obj, outstream, indentString, level)
```

The parameters are:

* obj - The object being serialized
* outstream - The output stream to which the object will be serialized. If this is None, then a new string outputstream is written to and returned.
* indentString - Indentation string to be used. If this value is None then no indentation or pretification is applied. Otherwise this is used.
* level - The level to start with when serializing. Each child node is indented an extra level (if indentString is not None).

### Writing to Binary plists

Coming Soon.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

plists-0.0.4.tar.gz (7.4 kB view hashes)

Uploaded Source

Built Distribution

plists-0.0.4.macosx-10.10-x86_64.tar.gz (11.2 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page