Skip to main content

Some simple MacOS plist facilities. Supports binary plist files, which the stdlib `plistlib` module does not.

Project description

Some simple MacOS plist facilities. Supports binary plist files, which the stdlib plistlib module does not.

Latest release 20220606: Initial PyPI release.

Function export_xml_to_plist(E, fp=None, fmt='binary1')

Export the content of an etree.Element to a plist file.

Parameters:

  • E: the source etree.Element.
  • fp: the output file or filename (if a str).
  • fmt: the output format, default "binary1". The format must be a valid value for the -convert option of plutil(1).

Function import_as_etree(plist)

Load an Apple plist and return an etree.Element.

Paramaters:

  • plist: the source plist: data if bytes, filename if str, otherwise a file object open for binary read.

Function ingest_plist(plist, recurse=False, resolve=False)

Ingest an Apple plist and return as a PListDict. Trivial wrapper for import_as_etree and ingest_plist_etree.

Parameters:

  • recurse: unpack any bytes objects as plists
  • resolve: resolve unpacked bytes plists' '$objects' entries

Function ingest_plist_array(pa)

Ingest a plist , returning a Python list.

Function ingest_plist_dict(pd)

Ingest a plist Element, returning a PListDict.

Function ingest_plist_elem(e)

Ingest a plist Element, converting various types to native Python objects. Unhandled types remain as the original Element.

Function ingest_plist_etree(plist_etree)

Recursively a plist's ElementTree into a native Python structure. This returns a PListDict, a mapping of the plists's top dict with attribute access to key values.

Function is_iphone()

Test if we're on an iPhone.

Class ObjectClassDefinition

A representation of a "class" object, used in resolve_object() for otherwise unrecognised objects which contain a $classname member.

Class ObjectClassInstance

A representation of a "class instance", used in resolve_object() for objects with a $class member.

Class PListDict(builtins.dict)

A mapping for a plist, subclassing dict, which also allows access to the elements by attribute if that does not conflict with a dict method.

Function readPlist(path, binary=False)

An old routine I made to use inside my jailbroken iPhone.

Function resolve_object(objs, i)

Resolve an object definition from structures like an iPhoto album queryData object list.

Function writePlist(rootObj, path, binary=False)

An old routine I made to use inside my jailbroken iPhone.

Release Log

Release 20220606: Initial PyPI release.

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

cs.app.osx.plist-20220606.tar.gz (5.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cs.app.osx.plist-20220606-py3-none-any.whl (6.1 kB view details)

Uploaded Python 3

File details

Details for the file cs.app.osx.plist-20220606.tar.gz.

File metadata

  • Download URL: cs.app.osx.plist-20220606.tar.gz
  • Upload date:
  • Size: 5.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.1 readme-renderer/30.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.7 tqdm/4.62.3 importlib-metadata/4.8.2 keyring/23.3.0 rfc3986/1.5.0 colorama/0.4.4 CPython/3.9.13

File hashes

Hashes for cs.app.osx.plist-20220606.tar.gz
Algorithm Hash digest
SHA256 7afa6949773944ad7b0ff50a04edc5bdaebf6d78bb58aefe2d5be8baa720ee19
MD5 9c0d21ede0cdc1dc5eff787f758fe9c3
BLAKE2b-256 c9497ba82730b53d7eaa5f623e3d2bebeed180cb3fb382479c09312d2a4e0aa7

See more details on using hashes here.

File details

Details for the file cs.app.osx.plist-20220606-py3-none-any.whl.

File metadata

  • Download URL: cs.app.osx.plist-20220606-py3-none-any.whl
  • Upload date:
  • Size: 6.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.1 readme-renderer/30.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.7 tqdm/4.62.3 importlib-metadata/4.8.2 keyring/23.3.0 rfc3986/1.5.0 colorama/0.4.4 CPython/3.9.13

File hashes

Hashes for cs.app.osx.plist-20220606-py3-none-any.whl
Algorithm Hash digest
SHA256 79b7978b142599a53fa3aa6bf5f30c66f9de24d49401c626f5261b50e9212c1f
MD5 95b02ea343d37d3a827e8b915a44c086
BLAKE2b-256 79c51cf1b96da1654d2c7a4cf8e59658bbb38fb1a3628c497419c95d9732ea01

See more details on using hashes here.

Supported by

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