{ "info": { "author": "s2nner", "author_email": "s2nner@gmail.com", "bugtrack_url": null, "classifiers": [ "Environment :: Web Environment", "Framework :: Django", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: Microsoft :: Windows :: Windows 10", "Operating System :: POSIX :: Linux", "Operating System :: Unix", "Programming Language :: Python", "Programming Language :: Python :: 3.6", "Topic :: Internet :: WWW/HTTP", "Topic :: Internet :: WWW/HTTP :: Dynamic Content", "Topic :: Text Processing :: Markup :: XML" ], "description": "## Django rss/xml parser(django_rss_xml)\nThis parse is intended for XML / RSS, which does not conform to the standard:\nhttps://tools.ietf.org/html/rfc5005\n\nUse https://pypi.python.org/pypi/feedparser\nfor standard RSS\n\n### install \n\npip install django-rss_xml-parser\n\n\nadd to settings\n\n```python\nINSTALLED_APPS = [\n ...\n 'django_rss_xml',\n ...\n ]\n```\n\n\n### usage\n1) create mappers\n```python\nafisha = {\n \"elements\": \"event\",\n \"items_to\": {\"id__attr\": \"event_id\", \"title\": \"title\", \"text\": \"text\"}\n}\n\nyandex = {\n \"elements\": \"item\",\n \"items_to\": {\"title\": \"title\", \"description\": \"text\"}\n}\n\nkassir = {\"elements\": \"item\"}\n...\n\n```\n2) create models\n\n```python\nfrom django.db import models\nfrom django.utils.translation import ugettext as _\nfrom django.utils.timezone import now\n\nclass Tags(models.Model):\n tag = models.CharField(max_length=50, verbose_name=_(\"Tag\"))\n\nclass RssModel(models.Model):\n event_id = models.IntegerField(verbose_name=_(\"event ID\"), null=True)\n title = models.CharField(max_length=550, verbose_name=_(\"Title\"), null=True)\n text = models.TextField(verbose_name=_(\"Description\"), null=True)\n time = models.DateTimeField(verbose_name=_(\"Time and Date\"), default=now, blank=True)\n tags = models.ForeignKey(Tags, on_delete=models.CASCADE, verbose_name=_('Tags'), null=True, blank=True)\n\n```\n\n3) add in view\n```python\nrss_rules = {\"uri\": 'rss/data/afisha.xml', \"rule\": afisha}\nOR\nrss_rules = {\"uri\": 'https://news.yandex.ru/auto.rss', \"rule\": yandex}\n```\nexample:\n```python\nfrom django.views.generic import TemplateView\nfrom .rss_mapper import kassir, afisha, yandex\nfrom django_rss_xml.rss_parser import RSS\nfrom .models import RssModel\n\n\nclass RSSView(TemplateView, RSS):\n template_name = \"rss/rss.html\"\n rss_rules = {\"uri\": 'rss/data/afisha.xml', \"rule\": afisha}\n\n def get_context_data(self, **kwargs):\n context = super(RSSView, self).get_context_data(**kwargs)\n context['rss_obj'] = self.rss_to_object()\n context['rss_m'] = self.rss_to_model(RssModel)\n return context\n```\n\n## Running tests\n\n```bash\npython manage.py test django_rss_xml\n```", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/s2nner", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "django-rss-xml-parser", "package_url": "https://pypi.org/project/django-rss-xml-parser/", "platform": "", "project_url": "https://pypi.org/project/django-rss-xml-parser/", "project_urls": { "Homepage": "https://github.com/s2nner" }, "release_url": "https://pypi.org/project/django-rss-xml-parser/0.4/", "requires_dist": null, "requires_python": "", "summary": "This parser is intended for RSS/XML that does not communicate the standard rfc5005", "version": "0.4" }, "last_serial": 3199381, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "02ae21e9683ed440af477622a1e38c33", "sha256": "73bf359e6eb9bf32f877905d9d03e90f7354289302014f5239f543781a601193" }, "downloads": -1, "filename": "django-rss_xml-parser-0.1.tar.gz", "has_sig": false, "md5_digest": "02ae21e9683ed440af477622a1e38c33", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4052, "upload_time": "2017-09-24T23:12:34", "url": "https://files.pythonhosted.org/packages/22/95/29ac677de83400b19e9946e40d99417d18b25f0186a3334b4b31d55a8131/django-rss_xml-parser-0.1.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "a11effba4c683dda1a31e3c71b80a4e2", "sha256": "46cad596e64906b8092e09cb78a64641746309c87b684a01d821fa1c3f3a7ba8" }, "downloads": -1, "filename": "django-rss_xml-parser-0.2.tar.gz", "has_sig": false, "md5_digest": "a11effba4c683dda1a31e3c71b80a4e2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5279, "upload_time": "2017-09-25T00:24:36", "url": "https://files.pythonhosted.org/packages/60/54/2eeab5f33d874d13471e0f44f976be10122236698d1dc096be2987f2289d/django-rss_xml-parser-0.2.tar.gz" } ], "0.3": [ { "comment_text": "", "digests": { "md5": "ebbaafa38dfb46de96218cd2955684c9", "sha256": "43ca70e860080aa852b7f6bec205a79c3f369a5484639e51ad8283060037838f" }, "downloads": -1, "filename": "django-rss_xml-parser-0.3.tar.gz", "has_sig": false, "md5_digest": "ebbaafa38dfb46de96218cd2955684c9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5139, "upload_time": "2017-09-25T00:26:57", "url": "https://files.pythonhosted.org/packages/71/6a/07918221732736f69fbcc4d31ab2a0a2857c01e7a5553e9e3e4a1748d2aa/django-rss_xml-parser-0.3.tar.gz" } ], "0.4": [ { "comment_text": "", "digests": { "md5": "71197670a92fd2903fb49e02f43a66b9", "sha256": "ac0cec6932e9b4119dacb0633c60f295637b24bf4db09a9c7ddd9c3bd0a6a32b" }, "downloads": -1, "filename": "django-rss_xml-parser-0.4.tar.gz", "has_sig": false, "md5_digest": "71197670a92fd2903fb49e02f43a66b9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5141, "upload_time": "2017-09-25T00:30:47", "url": "https://files.pythonhosted.org/packages/e5/35/2c3f37e3b1d31a21cdd7986901c7c603744718b890321ccf3a2897c0037b/django-rss_xml-parser-0.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "71197670a92fd2903fb49e02f43a66b9", "sha256": "ac0cec6932e9b4119dacb0633c60f295637b24bf4db09a9c7ddd9c3bd0a6a32b" }, "downloads": -1, "filename": "django-rss_xml-parser-0.4.tar.gz", "has_sig": false, "md5_digest": "71197670a92fd2903fb49e02f43a66b9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5141, "upload_time": "2017-09-25T00:30:47", "url": "https://files.pythonhosted.org/packages/e5/35/2c3f37e3b1d31a21cdd7986901c7c603744718b890321ccf3a2897c0037b/django-rss_xml-parser-0.4.tar.gz" } ] }