A python plist xml validator
Project description
validate_plist_xml
This python module will validate Apple XML Plist files
By default configured to check files with the following extensions: ('.recipe', '.plist', '.profile')
By default, runs in the current working directory against all files in that directory and all subdirectories.
This module depends upon the lxml
module. (which is handled by pip automatically)
The code is found within src/validate_plist_xml/validate_plist_xml.py
within the git repo.
This module checks that the plist is valid XML and meets the Apple Plist DTD here: https://www.apple.com/DTDs/PropertyList-1.0.dtd
Examples:
Run as module:
$ python3 -m validate_plist_xml
XML Syntax Error in: ./tests/bad/example-bad-xml-tags.recipe
Opening and ending tag mismatch: BAD_TAG line 4 and dict, line 15, column 8 (example-bad-xml-tags.recipe, line 15)
Failed DTD Validation: ./tests/bad/example-bad-dtd.recipe
Element dict content does not follow the DTD, expecting (key , (array | data | date | dict | real | integer | string | true | false))*, got (key astring key string key dict key string key array ), line 4
2 errors found in 3 plist xml files
Use as GitHub Action:
---
name: plistlint
on:
push:
paths:
- "**.plist"
- "**.recipe"
- ".github/workflows/plistlint.yaml"
pull_request:
paths:
- "**.plist"
- "**.recipe"
- ".github/workflows/plistlint.yaml"
jobs:
plistlint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: 3.8
- name: Install validate-plist-xml
run: pip install validate-plist-xml
- name: Lint Plist files
run: python3 -m validate_plist_xml
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file validate-plist-xml-0.0.5.tar.gz
.
File metadata
- Download URL: validate-plist-xml-0.0.5.tar.gz
- Upload date:
- Size: 3.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.7.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2124056174226abb24ef33dbf5a27511b640f9fce24a8fbffde60f63bd64328b |
|
MD5 | 1c7d98e879d8045342ad8f0696062fa4 |
|
BLAKE2b-256 | 622d663fbc4bff0f0238b20e5b84424e8ec2ddc0a4f0529f28e9a53ce3d69121 |
File details
Details for the file validate_plist_xml-0.0.5-py3-none-any.whl
.
File metadata
- Download URL: validate_plist_xml-0.0.5-py3-none-any.whl
- Upload date:
- Size: 5.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.7.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 514b3a42e7c8b775eb37b69708acdb31ba89e37e584c65b00bf65772c116307d |
|
MD5 | 768702c43682df69d4b67728af167503 |
|
BLAKE2b-256 | 24271336daea2c598aeaea62c88fc1a65b2f215aea35e87b3cd87bac3d1bf40c |