Zunächst einmal, ich bin ganz neu hier und auch ganz neu in Python.
Ich hatte früher damit eigentlich nie was zu tun, da ich mehr so der Java, C++ und PHP etc. typ bin/war. Aber jetzt muss ich mich damit auseinander setzen, da ich vor einem größeren Projekt gestellt wurde.
Ich hab mir einige Sachen von Python angeschaut und das was Python kann ist eigentlich sehr gut und ich hab mich auch entschlossen nun diese Sprache Schritt für Schritt zu erlenen.
Ich bin zuständig für ein IRC Netzwerk eine Hauptseite zu erstellen. Das ist das geringste Problem, nimmt zwar viel Zeit in Anspruch, aber machbar ist es!
Wie euch bestimmt bekannt ist gibt es in jedem IRC Netzwerk sog. Services wie OperServ, MemoServ etc.
Als Software haben die Betreiber "Atheme IRC Services" installiert und dazu gibt es auch ein Webinterface in Python geschrieben.
Da ich aber jetzt die Seite in PHP erstellen möchte muss ih das ganze Interface umschreiben. Ein bisschen durchgeblickt hab ich schon.
Python erstellt eine Verbindung mit dem XMPRPC Service des Servers und schickt alle Befehle dorthin. Jedoch wird mir nirgendswo klar, WIE diese Verbindung auszusehen hat, welche Befehle übermittelt werden um die Verbindung einzuleiten, welche Parameter wann gesendet werden um sich überhaupt anzumelden. Kurzerhand habe ich nach einem Modul für PHP gesucht: die XMLRPC Library aber dort konnte ich keine "create connection" Funktion o.ä. sehen.. und deshalb bin ich sehr verwirrt.
Und ein weiteres Problem ist: in einer Datei wird immer:
self.parent.atheme.command (...) aufgerufen, aber ich finde NIRGENDS wie diese Funktion aussieht.. wenn ich wüsste, wie diese Funktion aussieht dann wär ich auch schonmal ein ganzes stückchen weiter.
Es wäre nett, wenn ihr mir helfen könntet.. denn ich suche bereits seit gestern mittag nach der Implementierung dieser Funktion.
Das einzige was ich wissen möchte ist wie gesagt, wie Python diese Verbindung aufbaut und wie diese command () funktion aussieht.
Hier ist ein kleiner Teil des Sourcecodes:
Code: Alles auswählen
middleware.athemeconnection.py
class AthemeXMLConnection(object):
def __init__(self, url):
self.proxy = ServerProxy(url)
self.chanserv = AthemeChanServMethods(self)
self.memoserv = AthemeMemoServMethods(self)
self.nickserv = AthemeNickServMethods(self)
def __getattr__(self, name):
return self.proxy.__getattr__(name)
def login(self, username, password):
self.username = username
self.authcookie = self.atheme.login(username, password)
Ich kann nicht sehen, dass die Login funktion irgendwo implementiert worden ist..
Und hier ist die Sache mit der command () methode:
Code: Alles auswählen
def delete(self, message_id):
self.parent.atheme.command(self.parent.authcookie, self.parent.username, '0.0.0.0', 'MemoServ', 'DELETE', message_id)
Ihr würdet mir einen RIESEN gefallen tun, wenn ihr mir hierbei helfen könntet!
Hier sind die ganzen Dateien (12 Stück oder so glaub ich), die zum Webinterface gehören:
http://hg.atheme.org/atheme-web/atheme- ... 8f3609b1ac
* EDIT *
Ich bin jetzt in PHP schlauer geworden, es gibt doch die Funktion
xmlrpc_encode_request. Wenigstens bin ich einen kleinen Schritt schonmal weiter
* * * * *
Bin für jede Hilfe dankbar!
Mit freundlichem Gruß
Johnny