Geektools och Rss

Tråden skapades och har fått 26 svar. Det senaste inlägget skrevs .
1

Skulle vilja ha en rss feed på skrivbordet via geektools. Nån som vet om det finns några terminalkommandon för det? Mvh Jerry

  • Medlem
  • Stockholm
  • 2007-08-13 21:49

http://nopcode.org/blog/rss2html.html

rss2html kompilerar rent utan ändringar om du har xcode installerat, testade just..

(entity@ran ~/Desktop/projects/random-small-junk/rss2html-0.8.2/src): ./rss2html -n 3 -o txt http://rss.slashdot.org/Slashdot/slashdot 
--[ cmdline ]--[ /tmp/rss.slashdot.org.2652 ]--
* A Three-Way AMD Opteron Server
 | Date:     Foo, 13 Aug 2007 18:47:0 +0100
 | URL:      http://rss.slashdot.org/~r/Slashdot/slashdot/...
* The Forbidden City of Terry Gou
 | Date:     Foo, 13 Aug 2007 17:49:0 +0100
 | URL:      http://rss.slashdot.org/~r/Slashdot/slashdot/...
* 3 Ton Meteorite Stolen
 | Date:     Foo, 13 Aug 2007 16:53:0 +0100
 | URL:      http://rss.slashdot.org/~r/Slashdot/slashdot/...

är inte det vakraste direkt utan conf, men med lite terminal magi så är det lätt fixat.

(entity@ran ~/Desktop/projects/random-small-junk/rss2html-0.8.2/src): ./rss2html -n 3 -o txt http://rss.slashdot.org/Slashdot/slashdot | grep ^\*
* A Three-Way AMD Opteron Server
* The Forbidden City of Terry Gou
* 3 Ton Meteorite Stolen

har inte xcode installerat tyvärr. Om man är någorlunda (nåväl mycket) unixdum som jag är och inte fattar hur man får till det, skulle man kunan få en snabb guide? Mvh Jerry

  • Medlem
  • Stockholm
  • 2007-08-13 22:11
Ursprungligen av jerryskate:

har inte xcode installerat tyvärr. Om man är någorlunda (nåväl mycket) unixdum som jag är och inte fattar hur man får till det, skulle man kunan få en snabb guide? Mvh Jerry

Om vi förutsätter att du installerar Xcode så är det enkelt, en liten terminal dump följer:

(entity@ran ~/Desktop/projects/random-small-junk): ftp ftp://ftp.nopcode.org/prj/rss2html/rss2html-0.8.2.tar.gz >/dev/null 2>&1 
(entity@ran ~/Desktop/projects/random-small-junk): tar -zxf rss2html-0.8.2.tar.gz 
(entity@ran ~/Desktop/projects/random-small-junk): cd rss2html-0.8.2
(entity@ran ~/Desktop/projects/random-small-junk/rss2html-0.8.2): ./configure                 
checking build system type... i386-unknown-darwin
checking host system type... i386-unknown-darwin
checking target system type... i386-unknown-darwin
checking for working directories... current
using prefix '/usr/local'
checking for c compiler... gcc
checking for time.h... yes
checking for netinet/in.h... yes
checking for curl-config... /usr/bin/curl-config
checking for libcurl ... yes
creating ./Makefile
creating src/Makefile
cleaning temporally files... done

Final report:
 - HAVE_LIB_CURL = 1
 - DEBUG = 0
 - PREFIX = /usr/local
