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 03:00 | Zajímavý software

    Erin Catto, autor open source 2D fyzikálního enginu Box2D (Wikipedie), představil nový 3D fyzikální engine Box3D. Engine je již používán ve hře The Legend of California.

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

    Byla vydána nová verze 4.0.0 multiplatformního svobodného frameworku pro zpracování obrazu G'MIC (GREYC's Magic for Image Computing, Wikipedie). Přehled novinek i s náhledy nových filtrů na PIXLS.US.

    Ladislav Hagara | Komentářů: 0
    včera 14:22 | Zajímavý článek

    Český statistický úřad (ČSÚ): Průměrná hrubá měsíční mzda ICT specialistů v roce 2025 meziročně vzrostla o 6 % na téměř 100 tisíc korun. Nejlépe placeni byli vývojáři softwaru. Dlouhodobým trendem zůstává nízké zastoupení žen, a to jak mezi specialisty, tak studenty těchto oborů.

    Ladislav Hagara | Komentářů: 5
    včera 14:11 | IT novinky

    Ochranný svaz autorský (OSA) připravuje žalobu na společnost Suno, která umožňuje generování hudby pomocí umělé inteligence (AI). ČTK to sdělil předseda představenstva OSA Roman Strejček. Suno podle něj bez souhlasu využívá k trénování svých modelů hudbu autorů, které svaz zastupuje. Nedávný investigativní materiál magazínu The Atlantic ukázal, že firmy jako Suno nebo Udio k trénování modelů používají rozsáhlé databáze obsahující miliony skladeb. V databázích, které časopis zveřejnil, lze dohledat i písně řady českých a slovenských umělců.

    Ladislav Hagara | Komentářů: 2
    včera 13:33 | Komunita

    Byl publikován přehled dění a novinek z vývoje Asahi Linuxu, tj. Linuxu pro Apple Silicon. Vyřešen byl problém s macOS 27 Golden Gate. Vývoj lze podpořit na Open Collective a GitHub Sponsors.

    Ladislav Hagara | Komentářů: 0
    včera 12:55 | IT novinky

    EU dnešním dnem zavedla clo ve výši 3 eur na balíky nízké hodnoty dovážené ze zemí mimo EU. To zahrnuje širokou škálu výrobků běžně nakupovaných on-line, jako jsou oděvy, hračky, elektronika a další spotřební zboží v hodnotě až 150 EUR.

    Ladislav Hagara | Komentářů: 4
    včera 08:55 | Nová verze

    Vyšel Redmine 7.0, jeden z nejlepších open source ticketovacích systémů. Došlo k migraci na Rails 8, vylepšení UI/UX, Workflow, byla přidána podpora náhledu pro Microsoft Office a LibreOffice dokumenty, došlo k výkonnostním optimalizacím a přibylo spoustu dalších oprav a novinek. Více informací v oficiálním oznámení.

    Max | Komentářů: 0
    30.6. 16:22 | Zajímavý článek

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

    Ladislav Hagara | Komentářů: 0
    30.6. 03:33 | Pozvánky

    Blíží se prázdniny a než se rozutečete k moři, je na čase se opět sejít na Virtuální Bastlírně - pravidelném setkání elektroniků, ajťáků, bastlířů a obecně nadšenců do techniky. Co si pro vás strahovští bastlíři připravili tentokrát? Určitě proberou blížící se Linux Days i další události. U softwaru se chvíli zdrží a poví si kupříkladu o tom, jak se zbavit Bambu Cloudu, ale nepřijít o možnost ovládat tiskárnu na dálku. Řeč dojde i na AI,

    … více »
    bkralik | Komentářů: 0
    30.6. 03:22 | Nová verze

    Vývojáři postmarketOS vydali verzi 26.06 tohoto operačního systému pro chytré telefony vycházejícího z optimalizovaného a nakonfigurovaného Alpine Linuxu s vlastními balíčky. Přehled novinek v příspěvku na blogu. Na výběr jsou 4 uživatelská rozhraní: GNOME, KDE Plasma Mobile, Phosh a Sxmo.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (11%)
     (8%)
     (2%)
     (17%)
     (31%)
     (4%)
     (6%)
     (2%)
     (16%)
     (26%)
    Celkem 2031 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník

    Stahování rss

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