Twitter/Facebook/...-client - mit Python?

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Benutzeravatar
snafu
User
Beiträge: 6740
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

L3viathan2142 hat geschrieben:Alles klar, wird gemacht.. aber wie meinst du das mit dem letzten Satz?
Es soll installiert werden, wenn nicht mindestens Version 2.6 installiert ist?
Nein. Der Ausdruck bedeutet, dass das Programm Python 2.6 oder besser fordert (dazu gehört auch 2.6.1 usw), aber die Major-Versionsnummer muss tiefer als 3 sein. War natürlich nur ein Beispiel.
L3viathan2142 hat geschrieben:Das ist nicht ganz einfach, die Registry erlaubt ja kein Auflisten der Keys...
HKLM\Software\Python\PythonCore\2.6 gibt es zum Beispiel, wenn man Version 2.6 hat.
Es gibt aber keinen Schlüssel wie zum Beispiel HKLM\SOFTWARE\Python\PythonCore
Version="2.6"
, oder ähnliches...
Man muss sich halt den Namen des Unterschlüssels von `PythonCore` angucken und mit dem geforderten Versionsstring vergleichen. Vielleicht sollte man das auch getrennt entgegen nehmen:

Code: Alles auswählen

check_version(major, minor, micro)
Benutzeravatar
L3viathan2142
User
Beiträge: 8
Registriert: Montag 27. Juli 2009, 01:53

Das Problem ist: Es gibt afaik aus Sicherheitsgründen keine Möglichkeit, die Unterschlüssel eines Schlüssels aufzulisten.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

L3viathan2142 hat geschrieben:Das Problem ist: Es gibt afaik aus Sicherheitsgründen keine Möglichkeit, die Unterschlüssel eines Schlüssels aufzulisten.
Wie ich schon gesagt habe: das stimmt nicht. Zumindest nicht in C oder Python. Vielleicht stimmt es ja in AutoIt.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Benutzeravatar
snafu
User
Beiträge: 6740
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Übrigens unglaublich sinnvoll, für dieses Problem eine weitere Skriptsprache zu fordern... Letztlich wird man das wohl in C oder C++ vorkompiliert ausliefern müssen. Wobei, wenn echt noch gegen zusätzliche Libs gelinkt werden muss, dann kann man sich das Ganze auch sparen, weil es dann am Ende womöglich größer als der Interpreter wird. Vielleicht ist auch *das* der Grund, warum es so ein Programm nicht gibt.
Benutzeravatar
L3viathan2142
User
Beiträge: 8
Registriert: Montag 27. Juli 2009, 01:53

Ich erinnere mich, das mal im Zusammenhang mit dem WSH gelesen zu haben, dann triffts wohl nur auf den zu.
Mea culpa.
Bez. Kritik wegen weiterer Skriptsprache: Wenn man das Skript kompiliert, kriegt man davon ja garnichts mit, AutoIt ist auch ziemlich schnell.. Ihr müsst es ja auch nicht nutzen, es geht ja um ein Projekt von mir.
Bez. Layoutmanager vs Pixelgenau: Mal sehen, vlt. muss ich mich einfach umgewöhnen, besonders, wenns um Platformunabhängigkeit geht. Ich hab ja auch noch nicht viel damit gemacht.

hier der neue Link: http://rapidshare.com/files/260598597/pyload.exe
hier wieder der Code, nur falls jemanden interessiert..

Code: Alles auswählen

;Check:
$read=RegEnumKey("HKLM\SOFTWARE\Python\PythonCore",1)
If @error Or Number($read) < 2.6 Then 
	;Download und Installation:
	$size=InetGetSize("http://www.python.org/ftp/python/3.1/python-3.1.msi")
	InetGet("http://www.python.org/ftp/python/3.1/python-3.1.msi",@ScriptDir & "/python.msi",1,1)
	ProgressOn("Downloading Python","0%","0/"&Round($size/1024,1)&"KB")
	While @InetGetActive
		ProgressSet(Round(100*(@InetgetBytesRead/$size)),Round(@InetGetBytesRead/1024,1) & "/" & Round($size/1024,1) & "KB",Round(100*(@InetgetBytesRead/$size),1) & "%")
		Sleep(100)
	WEnd
	ProgressOff()
	ProgressOn("Installing Python","Installing....","")
	$PID=Run("msiexec /i python.msi /quiet /qn /norestart")
	While ProcessExists($PID)
		For $i=0 To 100
			Sleep(20)
			ProgressSet($i)
		Next
	WEnd
EndIf
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Ich weiß nicht ob es so sinnvoll ist Python 3.x runterzuladen...
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Benutzeravatar
L3viathan2142
User
Beiträge: 8
Registriert: Montag 27. Juli 2009, 01:53

Warum nicht?
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Weil Python 3.x nicht abwaertskompatibel zu 2.x ist und 3.x noch nicht vollkommen angekommen ist, d.h. der meiste Code ist nur zu 2.6 kompatibel.
Benutzeravatar
L3viathan2142
User
Beiträge: 8
Registriert: Montag 27. Juli 2009, 01:53

Alles klar, dann kommt halt die 2.6 rein. Danke.
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Schmeiss mal schnell das ``solved`` aus dem Titel. Sonst beisst dich Leonidas 8)
[wiki]Forum/Regeln[/wiki]
Antworten