(entity@ran ~/Desktop/projects/random-small-junk/rss2html-0.8.2): make
cd src/ && make all
gcc  -DVERSION=\"0.8.2\"  -DDEBUG=0 -DHAVE_LIB_CURL=1 `/usr/bin/curl-config --cflags`   -c -o main.o main.c
gcc  -DVERSION=\"0.8.2\"  -DDEBUG=0 -DHAVE_LIB_CURL=1 `/usr/bin/curl-config --cflags`   -c -o rsslist.o rsslist.c
gcc  -DVERSION=\"0.8.2\"  -DDEBUG=0 -DHAVE_LIB_CURL=1 `/usr/bin/curl-config --cflags`   -c -o config.o config.c
gcc  -DVERSION=\"0.8.2\"  -DDEBUG=0 -DHAVE_LIB_CURL=1 `/usr/bin/curl-config --cflags`   -c -o rssshow.o rssshow.c
gcc  -DVERSION=\"0.8.2\"  -DDEBUG=0 -DHAVE_LIB_CURL=1 `/usr/bin/curl-config --cflags`   -c -o download.o download.c
gcc  -DVERSION=\"0.8.2\"  -DDEBUG=0 -DHAVE_LIB_CURL=1 `/usr/bin/curl-config --cflags`   -c -o storage.o storage.c
gcc  -DVERSION=\"0.8.2\"  -DDEBUG=0 -DHAVE_LIB_CURL=1 `/usr/bin/curl-config --cflags`   -c -o parser.o parser.c
gcc  -DVERSION=\"0.8.2\"  -DDEBUG=0 -DHAVE_LIB_CURL=1 `/usr/bin/curl-config --cflags`   -c -o output.o output.c
gcc  -DVERSION=\"0.8.2\"  -DDEBUG=0 -DHAVE_LIB_CURL=1 `/usr/bin/curl-config --cflags`   -c -o resume.o resume.c
gcc  -DVERSION=\"0.8.2\"  -DDEBUG=0 -DHAVE_LIB_CURL=1 `/usr/bin/curl-config --cflags`   -c -o cmptime.o cmptime.c
gcc  -DVERSION=\"0.8.2\"  -DDEBUG=0 -DHAVE_LIB_CURL=1 `/usr/bin/curl-config --cflags`   -c -o subst.o subst.c
gcc  -DVERSION=\"0.8.2\"  -DDEBUG=0 -DHAVE_LIB_CURL=1 `/usr/bin/curl-config --cflags`   -c -o template.o template.c
gcc `/usr/bin/curl-config --libs` main.o rsslist.o config.o rssshow.o download.o storage.o parser.o output.o resume.o cmptime.o subst.o template.o -o rss2html
(entity@ran ~/Desktop/projects/random-small-junk/rss2html-0.8.2): cd src/
(entity@ran ~/Desktop/projects/random-small-junk/rss2html-0.8.2/src): ./rss2html -h
Usage: ./rss2html [options] [url]    # version 0.8.2
 -c [file]      :: Use 'file' instead of ~/.rss2html.
 -d             :: Show the description text.
 -D [descr]     :: Set the description string.
 -e [wrd,wrd]   :: Grep comma separated words.
 -h             :: Shows help.
 -i             :: Ignore images.

har inte testat om den funkar att kompilera på en maskin och föra över till en som saknar Xcode och bilbioteken som den har med sig (närmare bestämt libcurl och annat) men det kan du ju alltid testa.

http://www.dnz.se/misc/rss2html

nope får det inte att funka. nu är dock mina kunskaper begränsade..

  • Medlem
  • Stockholm
  • 2007-08-14 00:54
Ursprungligen av jerryskate:

nope får det inte att funka. nu är dock mina kunskaper begränsade..

testade du ladda ner filen som jag länkade tidigare ? det är en kompilerad version av rss2html, bara testa ladda ner den, öppna terminalen till den mapp som du sparade den i och sedan skriva "./rss2html -h" för att testa om den går att köra på en maskin som inte har libbarna som kommer med xcode..

om inte annat så vore det ju bra med felmedelande eller annat så vi har en chans att lista ut vad som är fel

  • Medlem
  • Stockholm
  • 2007-08-13 23:16

Linus Söderlinds rss-skript kanske kan vara nått?

http://linus.homeunix.com/GeekTool/

Ursprungligen av .mp3:

Linus Söderlinds rss-skript kanske kan vara nått?

http://linus.homeunix.com/GeekTool/

jag kämpade med det först, men fick aldrig det att funka riktigt. Nån annan som har haft mer lycka med det? Gick igenom tråden här på 99 om just det scriptet med men det ville sig inte ändå..

  • Medlem
  • Göteborg
  • 2007-08-14 08:41

