{ "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" } ] }