{
"info": {
"author": "The Atlantic",
"author_email": "atmoprogrammers@theatlantic.com",
"bugtrack_url": null,
"classifiers": [
"Environment :: Web Environment",
"Framework :: Django",
"Intended Audience :: Developers",
"Operating System :: OS Independent",
"Programming Language :: Python"
],
"description": "django-xml\n##########\n\n**django-xml** is a python module which provides an abstraction to\n`lxml `_'s XPath and XSLT functionality in a manner\nresembling django database models.\n\n\nInstallation\n============\n\nTo install the latest stable release of django-xml, use pip or\neasy\\_install\n\n::\n\n pip install django-xml\n easy_install django-xml\n\nFor the latest development version, install from source with pip:\n\n::\n\n pip install -e git+git://github.com/theatlantic/django-xml#egg=django-xml\n\nIf the source is already checked out, install via setuptools:\n\n::\n\n python setup.py develop\n\nExample\n=======\n\n::\n\n import math\n from djxml import xmlmodels\n\n class NumbersExample(xmlmodels.XmlModel):\n\n class Meta:\n extension_ns_uri = \"urn:local:number-functions\"\n namespaces = {\"fn\": extension_ns_uri,}\n\n all_numbers = xmlmodels.XPathIntegerListField(\"//num\")\n even_numbers = xmlmodels.XPathIntegerListField(\"//num[fn:is_even(.)]\")\n sqrt_numbers = xmlmodels.XPathFloatListField(\"fn:sqrt(//num)\")\n\n @xmlmodels.lxml_extension\n def is_even(self, context, number_nodes):\n numbers = [getattr(n, 'text', n) for n in number_nodes]\n return all([bool(int(num) % 2 == 0) for num in numbers])\n\n @xmlmodels.lxml_extension\n def sqrt(self, context, number_nodes):\n sqrts = []\n for number_node in number_nodes:\n number = getattr(number_node, 'text', number_node)\n sqrts.append(repr(math.sqrt(int(number))))\n return sqrts\n\n def main():\n numbers_xml = u\"\"\"\n \n 1\n 2\n 3\n 4\n 5\n 6\n 7\n \"\"\"\n\n example = NumbersExample.create_from_string(numbers_xml)\n\n print \"all_numbers = %r\" % example.all_numbers\n print \"even_numbers = %r\" % example.even_numbers\n print \"sqrt_numbers = [%s]\" % ', '.join(['%.3f' % n for n in example.sqrt_numbers])\n # all_numbers = [1, 2, 3, 4, 5, 6, 7]\n # even_numbers = [2, 4, 6]\n # sqrt_numbers = [1.000, 1.414, 1.732, 2.000, 2.236, 2.449, 2.646]\n\n if __name__ == '__main__':\n main()\n\nAdvanced Example\n================\n\nAn example of django-xml usage which includes XsltField and\n@lxml\\_extension methods can be found\n`here `_.\n\nAPI Documentation\n=================\n\n`Read API documentation on github `_",
"description_content_type": null,
"docs_url": null,
"download_url": "UNKNOWN",
"downloads": {
"last_day": -1,
"last_month": -1,
"last_week": -1
},
"home_page": "https://github.com/theatlantic/django-xml",
"keywords": null,
"license": "UNKNOWN",
"maintainer": null,
"maintainer_email": null,
"name": "django-xml",
"package_url": "https://pypi.org/project/django-xml/",
"platform": "UNKNOWN",
"project_url": "https://pypi.org/project/django-xml/",
"project_urls": {
"Download": "UNKNOWN",
"Homepage": "https://github.com/theatlantic/django-xml"
},
"release_url": "https://pypi.org/project/django-xml/1.4.1/",
"requires_dist": null,
"requires_python": null,
"summary": "Provides an abstraction to lxml's XPath and XSLT functionality in a manner resembling django database models",
"version": "1.4.1"
},
"last_serial": 5688539,
"releases": {
"1.3.1": [
{
"comment_text": "",
"digests": {
"md5": "bcaf65d6cca60254ec4396bcbf5bffbd",
"sha256": "c6560164b0532b7d635079f43343ef46029b2cfbf575ee36d3324d7af45073ec"
},
"downloads": -1,
"filename": "django-xml-1.3.1.tar.gz",
"has_sig": false,
"md5_digest": "bcaf65d6cca60254ec4396bcbf5bffbd",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 23307,
"upload_time": "2013-08-24T02:04:42",
"url": "https://files.pythonhosted.org/packages/94/0a/304dd81fc221b76f5c7d28913dc6897f15870249456357307b37825b012a/django-xml-1.3.1.tar.gz"
}
],
"1.4.1": [
{
"comment_text": "",
"digests": {
"md5": "bdf49e68f9bbd23c4221b5eab0c0240a",
"sha256": "cf5a2bfe7801d518af80040068c54a84672eedc6ccb7e39d8f1e2dae0bd53c11"
},
"downloads": -1,
"filename": "django_xml-1.4.1-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "bdf49e68f9bbd23c4221b5eab0c0240a",
"packagetype": "bdist_wheel",
"python_version": "2.7",
"requires_python": null,
"size": 29208,
"upload_time": "2016-03-01T20:21:24",
"url": "https://files.pythonhosted.org/packages/84/84/90944d0f0a40d8e29b20136bed576ea6a95d9c8825da8a00d84c66f9878e/django_xml-1.4.1-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "74703887cb2764ebaa819474f43aca21",
"sha256": "99ba409e2d15dcd77f11930a5e50e2b96ffcce9ab2cdfd18fa232c7dbbab5181"
},
"downloads": -1,
"filename": "django-xml-1.4.1.tar.gz",
"has_sig": false,
"md5_digest": "74703887cb2764ebaa819474f43aca21",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 25358,
"upload_time": "2016-03-01T20:21:09",
"url": "https://files.pythonhosted.org/packages/4b/fb/8f1039e572cf7072d3a3ab0fec217b0cb3a4d5c248c7954b640acc12b243/django-xml-1.4.1.tar.gz"
}
]
},
"urls": [
{
"comment_text": "",
"digests": {
"md5": "bdf49e68f9bbd23c4221b5eab0c0240a",
"sha256": "cf5a2bfe7801d518af80040068c54a84672eedc6ccb7e39d8f1e2dae0bd53c11"
},
"downloads": -1,
"filename": "django_xml-1.4.1-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "bdf49e68f9bbd23c4221b5eab0c0240a",
"packagetype": "bdist_wheel",
"python_version": "2.7",
"requires_python": null,
"size": 29208,
"upload_time": "2016-03-01T20:21:24",
"url": "https://files.pythonhosted.org/packages/84/84/90944d0f0a40d8e29b20136bed576ea6a95d9c8825da8a00d84c66f9878e/django_xml-1.4.1-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "74703887cb2764ebaa819474f43aca21",
"sha256": "99ba409e2d15dcd77f11930a5e50e2b96ffcce9ab2cdfd18fa232c7dbbab5181"
},
"downloads": -1,
"filename": "django-xml-1.4.1.tar.gz",
"has_sig": false,
"md5_digest": "74703887cb2764ebaa819474f43aca21",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 25358,
"upload_time": "2016-03-01T20:21:09",
"url": "https://files.pythonhosted.org/packages/4b/fb/8f1039e572cf7072d3a3ab0fec217b0cb3a4d5c248c7954b640acc12b243/django-xml-1.4.1.tar.gz"
}
]
}