Annars kan du ju köra CLI php, det är busenkelt att med MagpieRSS producera ett skript som dumpar ut info i terminalen. http://magpierss.sourceforge.net/

Ursprungligen av beh:

Annars kan du ju köra CLI php, det är busenkelt att med MagpieRSS producera ett skript som dumpar ut info i terminalen. http://magpierss.sourceforge.net/

Testade att ladda ner med safari får ett .txt dokument, som jag antar att det inte ska vara. ska det vara .sh eller nåt annat som filändelse? Med firefox fick jag ner den som mpegfil..

Ursprungligen av jerryskate:

Testade att ladda ner med safari får ett .txt dokument, som jag antar att det inte ska vara. ska det vara .sh eller nåt annat som filändelse? Med firefox fick jag ner den som mpegfil..

Det där är en riktig djungel för mig, speciellt som installations faqen inte verkar funka.. om nån har lust att visa mig hur så vore jag tacksam..

Ursprungligen av beh:

Annars kan du ju köra CLI php, det är busenkelt att med MagpieRSS producera ett skript som dumpar ut info i terminalen. http://magpierss.sourceforge.net/

Ska testas!

  • Medlem
  • Göteborg
  • 2007-08-14 16:13

Okej här är mitt förslag:

  1. Ladda ner Magpie RSS

  2. Packa upp filerna i en mapp

  3. Gå till mappen som heter scripts i magpie mappen

  4. Skapa filen ny_teknik_rss.php (med inennehållet som står nedanför)

  5. skriv: php ny_teknik_rss.php i terminalen när du står i den katalogen där filen befinner sig

  6. Njut

Innehållet i filen ny_teknik_rss.php

<?php

define('MAGPIE_DIR', '../');
require_once(MAGPIE_DIR.'rss_fetch.inc');

$rss = fetch_rss('http://www.nyteknik.se/rss.xml');
echo "Feed: \n" . $rss->channel['title'];
foreach ($rss->items as $item) {
	$title = $item['title'];	
	echo "$title \n";
}
?>

Koden är lite klumpig eftersom den kommer direkt från exemplet som ochså linkar till artikeln i rss feeden. Det kan vara en ide att läsa manualen som följer med, där står lite bla. om hur cachen funkar. Så slipper Ny Teknik få en himla massa trafik från dig.

Ursprungligen av beh:

Okej här är mitt förslag:

  1. Ladda ner Magpie RSS

  2. Packa upp filerna i en mapp

  3. Gå till mappen som heter scripts i magpie mappen

  4. Skapa filen ny_teknik_rss.php (med inennehållet som står nedanför)

  5. skriv: php ny_teknik_rss.php i terminalen när du står i den katalogen där filen befinner sig

  6. Njut

Innehållet i filen ny_teknik_rss.php

<?php

define('MAGPIE_DIR', '../');
require_once(MAGPIE_DIR.'rss_fetch.inc');

$rss = fetch_rss('http://www.nyteknik.se/rss.xml');
echo "Feed: \n" . $rss->channel['title'];
foreach ($rss->items as $item) {
	$title = $item['title'];	
	echo "$title \n";
}
?>

Koden är lite klumpig eftersom den kommer direkt från exemplet som ochså linkar till artikeln i rss feeden. Det kan vara en ide att läsa manualen som följer med, där står lite bla. om hur cachen funkar. Så slipper Ny Teknik få en himla massa trafik från dig.

tack för guiden, dock så får jag det inte att funka än. så här har jag gjort: jag gjorde scriptet (det är dreamweaver som är förvalt för .php på min maskin?, öppnade en av mallarna, bytte ut koden till din, sparade om den med rätt namn)

Sparade scriptet i en mapp. Sen, för att stå i katalogen som filen är i så räcker det med att jag droppar mappen i terminal om jag inte har helt fel?det är vad jag gjort sen skrivit php ny_teknik_rss.php. Men det funkar inte. Antagligen ett ett ordentligt nybörjarefel.. :">

Och ska jag göra scriptet exekvebart med chmod u+x?

Tack för all hjälp!

  • Medlem
  • Göteborg
  • 2007-08-15 16:26

