im Netz bin auf ein das GeekTool gestoßen, es ermöglicht den Desktop mit Skripten, Bildern oder Texten zu erweitern.
Beim stöbern an vorhandenen "Geeklets" bin ich auf ein Python Script gestoßen, welches eine XML-Datei einliest, analysiert und bestimmte Tags wieder ausgibt. In diesem Fall eine formatierte Ansicht der 1. Bundesliga.
Nun mein Problem, rufe ich das Script im Terminal auf, klappt die Ausgabe. Ich sehe die komplette Tabelle.
Über das Geektool sehe ich nur Platz 1-9. Ab Platz 10, Nürnberg, wird die Tabelle nicht mehr gezeigt. Ich habe das Skript in eine Text Datei umgelenkt und bekam folgenden Fehler:
"Traceback (most recent call last):
File "./bl-tabelle.py", line 30, in <module>
print "%3s %-20s %3s %4s %3s" % (position, name, played, goalDifference, points)
UnicodeEncodeError: 'ascii' codec can't encode character u'\xfc' in position 5: ordinal not in range(128)"
Ich habe versucht etwas am coding bzw encoding zu drehen, damit das Script mit Umlauten umgehen kann, aber ich kenne mich mit Python rein gar nicht aus und hatte keinerlei Erfolg
Code: Alles auswählen
#!/usr/bin/python
# -*- coding: latin-1 -*- <-Nachträglich von mir hinzugefügt
import urllib2
from xml.dom.minidom import parseString
hometeam="Hamburg" # Replace this with your team
url="http://www.footbo.com/widgets/xml/LeagueTable.aspx?id=193709"
file = urllib2.urlopen(url)
data = file.read()
file.close()
data = data.replace(hometeam, hometeam.upper())
#parse xml
dom = parseString(data)
print "POS CLUB PLD GD PTS"
#loop through <entry> elements
entry=dom.getElementsByTagName('LeagueTableRow')
for node in entry:
position=node.getAttribute('Position')
name=node.getAttribute('TeamName')
played=node.getAttribute('GamesPlayed')
goalDifference=node.getAttribute('GoalsDifference')
points=node.getAttribute('Points')
print "%3s %-20s %3s %4s %3s" % (position, name, played, goalDifference, points)
Code: Alles auswählen
POS CLUB PLD GD PTS
1 Bayern 4 8 9
2 Schalke 04 4 4 9
3 Werder 4 4 9
4 Hannover 4 2 8
5 Gladbach 4 3 7
6 Dortmund 4 3 7
7 Mainz 05 4 1 7
8 Bayer 04 4 0 7
9 Hoffenheim 4 1 6
10 Nürnberg 4 -1 6
11 Hertha 4 0 5
12 Stuttgart 4 1 4
13 Freiburg 4 0 4
14 1.FC Köln 4 -6 4
15 Wolfsburg 4 -4 3
16 Augsburg 4 -3 2
17 Lautern 4 -5 2
18 HAMBURG 4 -8 1
Über Tipps bzw. Hilfe wäre ich sehr dankbar.
Mit freundlichen Grüßen
CarlMcCoy