Seite 1 von 1
Gnome Mcore Applet
Verfasst: Donnerstag 5. Juni 2008, 16:06
von Schattenbringer1
Ich habe immer nur panel-applets für gnome gefunden, die nur die auslastung für den Durchschnitt aller CPU's anzeigt. Aber ich wollte für jeden CPU(core) eine eigene Anzeigen.
Da hab ich das Ding halt geschrieben

Mit hilfe hier aus dem Forum hier habe ich das ganze dann mal fertiggestellt.
Hier ist das ganze:
http://rapidshare.com/files/120694057/m ... %20target=
Wenn hier wer nur mal schnell in den code schauen will:
http://paste.pocoo.org/show/63974/
Das ist mein erstes ernstes python/pygtk überhaupt. Vorher habe ich nur c++ (auch einmal mit gtkmm) gemacht. Ich bin also ein Anfänger. Wenn wer Fehler oder ungereimtheiten im Code findet, bitte bescheid sagen. Auch wenn ihr sachen findet, die man "nur" besser machen kann solltet ihr mir das sagen. Es ist mein Projekt python zu lernen.
Zum installieren einfach entpacken und als root ./setup.py ausführen. Danach muss man gnome neu starten
Das ganze hat ein Problem:Ich sehe leider immer fast nur schwarz. Mein q6600 ist einfach nicht genug ausgelasstet...
Hier ein kleiner Screenshot:

(von meinen wie schon gesagt 4 core system)
e\
updated 18:11 5.6.08
updated 16:00 6.6.08
updated 10:25 7.5.08
Verfasst: Donnerstag 5. Juni 2008, 16:56
von audax
Schreib da lieber != .
Code: Alles auswählen
stat = open('/proc/stat', 'r')
load =[]
for line in stat:
match=self.getcpu.match(line)
if match:
load.append([int(match.group(2)), float(match.group(2)), float(match.group(3)), float(match.group(4))])
stat.close()
return load
das eher so:
Code: Alles auswählen
stat = open('/proc/stat', 'r')
load =[]
try:
for line in stat:
if self.getcpu.match(line):
load.append([int(match.group(2))] + [float(match.group(i)) for group in [2,3,4]])
finally:
stat.close()
return load
damit die Datei auch sicher geschlossen wird.
Und noch so allgemein:
http://www.python.org/dev/peps/pep-0008/
Verfasst: Donnerstag 5. Juni 2008, 17:05
von Schattenbringer1
Das mit dem try-block macht sinn

Bin halt noch von c++ gewöhnt, dass das autmoatisch geht. werde das gleich mal ändern und gleich uppen
den unterschied von <> und != verstehe ich ehrlich gesagt nicht. Wäre nett wen du mir sagen würdest warum das besser ist.
Das dokument werde ich mir mal bei gelegenheit durchlesen.
Danke für das Feedback
e\ist geupdated
Verfasst: Donnerstag 5. Juni 2008, 17:50
von Leonidas
Schattenbringer1 hat geschrieben:den unterschied von <> und != verstehe ich ehrlich gesagt nicht. Wäre nett wen du mir sagen würdest warum das besser ist.
Der Unterschied ist, dass quasi alle ``!=`` verwenden, nicht nur in Python. ``<>`` wird in Python 3.0 entfernt.
Verfasst: Freitag 6. Juni 2008, 15:06
von Schattenbringer1
Version 0.2
So ich habe jetzt mal ein Grosses update gemacht.
-jetzt kann das Ding jetzt bei irgentjemanden ausser mir laufen