Nja, det skal du inte behöva. Men det som är viktigt är att du lagt ditt eget script i mappen som heter SCRIPTS i MAGPIE mappen.

Linje tre och fyra i scriptet ovan definerar att Magpie katalogen skal ligga ett hack upp från där ny_teknik_rss.php ligger.

Altså magpierss-0.72/scripts/ny_teknik_rss.php

hmm det vill sig fortfarande inte. ska jag i koden själv definera min sökväg till filen?

detta är sökvägen nu:

så här blir det när jag skriver in php ny_teknik_rss.php:

  • Medlem
  • Göteborg
  • 2007-08-16 08:41

skriv cat ny_teknik_rss.php och posta svaret här, det är nått som inte stämmer

detta får jag: (antar att jag skulle skriva det när jag är i katalogen?)

  • Medlem
  • Göteborg
  • 2007-08-16 10:42

Ok, du skal inte skriva

ny_teknik_rss.php php ny_teknik_rss.php

eller

ny_teknik_rss.php php ny_teknik_rss.php

php eller cat är programmen / kommandona som skal behandla filen ny_teknik_rss.php

Du skal altså inte skriva "fil kommando fil" uten "komando fil".

Kommandot cat läser bara ut hela filen, så att vi kan se att den innehåller allt som den skal.

Testa nu och skriv "php ny_teknik_rss.php" när du är i katalogen /Users/ulf2/magpierss-0.72/scripts/

Jag tror det är för att du släpper filen i terminalen som filnamnet kommer i början, flytta markören bakåt till början av linjen i såfall och skriv php mellanrum.

Det skal stå:

php /Users/ulf2/magpierss-0.72/scripts/ny_teknik_rss.php

okey då är jag med. med cat får jag detta:

när jag skriver php /Users/ulf2/magpierss-0.72/scripts/ny_teknik_rss.php får jag detta:

  • Medlem
  • Göteborg
  • 2007-08-17 00:38

hehe, jag hadde glömt att php kör från den katalogen man står i. Du skal altså först skriva

cd /Users/ulf2/magpierss-0.72/scripts/

och sen

php ny_teknik_rss.php

.

Sånt händer när man inte kan testa vad man tror man hjäper till med.

Yes! nu funkar det! gryryymt. En sak bara, den vill inte visa åäö?

Sen oxå, finns det nåt sätt att få in detta i geektools? Gektools vill bara ta ett kommand.

Får jag in detta i geektools är lyckan fullständig..

Tack för all hjälp!

  • Medlem
  • Göteborg
  • 2007-08-17 18:51

Hej, jag föreslår att du flyttar hela magpierss mappen til från

/Users/ulf2/Desktop/magpierss-0.72

till

/Users/ulf2/magpierss

och skriver detta i en text fil i mappen scripts som innehåller:

cd /Users/ulf2/magpierss
php ny_teknik_rss.php

Om du önskar att lista flera feeder, kan du göra såhär i ny_teknik_rss.php
(du kan ju också döpa om den eftersom du antagligen inte önskar höra om ny teknik, kom bara i håg att skriva rätt filnamn i filen du skapade ovanför).

<?php

define('MAGPIE_DIR', '../');
require_once(MAGPIE_DIR.'rss_fetch.inc');

$rss = fetch_rss('http://www.nyteknik.se/rss.xml');
echo "Feed: " . $rss->channel['title \n'];
foreach ($rss->items as $item) {
	$title = $item['title'];	
	echo "$title \n";
}

echo "\n\n";

$rss2 = fetch_rss('http://feeds.feedburner.com/hemfeber');
echo "Feed: \n" . $rss2->channel['title \n'];
foreach ($rss2->items as $item2) {
	$title = $item2['title'];	
	echo "$title \n";
}
?>

Nu funkar det!! Fick ändra koden i textscriptet till

cd /Users/ulf2/magpierss/scripts/
php ny_teknik_rss.php

Tack så hemskt mycket för hjälpen! Rikigt grymt gjort.

Mvh Jerry

Förresten när vi ändå håller på, kan man definera hur många raden den ska visa? så det inte blir för mkt till slut.

1
Bevaka tråden