{ "info": { "author": "drymer", "author_email": "drymer@autistici.org", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: End Users/Desktop", "Operating System :: OS Independent", "Operating System :: POSIX", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4" ], "description": "`gnusrss <#gnusrss>`__\n`English <#english>`__\n\n- `About <#about>`__\n- `Features <#features>`__\n- `Requirements <#requirements>`__\n- `Git repository <#git-repository>`__\n- `Install <#install>`__\n- `Configuration <#configuration>`__\n- `Crontab <#crontab>`__\n- `Use with twitter2rss and/or GNU\n Social <#use-with-twitter2rss-and/or-gnu-social>`__\n- `License <#license>`__\n\n`Castellano <#castellano>`__\n\n- `Acerca de <#acerca-de>`__\n- `Features <#features>`__\n- `Requisitos <#requisitos>`__\n- `Repositorio git <#repositorio-git>`__\n- `Instalaci\u00f3n <#instalaci\u00f3n>`__\n- `Configuraci\u00f3n <#configuraci\u00f3n>`__\n- `Crontab <#crontab>`__\n- `Uso con twitter2rss y/o GNU\n Social <#uso-con-twitter2rss-y/o-gnu-social>`__\n- `Bugs <#bugs>`__\n- `Licencia <#licencia>`__\n\n1 gnusrss\n---------\n\n1.1 English\n~~~~~~~~~~~\n\n1.1.1 About\n^^^^^^^^^^^\n\ngnusrss parse feeds and post them to GNU Social. The idea of \u200b\u200bthis program came from `spigot `_, a program that posts feeds to the social network `pump.io `_ as does gnusrss but better, because it controls the possible flood. gnusrss does not have this option and it will be managed with the crontab (for now).\n\n1.1.2 Features\n^^^^^^^^^^^^^^\n\n- Multiple feed and GNU Social accounts support\n\n- sqlite3 is used to store the feeds\n\n- Can fetch RSS files or url indistinctly\n\n- Twitter image upload support when used with `twitter2rss `_\n\n1.1.3 Requirements\n^^^^^^^^^^^^^^^^^^\n\nNeed a version equal to or greater than python 3 and some libraries:\n\n- `feedparser `_ >= 5.0\n\n- `requests `_ >= 2.11.1\n\n1.1.4 Git repository\n^^^^^^^^^^^^^^^^^^^^\n\nIt's in two places:\n\n- `http://daemons.cf/cgit/gnusrss `_: the original repository\n\n- `https://notabug.org/drymer/gnusrss/ `_: A mirror in which it can be put issues and feature requests\n\n1.1.5 Install\n^^^^^^^^^^^^^\n\nAs with any program that uses python, it should be used a virtual environment (virtualenv), but that is user selectable. It's possible to use one of the next installation methods:\n\nInstall via pip:\n\n.. code-block:: sh\n :number-lines: 0\n\n $ su -c \"pip3 install gnusrss\"\n\nClone the repository:\n\n.. code-block:: sh\n :number-lines: 0\n\n $ git clone git://daemons.cf/gnusrss\n # OR ...\n $ git clone https://notabug.org/drymer/gnusrss/\n $ cd gnusrss\n $ su -c \"pip3 install -r requirements.txt\"\n $ su -c \"python3 setup.py install\"\n\nIf on parabola:\n\n.. code-block:: sh\n :number-lines: 0\n\n $ su -c \"pacman -S gnusrss\"\n\n1.1.6 Configuration\n^^^^^^^^^^^^^^^^^^^\n\nThe program is (or should be) quite intuitive. Running the following, should show the basics:\n\n.. code-block:: sh\n :number-lines: 0\n\n $ gnusrss.py\n usage: gnusrss [-h] [-c file_name] [-C] [-p config_file] [-P] [-k file_name]\n\n Post feeds to GNU Social\n\n optional arguments:\n -h, --help show this help message and exit\n -c file_name, --create-config file_name\n creates a config file\n -C, --create-db creates the database\n -p config_file, --post config_file\n posts feeds\n -P, --post-all posts all feeds\n -k file_name, --populate-database file_name\n fetch the RSS and save it in the database\n\nIn any case, if not clear, read the following.\n\nFor the first use, it must be created the database and the first configuration file. This can done using the same command, like this:\n\n.. code-block:: sh\n :number-lines: 0\n\n $ gnusrss.py --create-db --create-config daemons\n\nThen it will ask several questions to create the first configuration file. It should look like this:\n\n.. code-block:: text\n :number-lines: 0\n\n Database created!\n Hi! Now we'll create config file!\n Please enter the feed's URL: https://daemons.cf/rss.xml\n Please enter your username (user@server.com): drymer@quitter.se\n Please enter your password: falsePassword\n Do you need to shorten the URLs that you 'post? Please take in account\n That You should only use it if your node only have 140 characters.\n Answer with \"yes\" or just press enter if you do not want to use it:\n Please enter your feed's fallbackurl. If you do not want or have one,\n just press enter:\n Now we're gona fetch the feed. Please wait ...\n Done! The tags are:\n tags\n title_detail\n link\n authors\n links\n author_detail\n published_parsed\n title\n summary\n id\n author\n published\n guidislink\n summary_detail\n The XML has-been parsed. Choose wich format you want:\n Please put the tags inside the square brackets\n Ex: {title} - {link} by @{author}: {title} - {link} by @{author}\n Do you want to allow insecure connection to your GNU social server?\n Answer with \"yes\" or just press enter if you don't want to use it:\n Do you want to populate the database? (y) Or you prefer to post old items? (n)\n\nThe file is saved under the name 'daemons.ini'. It should look like this:\n\n.. code-block:: text\n :number-lines: 0\n\n [Feeds]\n feed = https://daemons.cf/rss.xml\n user = drymer@quitter.se\n password = falsePassword\n shorten =\n fallback_feed =\n format = {title} - {link} by @ {author}\n\nIt can create all the configuration files you want.\nWhen creating the above file, it put into the database all the feeds that had so far. Thus, when running **gnusrss** for the first time, it will not post nothing to GNU Social until the feed has new information.\nTo post feeds from a concrete config file or all execute, respectively, the following:\n\n.. code-block:: sh\n :number-lines: 0\n\n $ gnusrss.py -p daemons.ini\n $ gnusrss.py -P\n\nIf the config file is created manually and the user don't want to post all the feed's content, just use the --populate-database option to save them to the database:\n\n.. code-block:: sh\n :number-lines: 0\n\n $ gnusrss.py -k otherFile.ini\n\n1.1.7 Crontab\n^^^^^^^^^^^^^\n\nThe recommended way to execute **gnurss** is using the crontab. Each time it's run, a single item of the feed will be posted to prevent flood. Depending on the number of feeds that are published, you should choose a different runtime. For a blog that publishs once a day, it could be used the following:\n\n.. code-block:: sh\n :number-lines: 0\n\n $ crontab -e\n # A file is open and gets the following\n * 12 * * * cd $rutaDEgnusrss && gnusrss.py -p daemons.ini\n\nSo it runs once, every day at midday. If, however, it's used with `twitter2rss `_, it could be recommended putting it to run every five minutes. It has to be remembered that is important to run in the directory where the database was created, because is where it will search it..\n\n1.1.8 Use with twitter2rss and/or GNU Social\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\nIt works like any feed, except for the field that is published. In both you have to choose ``{summary}``. An example configuration file is as follows:\n\n.. code-block:: text\n :number-lines: 0\n\n [feeds]\n feed = https://quitter.se/api/statuses/user_timeline/127168.atom\n user = drymer@quitter.se\n password = falsePassword\n shorten =\n fallback_feed =\n format = {summary}\n\nThe feed can be achieved by looking at the source code of the page of the account you want. For `twitter2rss `_, you can host it or can use this `web `_.\n\n1.1.9 License\n^^^^^^^^^^^^^\n\n.. code-block:: text\n :number-lines: 0\n\n This program is free software: you can redistribute it and / or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation, Either version 3 of the License, or\n (At your option) any later version.\n\n This program is distributed in the hope That it will be useful,\n but WITHOUT ANY WARRANTY; without even the implied warranty of\n MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n GNU General Public License for more details.\n\n You should have received a copy of the GNU General Public License\n Along With This Program. If not, see .\n\n1.2 Castellano\n~~~~~~~~~~~~~~\n\n1.2.1 Acerca de\n^^^^^^^^^^^^^^^\n\ngnusrss parsea feeds y los postea en GNU Social. La idea de hacer este programa surgi\u00f3 de `spigot `_, un programa que postea feeds en la red social `pump.io `_ igual que hace gnusrss pero mejor, ya que controla el posible flood. gnusrss no tiene esta opci\u00f3n y se controlar\u00e1 con el propio crontab (de momento).\n\n1.2.2 Features\n^^^^^^^^^^^^^^\n\n- Soporta m\u00faltiples feeds y cuentas de GNU Social\n\n- sqlite3 es usado para guardar los feeds\n\n- Se puede usar tanto archivos RSS c\u00f3mo url indistintamente\n\n- Soporta la s\u00fabida de im\u00e1genes de Twitter cuando es usado en conjunto con `twitter2rss `_\n\n1.2.3 Requisitos\n^^^^^^^^^^^^^^^^\n\nNecesita una versi\u00f3n de python igual o superior a la 3 y algunas librerias:\n\n- `feedparser `_ >= 5.0\n\n- `requests `_ >= 2.11.1\n\n1.2.4 Repositorio git\n^^^^^^^^^^^^^^^^^^^^^\n\nEst\u00e1 en dos sitios:\n\n- `http://daemons.cf/cgit/gnusrss `_: el repositorio original\n\n- `https://notabug.org/drymer/gnusrss/ `_: un mirror, en el que se pueden poner los problemas y sugerencias de mejoras\n\n1.2.5 Instalaci\u00f3n\n^^^^^^^^^^^^^^^^^\n\nC\u00f3mo con cualquier programa con python, es recomendable usar un entorno virtual (virtualenv), pero eso queda a elecci\u00f3n del usuario. Se puede escoger entre los siguientes metodos:\n\nInstalar usando pip:\n\n.. code-block:: sh\n :number-lines: 0\n\n $ su -c \"pip3 install gnusrss\"\n\nClonar el repositorio:\n\n.. code-block:: sh\n :number-lines: 0\n\n $ git clone git://daemons.cf/gnusrss\n # O ...\n $ git clone https://notabug.org/drymer/gnusrss/\n $ cd gnusrss\n $ su -c \"pip3 install -r requirements.txt\"\n $ su -c \"python3 setup.py install\"\n\nSi se usa parabola:\n\n.. code-block:: sh\n :number-lines: 0\n\n $ su -c \"pacman -S gnusrss\"\n\n1.2.6 Configuraci\u00f3n\n^^^^^^^^^^^^^^^^^^^\n\nEl programa es (o deber\u00eda ser) bastante intuitivo. Ejecutando lo siguiente, deberia verse lo b\u00e1sico:\n\n.. code-block:: sh\n :number-lines: 0\n\n $ gnusrss.py\n usage: gnusrss [-h] [-c file_name] [-C] [-p config_file] [-P] [-k file_name]\n\n Post feeds to GNU Social\n\n optional arguments:\n -h, --help show this help message and exit\n -c file_name, --create-config file_name\n creates a config file\n -C, --create-db creates the database\n -p config_file, --post config_file\n posts feeds\n -P, --post-all posts all feeds\n -k file_name, --populate-database file_name\n fetch the RSS and save it in the database\n\nEn cualquier caso, si no queda claro, leer lo siguiente.\n\nPara el primer uso, la base de datos y el primer archivo de configuraci\u00f3n deben ser creados. Podemos hacerlo usando la misma orden, tal que as\u00ed:\n\n.. code-block:: sh\n :number-lines: 0\n\n $ gnusrss.py --create-db --create-config daemons\n\nA continuaci\u00f3n har\u00e1 varias preguntas para configurar el primer archivo de configuraci\u00f3n. Deber\u00eda verse as\u00ed:\n\n.. code-block:: text\n :number-lines: 0\n\n Database created!\n Hi! Now we'll create de config file!\n Please introduce the feed's url: https://daemons.cf/rss.xml\n Please introduce your username (user@server.com): drymer@quitter.se\n Please introduce your password: contrase\u00f1aFalsa\n {1}Do you need to shorten the urls that you post? Please take in account\n that you should only use it if your node only has 140 characters.\n Answer with \"yes\" or just press enter if you don't want to use it:\n {2}Please introduce your feed's fallbackurl. If you don't want or have one,\n just press enter:\n Now we're gona fetch the feed. Please wait...\n Done! The tags are:\n tags\n title_detail\n link\n authors\n links\n author_detail\n published_parsed\n title\n summary\n id\n author\n published\n guidislink\n summary_detail\n The XML has been parsed. Choose wich format you want:\n {3}Please put the tags inside the square brackets\n Ex: {title} - {link} by @{author}: {title} - {link} by @{author}\n {4}Do you want to allow insecure connection to your GNU social server?\n Answer with \"yes\" or just press enter if you don't want to use it:\n {5}Do you want to populate the database? (y) Or you prefer to post old items? (n)\n\nA continuaci\u00f3n traducir\u00e9 las lineas con los n\u00fameros entre corchetes.\n{1} Necesitas acortar las url que quieres postear? Por favor ten en cuenta que s\u00f3lo deberia usarse si el servidor s\u00f3lo tiene 140 car\u00e1cteres.\n{2} Por favor introduce tu feed de emergencia. Si no tienes uno, solamente aprieta enter.\n{3} Por favor pon las etiquetas dentro de los corchetes.\n{4} Quieres permitir conexiones inseguras a tu servidor GNU social? Responde con \"si\" o simplemente apreta enter si no necesitas usarlo.\n{5} Quieres llenar la base de datos? (y) O prefieres publicar los art\u00edculos antiguos? (n)\n\nRespecto al 3, hay que examinar el c\u00f3digo fuente del RSS para saber cuales interesan. En general, el que hay de ejemplo ser\u00e1 lo que se busque. En el caso 4, s\u00f3lo es \u00fatil si el servidor usa un certificado auto-firmado.\n\nEl archivo se guardar\u00e1 con el nombre 'daemons.ini'. Despu\u00e9s de todas estas preguntas, deber\u00eda verse similar a esto:\n\n.. code-block:: text\n :number-lines: 0\n\n [feeds]\n feed = https://daemons.cf/rss.xml\n user = drymer@quitter.se\n password = contrase\u00f1aFalsa\n shorten =\n fallback_feed =\n format = {title} - {link} by @{author}\n insecure =\n\nSe pueden crear todos los archivos de configuraci\u00f3n que se quieran.\nAl haber creado el archivo anterior, se han metido en la base de datos todos los feeds que habian hasta el momento. Por lo tanto, cuando se ejecuta **gnusrss** por primera vez, no postear\u00e1 nada en GNU Social, a menos que el feed tenga nueva informaci\u00f3n.\nPara postear los feeds de un archivo o todos, ejecutar, respectivamente, lo siguiente:\n\n.. code-block:: sh\n :number-lines: 0\n\n $ gnusrss.py -p daemons.ini\n $ gnusrss.py -P\n\nSi el archivo de configuraci\u00f3n ha sido creado manualmente y no se quiere postear el contenido del feed, s\u00f3lo hay que ejecutar la opci\u00f3n --populate-database para guardar estos en la base de datos:\n\n.. code-block:: sh\n :number-lines: 0\n\n $ gnusrss.py -k otherFile.ini\n\n1.2.7 Crontab\n^^^^^^^^^^^^^\n\nEl modo recomendado de ejecuci\u00f3n de gnusrss es usando el crontab. Cada vez que se ejecute postear\u00e1 un s\u00f3lo elemento del feed para evitar el flood. Seg\u00fan la cantidad de feeds que se publiquen, se deberia escoger un tiempo de ejecuci\u00f3n distinto. Para un blog que publique una vez al d\u00eda, con poner lo siguiente, deberia valer:\n\n.. code-block:: sh\n :number-lines: 0\n\n $ crontab -e\n # Se abrir\u00e1 un archivo y se mete lo siguiente\n * 12 * * * cd $rutaDEgnusrss && gnusrss.py -p daemons.cf\n\nAs\u00ed se ejecuta una vez al d\u00eda, a las doce de la ma\u00f1ana. Si, en cambio, lo usasemos con `twitter2rss `_, se recomienda poner que se ejecute cada cinco minutos. Hay que recordar que es importante que se ejecute en el directorio en el que se ha creado la base de datos, ya que es ah\u00ed d\u00f3nde la buscar\u00e1.\n\n1.2.8 Uso con twitter2rss y/o GNU Social\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\nFunciona igual que con cualquier feed, exceptuando el campo que se publica. En ambos hay que escoger ``{summary}``. Un ejemplo de archivo de configuraci\u00f3n ser\u00eda el siguiente:\n\n.. code-block:: text\n :number-lines: 0\n\n [feeds]\n feed = https://quitter.se/api/statuses/user_timeline/127168.atom\n user = drymer@quitter.se\n password = contrase\u00f1aFalsa\n shorten =\n fallback_feed =\n format = {summary}\n\nEl feed se puede conseguir mirando el c\u00f3digo fuente de la p\u00e1gina de la cuenta que se quiere. En el caso de `twitter2rss `_, se puede hostear o se puede usar esta `web `_. No es recomendable usarlo con ning\u00fan nodo que use 140 car\u00e1cteres, ya que en los retweets se a\u00f1ade un s\u00edmbolo, \"\u267b\", lo cual har\u00e1 que un tweet de 140 car\u00e1cteres no sea posteado.\n\n1.2.9 Bugs\n^^^^^^^^^^\n\n1.2.10 Licencia\n^^^^^^^^^^^^^^^\n\n.. code-block:: text\n :number-lines: 0\n\n This program is free software: you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation, either version 3 of the License, or\n (at your option) any later version.\n\n This program is distributed in the hope that it will be useful,\n but WITHOUT ANY WARRANTY; without even the implied warranty of\n MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n GNU General Public License for more details.\n\n You should have received a copy of the GNU General Public License\n along with this program. If not, see .", "description_content_type": null, "docs_url": null, "download_url": "https://git.daemons.it/drymer/gnusrss/snapshot/gnusrss-0.2.3.1.tar.gz", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://git.daemons.it/drymer/gnusrss/about/", "keywords": "", "license": "GPLv3", "maintainer": "", "maintainer_email": "", "name": "gnusrss", "package_url": "https://pypi.org/project/gnusrss/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/gnusrss/", "project_urls": { "Download": "https://git.daemons.it/drymer/gnusrss/snapshot/gnusrss-0.2.3.1.tar.gz", "Homepage": "https://git.daemons.it/drymer/gnusrss/about/" }, "release_url": "https://pypi.org/project/gnusrss/0.2.3.1/", "requires_dist": null, "requires_python": "", "summary": "Post feeds to GNU Social.", "version": "0.2.3.1" }, "last_serial": 2770101, "releases": { "0.2.1.10": [ { "comment_text": "", "digests": { "md5": "89a1146fc493e1af96a2707ffae0562f", "sha256": "315cacef9e3241f4530a60ece2f597ebda3199563183b2aef0f0565fbeadeaee" }, "downloads": -1, "filename": "gnusrss-0.2.1.10.tar.gz", "has_sig": false, "md5_digest": "89a1146fc493e1af96a2707ffae0562f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12034, "upload_time": "2016-01-21T18:12:49", "url": "https://files.pythonhosted.org/packages/ab/8f/db47b2c02e839a4cef50f931b850ab83aeb30a185ee9136dd914b6567abf/gnusrss-0.2.1.10.tar.gz" } ], "0.2.1.11": [ { "comment_text": "", "digests": { "md5": "774b8e25d6a8bb85f543cf54b9b6e1aa", "sha256": "0ec6ef11e95a3d66805b058e1c2eb7b8d2efd4ef8c8ff72da077804e108c34bc" }, "downloads": -1, "filename": "gnusrss-0.2.1.11.tar.gz", "has_sig": true, "md5_digest": "774b8e25d6a8bb85f543cf54b9b6e1aa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12388, "upload_time": "2016-02-28T11:56:19", "url": "https://files.pythonhosted.org/packages/72/fd/bf560fc188a5f439582bac168dc06c724fd2ebfd5dd6bfab0e65ee213574/gnusrss-0.2.1.11.tar.gz" } ], "0.2.1.12": [ { "comment_text": "", "digests": { "md5": "3abcef5f0454c95f231539816ae42fc2", "sha256": "0829cea7a9949cc68287b7031433385c7c6cffe78c45fa2793b4d4b5d0763627" }, "downloads": -1, "filename": "gnusrss-0.2.1.12.tar.gz", "has_sig": true, "md5_digest": "3abcef5f0454c95f231539816ae42fc2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12454, "upload_time": "2016-02-28T21:00:51", "url": "https://files.pythonhosted.org/packages/0e/ab/1b03e61ff2ba822379221352c277ebf3f9bd903b9f8adda7031b3ffbbccc/gnusrss-0.2.1.12.tar.gz" } ], "0.2.1.4": [], "0.2.1.5": [ { "comment_text": "", "digests": { "md5": "3038c5a97e583a79f5e44983d7084b8c", "sha256": "7e0362a179689f9a74757d1ec15b1aa35c28d48e74ae2bbd6f690d416b229c24" }, "downloads": -1, "filename": "gnusrss-0.2.1.5.tar.gz", "has_sig": true, "md5_digest": "3038c5a97e583a79f5e44983d7084b8c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11012, "upload_time": "2015-12-07T13:30:05", "url": "https://files.pythonhosted.org/packages/a3/76/5db4ba483c2632a12df431936d9c71b571e173d731c63924dab1735f321e/gnusrss-0.2.1.5.tar.gz" } ], "0.2.1.6": [ { "comment_text": "", "digests": { "md5": "deb2ca2ee48d0880149d3067b558e987", "sha256": "1a9077bee0bf38a3e97fe2f444edf53e44204d19f79322ee925ccb933835d64d" }, "downloads": -1, "filename": "gnusrss-0.2.1.6.tar.gz", "has_sig": false, "md5_digest": "deb2ca2ee48d0880149d3067b558e987", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11080, "upload_time": "2015-12-11T12:09:09", "url": "https://files.pythonhosted.org/packages/85/52/092663c8a8292bab12e633d781873cab81a64f9b8c449b78d4b5d47866ac/gnusrss-0.2.1.6.tar.gz" } ], "0.2.1.7": [ { "comment_text": "", "digests": { "md5": "c587cdc0cf02f40371f23dfc4a3bf3a9", "sha256": "3a4eade486c333a0df67fd88f7ed7a7b088932f8841f6d913ca7251a3bdc3f38" }, "downloads": -1, "filename": "gnusrss-0.2.1.7.tar.gz", "has_sig": true, "md5_digest": "c587cdc0cf02f40371f23dfc4a3bf3a9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11070, "upload_time": "2015-12-14T18:46:31", "url": "https://files.pythonhosted.org/packages/f7/33/28b2bcfe2e70e3e5898743af1b206b93f3b484d73969da313e01be52fdde/gnusrss-0.2.1.7.tar.gz" } ], "0.2.1.9": [ { "comment_text": "", "digests": { "md5": "d7338338e39f5680eee3ef612e44247d", "sha256": "445ad63c4ae78bd722ecb5b68435b6613466ea4872605589022be9ce8b6c301c" }, "downloads": -1, "filename": "gnusrss-0.2.1.9.tar.gz", "has_sig": false, "md5_digest": "d7338338e39f5680eee3ef612e44247d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11922, "upload_time": "2016-01-18T05:15:37", "url": "https://files.pythonhosted.org/packages/b1/cf/88fe6469ef4db80272f7f6afec377343788d6eb4aae685cbe34188ba7f4a/gnusrss-0.2.1.9.tar.gz" } ], "0.2.2.1": [ { "comment_text": "", "digests": { "md5": "71ec92ab0134259717536a52fa8da331", "sha256": "43a04351f6712e784854367bae4e390c1add96355507db4d4fff5ffff6e849b4" }, "downloads": -1, "filename": "gnusrss-0.2.2.1.tar.gz", "has_sig": false, "md5_digest": "71ec92ab0134259717536a52fa8da331", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13046, "upload_time": "2016-04-04T19:14:14", "url": "https://files.pythonhosted.org/packages/46/83/23feba4c15b0386b3be406bb58521274bcea2c4eefdd093ce3ad5992ee05/gnusrss-0.2.2.1.tar.gz" } ], "0.2.2.2": [ { "comment_text": "", "digests": { "md5": "826380c4279e646ef6f3b0e7964b4f72", "sha256": "bd9a86022e93ee94205de888aca13226386727c7172cf67408565186655a9b7e" }, "downloads": -1, "filename": "gnusrss-0.2.2.2.tar.gz", "has_sig": false, "md5_digest": "826380c4279e646ef6f3b0e7964b4f72", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14534, "upload_time": "2016-04-14T22:23:45", "url": "https://files.pythonhosted.org/packages/0e/de/ad3eeb2e3285faa86879dd81f0e66c1e3ba1f023e3d6ff6e68eb78abedcb/gnusrss-0.2.2.2.tar.gz" } ], "0.2.2.3": [ { "comment_text": "", "digests": { "md5": "38c13fdce62f1d4a6ffc9c7b600013e4", "sha256": "0934a0e7ac961afe940b7073b4c5e4ee17516e3d41aa1513ab0334026a680063" }, "downloads": -1, "filename": "gnusrss-0.2.2.3.tar.gz", "has_sig": false, "md5_digest": "38c13fdce62f1d4a6ffc9c7b600013e4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12502, "upload_time": "2016-10-13T16:50:36", "url": "https://files.pythonhosted.org/packages/4c/fc/044c0e862f991d3ae7e93732e1cd85ea62aaa58fdde07c6cc2f2a8b66e18/gnusrss-0.2.2.3.tar.gz" } ], "0.2.3.1": [ { "comment_text": "", "digests": { "md5": "ffe9d8bf31468c5686a527729e5ff8f8", "sha256": "30c296e30887c1e54697ad3a868a79db1bbb7cb3fba7672612cc34cfef34f23c" }, "downloads": -1, "filename": "gnusrss-0.2.3.1.tar.gz", "has_sig": false, "md5_digest": "ffe9d8bf31468c5686a527729e5ff8f8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16581, "upload_time": "2017-04-10T22:52:49", "url": "https://files.pythonhosted.org/packages/00/cb/6e2a5184d1d5cc2bf0b36c8e28cf91411d0eca37686829ee7e0b0047fad4/gnusrss-0.2.3.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "ffe9d8bf31468c5686a527729e5ff8f8", "sha256": "30c296e30887c1e54697ad3a868a79db1bbb7cb3fba7672612cc34cfef34f23c" }, "downloads": -1, "filename": "gnusrss-0.2.3.1.tar.gz", "has_sig": false, "md5_digest": "ffe9d8bf31468c5686a527729e5ff8f8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16581, "upload_time": "2017-04-10T22:52:49", "url": "https://files.pythonhosted.org/packages/00/cb/6e2a5184d1d5cc2bf0b36c8e28cf91411d0eca37686829ee7e0b0047fad4/gnusrss-0.2.3.1.tar.gz" } ] }