abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 18:00 | IT novinky

    DuckDuckGo AI Chat umožňuje "pokecat si" s GPT-3.5 Turbo od OpenAI nebo Claude 1.2 Instant od Anthropic. Bez vytváření účtu. Všechny chaty jsou soukromé. DuckDuckGo je neukládá ani nepoužívá k trénování modelů umělé inteligence.

    Ladislav Hagara | Komentářů: 0
    dnes 14:22 | IT novinky

    VASA-1, výzkumný projekt Microsoftu. Na vstupu stačí jediná fotka a zvukový záznam. Na výstupu je dokonalá mluvící nebo zpívající hlava. Prý si technologii nechá jenom pro sebe. Žádné demo, API nebo placená služba. Zatím.

    Ladislav Hagara | Komentářů: 1
    dnes 04:44 | Nová verze

    Nová čísla časopisů od nakladatelství Raspberry Pi: MagPi 140 (pdf) a HackSpace 77 (pdf).

    Ladislav Hagara | Komentářů: 0
    dnes 01:00 | Nová verze

    ESPHome, tj. open source systém umožňující nastavovat zařízení s čipy ESP (i dalšími) pomocí konfiguračních souborů a připojit je do domácí automatizace, například do Home Assistantu, byl vydán ve verzi 2024.4.0.

    Ladislav Hagara | Komentářů: 0
    včera 22:11 | IT novinky Ladislav Hagara | Komentářů: 0
    včera 20:55 | Nová verze

    Neziskové průmyslové konsorcium Khronos Group vydalo verzi 1.1 specifikace OpenXR (Wikipedie), tj. standardu specifikujícího přístup k platformám a zařízením pro XR, tj. platformám a zařízením pro AR (rozšířenou realitu) a VR (virtuální realitu). Do základu se z rozšíření dostalo XR_EXT_local_floor. Společnost Collabora implementuje novou verzi specifikace do platformy Monado, tj. open source implementace OpenXR.

    Ladislav Hagara | Komentářů: 2
    včera 17:22 | Nová verze

    Byla vydána nová verze 0.38.0 multimediálního přehrávače mpv (Wikipedie) vycházejícího z přehrávačů MPlayer a mplayer2. Přehled novinek, změn a oprav na GitHubu. Požadován je FFmpeg 4.4 nebo novější a také libplacebo 6.338.2 nebo novější.

    Ladislav Hagara | Komentářů: 13
    včera 17:11 | Nová verze

    ClamAV (Wikipedie), tj. multiplatformní antivirový engine s otevřeným zdrojovým kódem pro detekci trojských koní, virů, malwaru a dalších škodlivých hrozeb, byl vydán ve verzích 1.3.1, 1.2.3 a 1.0.6. Ve verzi 1.3.1 je mimo jiné řešena bezpečnostní chyba CVE-2024-20380.

    Ladislav Hagara | Komentářů: 2
    včera 12:11 | IT novinky

    Digitální a informační agentura (DIA) oznámila (PDF, X a Facebook), že mobilní aplikace Portál občana je ode dneška oficiálně venku.

    Ladislav Hagara | Komentářů: 10
    včera 05:11 | Komunita

    #HACKUJBRNO 2024, byly zveřejněny výsledky a výstupy hackathonu města Brna nad otevřenými městskými daty, který se konal 13. a 14. dubna 2024.

    Ladislav Hagara | Komentářů: 2
    KDE Plasma 6
     (68%)
     (10%)
     (2%)
     (20%)
    Celkem 563 hlasů
     Komentářů: 4, poslední 6.4. 15:51
    Rozcestník

    Stahování rss

    8.1.2007 09:53 | Přečteno: 1086× | 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: 68 | 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: 68 | 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.