Diskussion:Radiosender

Aus Linupedia.org
Version vom 5. Dezember 2008, 22:01 Uhr von Robi (Diskussion | Beiträge) (2. Script und Bearbeitungshinweise)
Wechseln zu: Navigation, Suche

Bearbeitungshinweise

Da diese Seite einen hohen Aufwand an ständiger Aktualisierung erfordert entstehen zur Zeit Funktionen für das Importieren und Exportieren der Radiosenderdaten. Diese Hilfsscripte sind auf eine stabile Struktur der Wikiseite angewiesen.
Aus diesem Grund sollten Änderungen an dieser Seite mit Vorsicht vorgenommen werden, vor allem keine 2 Tabelle auf der Seite anlegen.


Import und Exportfunktionen für die Tabelle

Für den Export der Daten aus dem Wiki wurde folgendes Script entwickelt.
Damit ist es möglich, die Daten der Tabelle für den Import in Tabellenkalkulationsprogramme direkt abzuholen.

#!/bin/bash
#----------------------------------------------------------------------
# Author: robi@linux-club.de
# Version: 1, Last updated: Do 4. Dez 00:25:12 CET 2008
#----------------------------------------------------------------------
# Dieses Script holt über das Internet die Daten der Tabelle auf
# http://wiki.linux-club.de/opensuse/Radiosender  und erzeugt eine
# Ausgabe der Daten im csv-Format zum Import in Tabellenverarbeitung
#
# Aufruf:                ./script > datei.csv
#
# Importeinstellungen:   Zeichensatz:   Unicode (UTF-8)
#                        Ab Zeile   :   1
#                        Feldtrenner:   ;
#                        Texttrenner:   "
#---------------------------------------------------------------------

wget http://wiki.linux-club.de/opensuse/Radiosender -O - 2>/dev/null | \
  awk '/^<table/,/^<\/table/ {print $0}' | \
  awk '/^<tr/,/<\/tr>/ {printf $0} ; /<\/tr>/ {print}'  |\
  sed 's#\(<[^>]*>\)#;#g' | \
  sed -ne 's# *;\{1,\} *#;#gp' | \
  awk -F';' 'BEGIN {OFS=";"}
             NR==1 {print "\"" $2 "\"","\"" $3 "\"","\"" $4 "\"","\"" $5 "\"","\"" $6 "\"","\"" $7 "\""}
             NR!=1 {print "\"" $2 "\"","\"" $3 "\"","\"" $4 "\"",$5,"\"" $6 "\"","\"" ($8 == "" ? $7 : $8)"\""}'

#-----------------END-------------------------------------------------



Folgendes Script ist für den umgekehrten Weg gedacht, um geänderte oder neu hinzugekommenen Daten hier in die Tabelle einzutragen. Nach einiger Überlegung wurde darauf verzichtet, das Script so weit auszubauen, dass mit dem Script direkt von eurem Rechner aus die Datenänderungen im Wiki vorgenommen werden. Das würde hier Tür und Tor für jeglichen Unfug viel zu weit aufreißen. ;-)

Es bleibt euch also letztlich doch noch die Daten hier im Wiki auf die alt hergebrachte Weise zu editieren und zu erweitern. Allerdings hilft euch das Script dabei.
Es ist so konzipiert, das es das Datenformat, das das erste Script anlegt, und welches ihr mit Tabellenkalkulation oder Datenbank bearbeiten könnt und von dort aus auch genau so wieder abspeichern könnt, in genau das Format umwandelt, das hier im Wiki im Bearbeitungsfenster eingegeben werden muss.

Es wird mit dem Script jeweils die komplette Tabelle erzeugt. Ihr könnt daraus die jeweiligen Bereiche hier einfach hineinkopieren, bzw. ( aber bitte nur nach wirklich größeren Änderungen ) die gesamte Tabelle durch die neuen Daten austauschen, indem ihr im Editorfenster die alte Tabellendaten komplett löscht, und dafür die Ausgabe des Scriptes wieder hineinkopiert. Einige Anmerkungen und Hinweise dazu folgen noch, hier erstmal das Script.


#!/bin/bash
#----------------------------------------------------------------------
# Author: robi@linux-club.de
# Version: 1, Last updated: Fr 5. Dez 20:57:59 CET 2008
#----------------------------------------------------------------------
# Dieses Script konvertiert eine CSV-Datei in das passende Wiki-Format
# als Hilfe zum Einfügen und Ändern der Daten auf
# http://wiki.linux-club.de/opensuse/Radiosender
# erzeugt wird die komplette Tabelle aus den übergebenen Daten
#
# Aufruf:                ./script datei.csv > wiki-tabelle.dat
#
# Exporteinstellungen:   Zeichensatz:   Unicode (UTF-8)
#                        Ab Zeile   :   1
#                        Feldtrenner:   ;
#                        Texttrenner:   "
#---------------------------------------------------------------------