(sorry an alle die es runtergeladen haben und wo es nicht funktioniert hat)
- wenn man jetzt auf das applet klicked öffnet sich gnome-system-monitor
-es nutzt jetzt psyco falls installiert.
(download im ersten Post)
Verfasst: Freitag 6. Juni 2008, 15:24
von Y0Gi
audax hat geschrieben:das eher so:
Code: Alles auswählen
stat = open('/proc/stat', 'r')
load =[]
try:
for line in stat:
if self.getcpu.match(line):
load.append([int(match.group(2))] + [float(match.group(i)) for group in [2,3,4]])
finally:
stat.close()
return load
damit die Datei auch sicher geschlossen wird.
<hust>`with`-Statement!</hust>
Nachtrag: Wo soll das `match` in deiner veränderten Fassung herkommen?
Verfasst: Freitag 6. Juni 2008, 15:28
von audax
Code: Alles auswählen
with open('/proc/stat', 'r') as stat:
load =[]
for line in stat:
match = self.getcpu.match(line)
if match:
load.append([int(match.group(2))] + [float(match.group(i)) for group in [2,3,4]])
return load
Besserwisser...
Verfasst: Samstag 7. Juni 2008, 09:28
von Schattenbringer1
Das mit dem with statement funktioniert irgentwie nicht. Aber so wie ich das verstanden habe macht das eh keinen grossen unterschied.
Aber ich habe derweil mal einen recht fatalen fehler behoben, durch den das ding zu abstürtzen gebracht werden konnte.
Hat das ganzen den noch keiner Ausprobiert? SO wenige können in einen python forum ja gar nicht gnome haben. Auch wenn ihr ein Problem beim installiern habt, sagt bescheid. Es wird höchstwahrscheinlich an einen Fehler von mir liegen...
Verfasst: Samstag 7. Juni 2008, 10:27
von Trundle
Für das `with`-Statement bräuchtest du Python 2.5 und müsstest an den Anfang deines Quelltextes
schreiben.
Verfasst: Samstag 7. Juni 2008, 11:11
von Leonidas
Schattenbringer1 hat geschrieben:Hat das ganzen den noch keiner Ausprobiert? SO wenige können in einen python forum ja gar nicht gnome haben.
Ich habe GNOME und 2 CPUs und sehe trotzdem keinen Nutzen darin. Für mich ist die Anzeige der Prozessorauslastung (ob es seperat oder kumuliert ist) eine nutzlose Spielerei, sorry.
Noch dazu hast du es bei Rapidshare hochgeladen, da hab ich schon gar keine Lust etwas herunterzuladen.
Verfasst: Samstag 7. Juni 2008, 11:24
von Trundle
Man könnte auch eine "standalone"-Funktion einbauen, für diejenigen, die PyGtk haben, aber kein gnome verwenden. Dazu erstellt man dann einfach ein gtk.Window und platziert das Applet darin. Etwa
so. Dann müsste man zum eben Testen auch nichts mehr von Rapidshare herunterladen.
Außerdem scheint das ``gnome.applet``-Modul deprecated zu sein und man sollte ``gnomeapplet`` stattdessen verwenden.
Verfasst: Samstag 7. Juni 2008, 13:37
von Schattenbringer1
Leonidas hat geschrieben:Schattenbringer1 hat geschrieben:Hat das ganzen den noch keiner Ausprobiert? SO wenige können in einen python forum ja gar nicht gnome haben.
Ich habe GNOME und 2 CPUs und sehe trotzdem keinen Nutzen darin. Für mich ist die Anzeige der Prozessorauslastung (ob es seperat oder kumuliert ist) eine nutzlose Spielerei, sorry.
Noch dazu hast du es bei Rapidshare hochgeladen, da hab ich schon gar keine Lust etwas herunterzuladen.
Deine sache. Habe vieleicht ein bischen überreagiert. Also ich habe das als ganz nützlich empfunden, als ich ein bischen mit c und pthread's rumgespielt habe. Ich finde das eigentlich immer ganz interresant
Kannst du mir den eine kostenlose alternative zu rapidshare nennen? Ich bin gerne bereit das irgentwo anders hochzuladen. Rapidshare war nur das, was mir als erstes eingefallen ist.
@Trundle: danke. Habe das schon im git. werde ein bisschen testen und wenn es keine Probleme gibt (wovon ich ausgehe) hochladen. Ich hatte das "from __future__ import with_statement" nach den anderen imports
e\ und ein Teil seines sinnes hat das Programm schon erfüllt: Ich habe mehr zu python und pygtk gelernt.
Verfasst: Samstag 7. Juni 2008, 13:52
von Leonidas
Schattenbringer1 hat geschrieben:Kannst du mir den eine kostenlose alternative zu rapidshare nennen? Ich bin gerne bereit das irgentwo anders hochzuladen. Rapidshare war nur das, was mir als erstes eingefallen ist.
Irgendein kostenloser Webspace müsste es schon tun.
Verfasst: Samstag 7. Juni 2008, 14:05
von Schattenbringer1
Bei allen freehostern die ich kenne muss man eine HP haben, sonst wird der Space recht schnell wieder gelöscht. Ich habe vor einiger Zeit mal bei Funpic einige Bilder und Downloads gelagert(ohne HP). Eines tages waren die einfach unangekündigt weg. Das war ein Spass alle möglichen links wieder umzubiegen
Und eine HP zu machen habe ich grade nicht das bedürfnis. Insbesonderen nicht mit PHP.
Verfasst: Samstag 7. Juni 2008, 21:46
von Y0Gi
Wenn du nicht gerade absolut hingefrickelte Codezeilen hast, kannst du deine Releases auch
im Käseladen auf die Theke legen.
Verfasst: Samstag 7. Juni 2008, 22:36
von audax
öhm....der Arcor Space tuts bei mir eigentlich ganz ordentlich seit...öhm...6 Jahren oder so

Sind 50mb und nen Limit von 4gb.