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 20221228: ingest_plist_dict: bugfix initial setting for key.

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 20221228: ingest_plist_dict: bugfix initial setting for key.

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-20221228.tar.gz (6.2 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-20221228-py3-none-any.whl (6.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: cs.app.osx.plist-20221228.tar.gz
  • Upload date:
  • Size: 6.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.13

File hashes

Hashes for cs.app.osx.plist-20221228.tar.gz
Algorithm Hash digest
SHA256 85c4946e32c9d67f908a03cb06cd182f99ad45b3e0445b3b01d7364ccd2e16d5
MD5 84f8d667da1867829eefbbbc18fe30ec
BLAKE2b-256 816ead5a63d3498b09ea5b34e35914bc1f71efe8b1b5e850b5791e0bc1042420

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cs.app.osx.plist-20221228-py3-none-any.whl
Algorithm Hash digest
SHA256 0373d13fe2b560e264eb3ab8566ca823caacaa5c25e849b9c55372ab11e1a41a
MD5 49ee14ae1975b9047ac16569fd21b986
BLAKE2b-256 dd34458471cee14d6fed4bb6c23bb4b480a84b0c54743a94afe724e6a12b1db0

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