if [ $# != 1 ]; then echo -e "\nAufruf: $0 datei.csv \n\n";exit 1;fi
if [ -r "$1" -a -f "$1" ]; then
if [ "$(head -1 "$1" |cut -d';' -f5 |cut -d'"' -f2)" != "Hinweis" ]; then
  echo -e "\n\"$1\" scheint keine für dieses Script geeignete CSV-Datei zu sein\n\n";exit 2;fi
else echo -e "\n\"$1\" ist keine lesbare Datei\n\n"; exit 3;fi

awk -F';' '{ split($1,NAME,"\"");
             split($2,STADT,"\"");
             split($3,LAND,"\"");
             split($4,BIT,"\"");
             split($5,BEMERK,"\"");
             split($6,ADDR,"\"") }

     NR==1 { print "{| class=\"wikitable sortable\" border=\"1\" cellspacing=\"0\""
             print " |- style=\"background-color:#009ACD;\""
             printf " !" NAME[2] "!!" STADT[2] "!!" LAND[2] "!!" BIT[2] "!!"
             print " class=\"unsortable\"| " BEMERK[2] "!!class=\"unsortable\"|" ADDR[2] }

     NR!=1 { FARBE= "#FFF68F" ;
             if (BIT[1] < 63  )  FARBE= "#C0FF3E" ;
             if (BIT[1] == 0  )  FARBE= "#363636" ;
             if (BIT[1] > 93  )  FARBE= "#FFC1C1" ;
             if (BIT[1] > 128 )  FARBE= "#FF6A6A" ;
             print  "|- style=\"background-color:" FARBE ";\""
             print "|",NAME[2],"||",STADT[2],"||",LAND[2],"||align=\"center\" |",BIT[1],"||",BEMERK[2],"||",ADDR[2]  }

       END { print "|}"      }' "$1"

#-----------------END-------------------------------------------------


Hinweise für das Ändern der Datentabelle

  • bei Verwendung der obrigen Scripte bitte darauf achten, dass ihr keine "falschen zusätzlichen Zeilenspünge mitkopiert. Das passiert zB wenn man die Standardausgabe des 2. Scriptes hier her kopieren würdet. Also die Ausgabe des Scriptes in eine Datei umleiten, diese Datei mit cat ausgeben und dann diese Konsolausgabe der Datei hier für die Änderungen im Wiki benutzen, dann sollte das Problem nicht auftreten.
  • Bitte nach Änderungen die Vorschau benutzen und bitte genau überprüfen ob die Tabelle und eure neuen Daten auch wirklich ok sind, und wirklich nur dann abspeichern
  • Eine Datenzeile der Wikitabelle umfasst immer genau 2 zusammengehörende Zeilen beim Editieren der Tabelle
|- style="background-color:#FFC1C1;"
| Bayern 1 || München || Deutschland ||align="center" | 128 || - || http://gffstream.ic.llnwd.net/stream/gffstream_w10a
in der ersten Zeile wird die Hintergrundfarbe gesetzt, das macht das obrige Script automatisch, in der 2 Zeile stehen dann die Daten.
  • sollte ein Sender einmal nicht mehr senden, und keine neue Streamadresse bekannt sein, ist vorgesehen bei der Datenrate eine 0 (Null) einzutragen, und bei der Farbe dazu den Wert "#363636" . Damit wird die entsprechende Zeile dunkelgrau und so als zZ nicht verfügbar markiert.
  • vermeidet in der Tabelle ";" das bringt Probleme beim Ex- und Import der Daten mit obrigen Scripten. Sollte sowas in der Streamadresse enthalten sein, dann trag das bitte unten in die Tabelle auf dieser Diskussionsseite ein. Wir versuchen dann eine funktionierende alternative Schreibweise ohne das ; zu finden.
  • Bitte in die Felder der Tabelle (außer der Adresse natürlich) keine Links oder Webadressen eintragen, sondern nur Text
  • Haltet euch an das Tabellenformat, sollten Änderungen am Format notwendig werden, dann können wird darüber gerne diskutieren, und dann können gegebenenfalls auch parallel dazu dann die Scripte an das neue Format angepasst werden.
  • Fällt euch auf, das einzelnen Sender nicht mehr senden, und ihr euch nicht an die Tabelle traut, dann könnt ihr das auch gerne hier im Anschluss auf der Diskussionseite melden, damit der Nächste das prüfen und gegebenenfalls dann abändern kann.
  • Sollte es dennoch Editierunfälle, Probleme, Unklarheiten, Verständnissprobleme oder sonstige irgendwie gearteter Probleme mit dieser Wikiseite geben, bitte im Wikiforum melden, da wird man euch schnellstmöglich helfen.
  • Denkt daran, einige haben in diese Seite eine ganze Menge Zeit investiert, und davon sollen auch morgen noch möglichst viele Wikileser ihren Nutzen ziehen können


Dann allseits guten Radioempfang Robi 22:01, 5. Dez. 2008 (UTC)



Problemadressen für die Export Importfunktionen

Aufgrund von Sonderzeichen insbesondere ";" kommt es zu unvollständigen oder falschen Datensätzen wenn mit den oben genannten Tools gearbeitet wird. Da solche Datensätze doch wahrscheinlich seltener auftreten werden, vorerst hier die vollständigen Problemdatensätze soweit sie bekannt sind.

Sender Ort Land Bitrate Hinweis Adresse
HouseTime FM Moers Deutschland 128 - http://mp3.ht-stream.net/;04026677086949stream.nsv