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í
×
    včera 22:33 | Nová verze

    Byla vydána dubnová aktualizace aneb nová verze 1.89 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a animovanými gify v poznámkách k vydání. Vypíchnout lze, že v terminálu lze nově povolit vkládání kopírovaného textu stisknutím středního tlačítka myši. Ve verzi 1.89 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.

    Ladislav Hagara | Komentářů: 0
    včera 21:22 | Nová verze

    Proton, tj. fork Wine integrovaný v Steam Play a umožňující v Linuxu přímo ze Steamu hrát hry určené pouze pro Windows, byl vydán ve verzi 9.0-1 (𝕏). Přehled novinek se seznamem nově podporovaných her na GitHubu. Aktuální přehled her pro Windows běžících díky Protonu také na Linuxu na stránkách ProtonDB.

    Ladislav Hagara | Komentářů: 0
    včera 19:33 | Nová verze

    Byla vydána verze 1.78.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání na GitHubu. Vyzkoušet Rust lze například na stránce Rust by Example.

    Ladislav Hagara | Komentářů: 0
    včera 11:22 | Bezpečnostní upozornění

    Služba Dropbox Sign (původně HelloSign) pro elektronické podepisování smluv byla hacknuta.

    Ladislav Hagara | Komentářů: 2
    včera 11:00 | Nová verze

    Byla vydána nová major verze 8.0 textového editoru GNU nano (Wikipedie). Podrobný přehled novinek a oprav v oznámení v diskusním listu info-nano nebo v souboru ChangeLog na Savannah. Volbou --modernbindings (-/) lze povolit "moderní" klávesové zkratky: ^C kopírování, ^V vložení, ^Z vrácení zpět, … Tato volba je aktivována také pokud binárka s nano nebo link na ni začíná písmenem "e".

    Ladislav Hagara | Komentářů: 3
    1.5. 23:22 | IT novinky

    Před 60 lety, 1. května 1964, byl představen programovací jazyk BASIC (Beginners' All-purpose Symbolic Instruction Code).

    Ladislav Hagara | Komentářů: 13
    1.5. 22:22 | Nová verze

    Byla vydána nová verze 12.0 minimalistické linuxové distribuce (JeOS, Just enough Operating System) pro Kodi (dříve XBMC) a multimediálního centra LibreELEC (Libre Embedded Linux Entertainment Center). Jedná se o fork linuxové distribuce OpenELEC (Open Embedded Linux Entertainment Center). LibreELEC 12.0 přichází s Kodi 21.0 "Omega".

    Ladislav Hagara | Komentářů: 0
    1.5. 12:55 | Nová verze

    Microsoft vydal novou velkou aktualizaci 2404.23 v září 2019 pod licencí SIL Open Font License (OFL) zveřejněné rodiny písma Cascadia Code pro zobrazování textu v emulátorech terminálu a vývojových prostředích.

    Ladislav Hagara | Komentářů: 0
    1.5. 05:33 | Nová verze

    OpenTofu, tj. svobodný a otevřený fork Terraformu vzniknuvší jako reakce na přelicencování Terraformu z MPL na BSL (Business Source License) společností HashiCorp, bylo vydáno ve verzi 1.7.0. Přehled novinek v aktualizované dokumentaci. Vypíchnout lze State encryption.

    Ladislav Hagara | Komentářů: 0
    30.4. 23:55 | Humor

    Spouštět webový prohlížeč jenom kvůli nákupu kávy? Nestačí ssh? Stačí: ssh terminal.shop (𝕏).

    Ladislav Hagara | Komentářů: 20
    Podle hypotézy Mrtvý Internet mj. tvoří většinu online interakcí boti.
     (13%)
     (31%)
     (38%)
     (19%)
    Celkem 16 hlasů
     Komentářů: 3, poslední včera 19:48
    Rozcestník

    Stahování rss

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