abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 18:22 | Nová verze

    Český LibreOffice tým vydává překlad příručky LibreOffice Calc 25.2. Calc je tabulkový procesor kancelářského balíku LibreOffice. Příručka je ke stažení na stránce dokumentace.

    ZCR | Komentářů: 0
    dnes 01:44 | Nová verze

    Byla vydána (Mastodon, 𝕏) vývojová verze 3.1.4 příští stabilní verze 3.2 svobodné aplikace pro úpravu a vytváření rastrové grafiky GIMP (GNU Image Manipulation Program). Přehled novinek v oznámení o vydání.

    Ladislav Hagara | Komentářů: 0
    včera 23:44 | Nová verze

    Zakladatel ChimeraOS představil další linuxovou distribuci zaměřenou na hráče počítačových her. Kazeta je linuxová distribuce inspirována herními konzolemi z 90. let. Pro hraní hry je potřeba vložit paměťové médium s danou hrou. Doporučeny jsou SD karty.

    Ladislav Hagara | Komentářů: 0
    včera 23:00 | Nová verze

    Komunita kolem Linuxu From Scratch (LFS) vydala Linux From Scratch 12.4 a Linux From Scratch 12.4 se systemd. Nové verze knih s návody na instalaci vlastního linuxového systému ze zdrojových kódů přichází s Glibc 2.42, Binutils 2.45 a Linuxem 6.15.1. Současně bylo oznámeno vydání verze 12.4 knih Beyond Linux From Scratch (BLFS) a Beyond Linux From Scratch se systemd.

    Ladislav Hagara | Komentářů: 0
    včera 10:55 | Pozvánky

    Organizátoři konference LinuxDays ukončili veřejné přihlašování přednášek. Teď je na vás, abyste vybrali nejlepší témata, která na letošní konferenci zaznějí. Hlasovat můžete do neděle 7. září. Poté podle výsledků hlasování organizátoři sestaví program pro letošní ročník. Konference proběhne 4. a 5. října v Praze.

    Petr Krčmář | Komentářů: 13
    včera 02:22 | Nová verze

    Byla vydána verze 11.0.0 vizuálního programovacího jazyka Snap! (Wikipedie) inspirovaného jazykem Scratch (Wikipedie). Přehled novinek na GitHubu.

    Ladislav Hagara | Komentářů: 0
    31.8. 06:00 | Komunita

    Na čem aktuálně pracují vývojáři GNOME a KDE Plasma? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE Plasma. Vypíchnout lze, že v Plasmě byl implementován 22letý požadavek. Historie schránky nově umožňuje ohvězdičkovat vybrané položky a mít k ním trvalý a snadný přístup.

    Ladislav Hagara | Komentářů: 0
    30.8. 20:00 | Nová verze

    Wayfire, kompozitní správce oken běžící nad Waylandem a využívající wlroots, byl vydán ve verzi 0.10.0. Zdrojové kódy jsou k dispozici na GitHubu. Videoukázky na YouTube.

    Ladislav Hagara | Komentářů: 0
    30.8. 04:00 | Komunita

    Před necelými čtyřmi měsíci byl Steven Deobald jmenován novým výkonným ředitelem GNOME Foundation. Včera skončil, protože "nebyl pro tuto roli v tento čas ten pravý".

    Ladislav Hagara | Komentářů: 7
    29.8. 18:33 | Zajímavý článek

    Nové číslo časopisu Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 156 (pdf).

    Ladislav Hagara | Komentářů: 1
    Pro otevření více webových stránek ve webovém prohlížečí používám
     (81%)
     (8%)
     (2%)
     (3%)
     (4%)
     (2%)
    Celkem 128 hlasů
     Komentářů: 9, poslední 28.8. 11:53
    Rozcestník

    Stahování rss

    8.1.2007 09:53 | Přečteno: 1119× | blog | poslední úprava: 9.1.2007 07:57

    Pro čtení rss aktuálně používám mutt a pro jejich stahování kombinaci programů rsstool a sqlite3 (+ nějaké standardní příkazy) ve vlastním scriptu. Zmínil jsem se o tom a někdo jej chtěl vidět :-). Celý script je velmi jednoduchý a tady je.

    Nejprve jsem si vytvořil cache pro stažené rss kanály. Je to standardní databáze sqlite3 v souboru $HOME/.rss.db:

      /* Pracovní tabulka pro aktuálně stažená data */
      CREATE TABLE rsstool_table (
        rsstool_dl_url     text,
        rsstool_dl_date    integer,
        rsstool_site       text,
        rsstool_url        text,
        rsstool_url_md5    varchar(32),
        rsstool_url_crc32  varchar(8),
        rsstool_date       integer,
        rsstool_title      text,
        rsstool_title_md5  varchar(32),
        rsstool_title_crc32 varchar(8),
        rsstool_desc       text
      );
      
      /* vlastní cache položek */
      create table feeds_data 
        ( rss_site varchar(255)
        , rss_url text
        , rss_title text
        , rss_description text
        , rss_date date
        , generated boolean
        );
    

    Vlastní script vypadá takto. Největší počet řádků připadá na výpis položky :-).

      #!/bin/bash
      
      # konfigurace
      RSSDB="$HOME/.rss.db"
      SRCDB="$HOME/.rss_sources"
      MDA="maildrop $HOME/.mailfilter"
      DELETE_BEFORE=7
      
      SQL="/usr/bin/sqlite3"
      GDATE="/usr/bin/date"
      GREP="/usr/bin/grep"
      RECODE="/usr/bin/cstocs utf8 il2"
      SED="/usr/bin/sed"
      FOLD="/usr/bin/fold -s"
      RSSTOOL="/usr/local/bin/rsstool --sql --shtml --slf"
      
      # výpis položky ve formátu pro mail
      print_message() {
        URL=$1
        echo 'To: Martin Lebeda <mlebeda@centrum.cz>'
        echo 'Content-Transfer-Encoding: 8bit'
        echo 'Content-Type: text/plain; charset="iso-8859-2"'
        echo 'X-target: rss'
        $SQL $RSSDB "select 'Subject: '||rss_title from feeds_data where rss_url = '$URL'"
        $SQL $RSSDB "select 'From: '||rss_site from feeds_data where rss_url = '$URL'"
        echo -n "Date: "
          RSSDATE=`$SQL $RSSDB "select rss_date from feeds_data where rss_url = '$URL'"`
          $GDATE -R -d "1970-01-01 UTC $RSSDATE seconds"
        echo
        $SQL $RSSDB "select rss_description from feeds_data where rss_url = '$URL'" | $FOLD
        echo
        echo $URL
        $SQL $RSSDB "update feeds_data set generated = 1 where rss_url = '$URL'"
      }
      
      # vlastní stažení ze seznamu kanálů 
      for i in `$GREP -v '^#' $SRCDB | $GREP -v '^$'`; do
        $RSSTOOL "$i" | $GREP 'INSERT INTO' | $RECODE | $SED -e 's/\\'\''//g' | $SQL $RSSDB
      done
      
      # vložení nových položek do hlavní tabulky 
      $SQL $RSSDB " insert into feeds_data ( rss_site, rss_url, rss_title,
          rss_description, rss_date, generated ) 
        select rsstool_site, rsstool_url, rsstool_title, rsstool_desc, rsstool_date, 0 
          from rsstool_table 
         where not exists (select 1 from feeds_data where rss_url = rsstool_table.rsstool_url)" && \
      
      # čistka
      $SQL $RSSDB "delete from rsstool_table"
      DELDATE=`date +%s -d -${DELETE_BEFORE}days` && \
      $SQL $RSSDB "delete from feeds_data where rss_date < $DELDATE"
      
      # vypsat nové položky
      for url in `$SQL $RSSDB 'select rss_url from feeds_data where generated = 0'`; do
        print_message "$url" | $MDA
      done
    

    v $HOME/.rss_sources je co řádek, to url (ukázka části):

      http://www.linuxexpres.cz/modules/rss/rss.php
      http://www.abclinuxu.cz/auto/abc.rss
      http://www.abclinuxu.cz/auto/zpravicky.rss
    

    Určitě by to chtělo pár věcí dopracovat (např. respektování kódování v hlavičce kanálu), ale jinak mi už několik měsíců spolehlivě slouží.

           

    Hodnocení: 100 %

            špatnédobré        

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    8.1.2007 10:25 Michal Čihař | skóre: 61 | blog: Bláboly | Praha
    Rozbalit Rozbalit vše Re: Stahování rss
    Takže to dělá zhruba to samé jako rss2email nebo feed2imap? :-)
    8.1.2007 13:21 Martin Lebeda | skóre: 22 | blog: Martinuv_blog | Plzeň
    Rozbalit Rozbalit vše Re: Stahování rss

    Neumím odpovědět, neboť tyto programy neznám.

    Jak se tak zběžně koukám na stránky rss2email, tak asi ano, ale je to rozhodně mnohem jednodužší.

    Josef Kufner avatar 8.1.2007 15:43 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Stahování rss
    rss2email používám už hodně dlouho. Má pár chybiček, ale jinak je celkem fajn.
    Hello world ! Segmentation fault (core dumped)
    David Watzke avatar 8.1.2007 15:21 David Watzke | skóre: 74 | blog: Blog... | Praha
    Rozbalit Rozbalit vše Re: Stahování rss
    CSS komentáře v Bashi, docela fun :-D
    “Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
    8.1.2007 16:12 Filip Jirsák | skóre: 67 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: Stahování rss
    CSS? Spíš C++, ne?
    David Watzke avatar 8.1.2007 16:47 David Watzke | skóre: 74 | blog: Blog... | Praha
    Rozbalit Rozbalit vše Re: Stahování rss
    CSS snad ne?
    “Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
    Josef Kufner avatar 8.1.2007 17:35 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Stahování rss
    Ehm, nehádejte se, tyhle komentáře fungují jak v CSS tak C++ i C, ale v bashi ne.
    Hello world ! Segmentation fault (core dumped)
    8.1.2007 20:10 Filip Jirsák | skóre: 67 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: Stahování rss
    Fungují, ale komentáře ve stylu C nebo C++ se jim snad říká, ale ve stylu CSS jsem slyšel (vlastně četl) poprvé. A mezi C a C++ jsem se rozhodl snadno – za prvé, C++ se s CSS rýmuje :-) a za druhé jsem si nebyl jist, který komentář je původní C (právě tenhle /* … */) a který přišel až s C++(//)
    9.1.2007 07:56 Martin Lebeda | skóre: 22 | blog: Martinuv_blog | Plzeň
    Rozbalit Rozbalit vše Re: Stahování rss
    Sorry - to je tím, že jsem to dopisoval až pro veb, v původním souboru nejsou.

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.