Last updated:
0 purchases
gnusrss 0.2.3.1
`gnusrss <#gnusrss>`__`English <#english>`__- `About <#about>`__- `Features <#features>`__- `Requirements <#requirements>`__- `Git repository <#git-repository>`__- `Install <#install>`__- `Configuration <#configuration>`__- `Crontab <#crontab>`__- `Use with twitter2rss and/or GNU Social <#use-with-twitter2rss-and/or-gnu-social>`__- `License <#license>`__`Castellano <#castellano>`__- `Acerca de <#acerca-de>`__- `Features <#features>`__- `Requisitos <#requisitos>`__- `Repositorio git <#repositorio-git>`__- `Instalación <#instalación>`__- `Configuración <#configuración>`__- `Crontab <#crontab>`__- `Uso con twitter2rss y/o GNU Social <#uso-con-twitter2rss-y/o-gnu-social>`__- `Bugs <#bugs>`__- `Licencia <#licencia>`__1 gnusrss---------1.1 English~~~~~~~~~~~1.1.1 About^^^^^^^^^^^gnusrss parse feeds and post them to GNU Social. The idea of this program came from `spigot <https://github.com/nathans/spigot>`_, a program that posts feeds to the social network `pump.io <https://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).1.1.2 Features^^^^^^^^^^^^^^- Multiple feed and GNU Social accounts support- sqlite3 is used to store the feeds- Can fetch RSS files or url indistinctly- Twitter image upload support when used with `twitter2rss <http://daemons.cf/cgit/twitter2rss>`_1.1.3 Requirements^^^^^^^^^^^^^^^^^^Need a version equal to or greater than python 3 and some libraries:- `feedparser <//pypi.python.org/pypi/feedparser>`_ >= 5.0- `requests <https://pypi.python.org/pypi/requests/2.11.1>`_ >= 2.11.11.1.4 Git repository^^^^^^^^^^^^^^^^^^^^It's in two places:- `http://daemons.cf/cgit/gnusrss <http://daemons.cf/cgit/gnusrss>`_: the original repository- `https://notabug.org/drymer/gnusrss/ <https://notabug.org/drymer/gnusrss/>`_: A mirror in which it can be put issues and feature requests1.1.5 Install^^^^^^^^^^^^^As 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:Install via pip:.. code-block:: sh :number-lines: 0 su−c"pip3installgnusrss"Clonetherepository:..code−block::sh:number−lines:0 git clone git://daemons.cf/gnusrss # OR ... gitclonehttps://notabug.org/drymer/gnusrss/ cd gnusrss su−c"pip3install−rrequirements.txt" su -c "python3 setup.py install"If on parabola:.. code-block:: sh :number-lines: 0 Missing open brace for superscriptMissing open brace for superscript gnusrss.py usage: gnusrss [-h] [-c file_name] [-C] [-p config_file] [-P] [-k file_name] Post feeds to GNU Social optional arguments: -h, --help show this help message and exit -c file_name, --create-config file_name creates a config file -C, --create-db creates the database -p config_file, --post config_file posts feeds -P, --post-all posts all feeds -k file_name, --populate-database file_name fetch the RSS and save it in the databaseIn any case, if not clear, read the following.For the first use, it must be created the database and the first configuration file. This can done using the same command, like this:.. code-block:: sh :number-lines: 0 gnusrss.py−−create−db−−create−configdaemonsThenitwillaskseveralquestionstocreatethefirstconfigurationfile.Itshouldlooklikethis:..code−block::text:number−lines:0Databasecreated!Hi!Nowwe′llcreateconfigfile!Pleaseenterthefeed′sURL:https://daemons.cf/rss.xmlPleaseenteryourusername([email protected]):[email protected]:falsePasswordDoyouneedtoshortentheURLsthatyou′post?PleasetakeinaccountThatYoushouldonlyuseitifyournodeonlyhave140characters.Answerwith"yes"orjustpressenterifyoudonotwanttouseit:Pleaseenteryourfeed′sfallbackurl.Ifyoudonotwantorhaveone,justpressenter:Nowwe′regonafetchthefeed.Pleasewait...Done!Thetagsare:tagstitledetaillinkauthorslinksauthordetailpublishedparsedtitlesummaryidauthorpublishedguidislinksummarydetailTheXMLhas−beenparsed.Choosewichformatyouwant:PleaseputthetagsinsidethesquarebracketsEx:title−linkby@author:title−linkby@authorDoyouwanttoallowinsecureconnectiontoyourGNUsocialserver?Answerwith"yes"orjustpressenterifyoudon′twanttouseit:Doyouwanttopopulatethedatabase?(y)Oryouprefertopostolditems?(n)Thefileissavedunderthename′daemons.ini′.Itshouldlooklikethis:..code−block::text:number−lines:0[Feeds]feed=https://daemons.cf/[email protected]=falsePasswordshorten=fallbackfeed=format=title−linkby@authorItcancreatealltheconfigurationfilesyouwant.Whencreatingtheabovefile,itputintothedatabaseallthefeedsthathadsofar.Thus,whenrunning∗∗gnusrss∗∗forthefirsttime,itwillnotpostnothingtoGNUSocialuntilthefeedhasnewinformation.Topostfeedsfromaconcreteconfigfileorallexecute,respectively,thefollowing:..code−block::sh:number−lines:0 gnusrss.py -p daemons.ini gnusrss.py−PIftheconfigfileiscreatedmanuallyandtheuserdon′twanttopostallthefeed′scontent,justusethe−−populate−databaseoptiontosavethemtothedatabase:..code−block::sh:number−lines:0 gnusrss.py -k otherFile.ini1.1.7 Crontab^^^^^^^^^^^^^The 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:.. code-block:: sh :number-lines: 0 You can't use 'macro parameter character #' in math modeYou can't use 'macro parameter character #' in math moderutaDEgnusrss && gnusrss.py -p daemons.iniSo it runs once, every day at midday. If, however, it's used with `twitter2rss <http://daemons.cf/cgit/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..1.1.8 Use with twitter2rss and/or GNU Social^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^It 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:.. code-block:: text :number-lines: 0 [feeds] feed = https://quitter.se/api/statuses/user_timeline/127168.atom user = [email protected] password = falsePassword shorten = fallback_feed = format = {summary}The feed can be achieved by looking at the source code of the page of the account you want. For `twitter2rss <http://daemons.cf/cgit/twitter2rss>`_, you can host it or can use this `web <http://daemons.cf/twitter2rss>`_.1.1.9 License^^^^^^^^^^^^^.. code-block:: text :number-lines: 0 This program is free software: you can redistribute it and / or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, Either version 3 of the License, or (At your option) any later version. This program is distributed in the hope That it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License Along With This Program. If not, see <http://www.gnu.org/licenses/>.1.2 Castellano~~~~~~~~~~~~~~1.2.1 Acerca de^^^^^^^^^^^^^^^gnusrss parsea feeds y los postea en GNU Social. La idea de hacer este programa surgió de `spigot <https://github.com/nathans/spigot>`_, un programa que postea feeds en la red social `pump.io <https://pump.io>`_ igual que hace gnusrss pero mejor, ya que controla el posible flood. gnusrss no tiene esta opción y se controlará con el propio crontab (de momento).1.2.2 Features^^^^^^^^^^^^^^- Soporta múltiples feeds y cuentas de GNU Social- sqlite3 es usado para guardar los feeds- Se puede usar tanto archivos RSS cómo url indistintamente- Soporta la súbida de imágenes de Twitter cuando es usado en conjunto con `twitter2rss <http://daemons.cf/cgit/twitter2rss>`_1.2.3 Requisitos^^^^^^^^^^^^^^^^Necesita una versión de python igual o superior a la 3 y algunas librerias:- `feedparser <https://pypi.python.org/pypi/feedparser>`_ >= 5.0- `requests <https://pypi.python.org/pypi/requests/2.11.1>`_ >= 2.11.11.2.4 Repositorio git^^^^^^^^^^^^^^^^^^^^^Está en dos sitios:- `http://daemons.cf/cgit/gnusrss <http://daemons.cf/cgit/gnusrss>`_: el repositorio original- `https://notabug.org/drymer/gnusrss/ <https://notabug.org/drymer/gnusrss/>`_: un mirror, en el que se pueden poner los problemas y sugerencias de mejoras1.2.5 Instalación^^^^^^^^^^^^^^^^^Cómo con cualquier programa con python, es recomendable usar un entorno virtual (virtualenv), pero eso queda a elección del usuario. Se puede escoger entre los siguientes metodos:Instalar usando pip:.. code-block:: sh :number-lines: 0 su−c"pip3installgnusrss"Clonarelrepositorio:..code−block::sh:number−lines:0 git clone git://daemons.cf/gnusrss # O ... gitclonehttps://notabug.org/drymer/gnusrss/ cd gnusrss su−c"pip3install−rrequirements.txt" su -c "python3 setup.py install"Si se usa parabola:.. code-block:: sh :number-lines: 0 Missing open brace for superscriptMissing open brace for superscript gnusrss.py usage: gnusrss [-h] [-c file_name] [-C] [-p config_file] [-P] [-k file_name] Post feeds to GNU Social optional arguments: -h, --help show this help message and exit -c file_name, --create-config file_name creates a config file -C, --create-db creates the database -p config_file, --post config_file posts feeds -P, --post-all posts all feeds -k file_name, --populate-database file_name fetch the RSS and save it in the databaseEn cualquier caso, si no queda claro, leer lo siguiente.Para el primer uso, la base de datos y el primer archivo de configuración deben ser creados. Podemos hacerlo usando la misma orden, tal que así:.. code-block:: sh :number-lines: 0 óáóííñóéúóóáíóáóúáéíñóáógnusrss.py−−create−db−−create−configdaemonsAcontinuaciónharávariaspreguntasparaconfigurarelprimerarchivodeconfiguración.Deberíaverseasí:..code−block::text:number−lines:0Databasecreated!Hi!Nowwe′llcreatedeconfigfile!Pleaseintroducethefeed′surl:https://daemons.cf/rss.xmlPleaseintroduceyourusername([email protected]):[email protected]:contraseñaFalsa1Doyouneedtoshortentheurlsthatyoupost?Pleasetakeinaccountthatyoushouldonlyuseitifyournodeonlyhas140characters.Answerwith"yes"orjustpressenterifyoudon′twanttouseit:2Pleaseintroduceyourfeed′sfallbackurl.Ifyoudon′twantorhaveone,justpressenter:Nowwe′regonafetchthefeed.Pleasewait...Done!Thetagsare:tagstitledetaillinkauthorslinksauthordetailpublishedparsedtitlesummaryidauthorpublishedguidislinksummarydetailTheXMLhasbeenparsed.Choosewichformatyouwant:3PleaseputthetagsinsidethesquarebracketsEx:title−linkby@author:title−linkby@author4DoyouwanttoallowinsecureconnectiontoyourGNUsocialserver?Answerwith"yes"orjustpressenterifyoudon′twanttouseit:5Doyouwanttopopulatethedatabase?(y)Oryouprefertopostolditems?(n)Acontinuacióntraducirélaslineasconlosnúmerosentrecorchetes.1Necesitasacortarlasurlquequierespostear?Porfavortenencuentaquesólodeberiausarsesielservidorsólotiene140carácteres.2Porfavorintroducetufeeddeemergencia.Sinotienesuno,solamenteaprietaenter.3Porfavorponlasetiquetasdentrodeloscorchetes.4QuierespermitirconexionesinsegurasatuservidorGNUsocial?Respondecon"si"osimplementeapretaentersinonecesitasusarlo.5Quieresllenarlabasededatos?(y)Oprefierespublicarlosartículosantiguos?(n)Respectoal3,hayqueexaminarelcódigofuentedelRSSparasabercualesinteresan.Engeneral,elquehaydeejemploseráloquesebusque.Enelcaso4,sóloesútilsielservidorusauncertificadoauto−firmado.Elarchivoseguardaráconelnombre′daemons.ini′.Despuésdetodasestaspreguntas,deberíaversesimilaraesto:..code−block::text:number−lines:0[feeds]feed=https://daemons.cf/[email protected]=contraseñaFalsashorten=fallbackfeed=format=title−linkby@authorinsecure=Sepuedencreartodoslosarchivosdeconfiguraciónquesequieran.Alhabercreadoelarchivoanterior,sehanmetidoenlabasededatostodoslosfeedsquehabianhastaelmomento.Porlotanto,cuandoseejecuta∗∗gnusrss∗∗porprimeravez,nopostearánadaenGNUSocial,amenosqueelfeedtenganuevainformación.Parapostearlosfeedsdeunarchivootodos,ejecutar,respectivamente,losiguiente:..code−block::sh:number−lines:0 gnusrss.py -p daemons.ini óóógnusrss.py−PSielarchivodeconfiguraciónhasidocreadomanualmenteynosequierepostearelcontenidodelfeed,sólohayqueejecutarlaopción−−populate−databaseparaguardarestosenlabasededatos:..code−block::sh:number−lines:0 gnusrss.py -k otherFile.ini1.2.7 Crontab^^^^^^^^^^^^^El modo recomendado de ejecución de gnusrss es usando el crontab. Cada vez que se ejecute posteará un sólo elemento del feed para evitar el flood. Según la cantidad de feeds que se publiquen, se deberia escoger un tiempo de ejecución distinto. Para un blog que publique una vez al día, con poner lo siguiente, deberia valer:.. code-block:: sh :number-lines: 0 You can't use 'macro parameter character #' in math modeYou can't use 'macro parameter character #' in math moderutaDEgnusrss && gnusrss.py -p daemons.cfAsí se ejecuta una vez al día, a las doce de la mañana. Si, en cambio, lo usasemos con `twitter2rss <http://daemons.cf/cgit/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í dónde la buscará.1.2.8 Uso con twitter2rss y/o GNU Social^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^Funciona igual que con cualquier feed, exceptuando el campo que se publica. En ambos hay que escoger ``{summary}``. Un ejemplo de archivo de configuración sería el siguiente:.. code-block:: text :number-lines: 0 [feeds] feed = https://quitter.se/api/statuses/user_timeline/127168.atom user = [email protected] password = contraseñaFalsa shorten = fallback_feed = format = {summary}El feed se puede conseguir mirando el código fuente de la página de la cuenta que se quiere. En el caso de `twitter2rss <http://daemons.cf/cgit/twitter2rss>`_, se puede hostear o se puede usar esta `web <http://daemons.cf/twitter2rss>`_. No es recomendable usarlo con ningún nodo que use 140 carácteres, ya que en los retweets se añade un símbolo, "♻", lo cual hará que un tweet de 140 carácteres no sea posteado.1.2.9 Bugs^^^^^^^^^^1.2.10 Licencia^^^^^^^^^^^^^^^.. code-block:: text :number-lines: 0 This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.