Forum Twisted Python
Vous devez être un membre enregistré pour contribuer sur ce forum. Inscrivez-vous maintenant.
Tout message hors sujet sera supprimé, pour le bien de tous.
Les messages à caractère publicitaires ne sont pas autorisés non plus.
| Sujet | Créateur | Réponses | Dernière modification |
|---|---|---|---|
![]() ![]()
Bonsoir
Je voudrais porter un projet basé sur Scrapy de windows à unix (debian)
J'ai donc installé Twisted et les composants demandés.
Comme ça:
[code]aptitude install python-twisted[/code]
idem avec les autres
no problèmme jusque là
Je lance le setup.py de Scrapy idem toujours pas de soucis
Mais quand je crée un projet j'ai ça
[code]/usr/local/bin# scrapy-ctl.py startproject test
Traceback (most recent call last):
File "/usr/local/bin/scrapy-ctl.py", line 3, in
from scrapy.command.cmdline import execute
File "/usr/local/lib/python2.5/site-packages/scrapy/command/cmdline.py", line 9, in
from scrapy import log
File "/usr/local/lib/python2.5/site-packages/scrapy/log.py", line 9, in
from twisted.python import log
ImportError: No module named twisted.python
/usr/local/bin#[/code]
Est-ce que j'aurai loupé l'installation de twisted ? une piste?
Merci pour votre aide.
|
ornythorink | 6 | 03/06/2010 09:10 |
![]() ![]() Bonjour, Je suis nouveau sur ce forum. J'espère y trouver de l'aide et dans la mesure du possible pouvoir aider les autres ... J'ai déjà réussi à créer un serveur telnet pour windows en python. Celui-ci à la particularité de pourvoir démarrer des programmes graphiques s'affichant sur l'écran du serveur. (Ex: si le client tape "notepad" dans sa console, le programme notepad s'affichera sur le bureau windows du serveur). Mon serveur à presque tout ce qu'il me faut sauf l'authentification par login/mot de passe. Je me suis inspiré du code source "simplecred.py" que l'on trouve à [url href="http://books.google.be/books?id=sUviL0XxgMEC&pg=PA88&lpg=PA88&dq=simplecred.py&source=bl&ots=c3lbxazei5&sig=mQt1vuUJw7cbGCNf5mwhsrBsfz4&hl=fr&ei=C2KKSsnnAZnbjQekuoRd&sa=X&oi=book_result&ct=result&resnum=5#v=onepage&q=simplecred.py&f=false"]cette adresse[/url] (livre O'Relly Twisted network programming essentials). J'ai essayé d'utiliser "AuthenticatingTelnetProtocol" mais je n'y arrive pas. Le serveur démarre mais donne un message d'erreur lorsque l'on essaye de s'y connecter. Voici le code de mon serveur avec authentification et plus bas le message d'eeur dans la console du serveur: [code] from zope.interface import Interface, implements from twisted.internet.protocol import ServerFactory, Protocol from twisted.conch.telnet import AuthenticatingTelnetProtocol, StatefulTelnetProtocol, ITelnetProtocol from twisted.cred import portal, checkers, credentials, error as credError from twisted.protocols import basic from twisted.internet import protocol, reactor, defer from zope.interface import Interface, implements class PasswordDictChecker(object): implements(checkers.ICredentialsChecker) credentialInterfaces = (credentials.IUsernamePassword,) ## credentialInterfaces = (ITelnetProtocol,) def __init__(self, passwords): "passwords: a dict-like object mapping usernames to passwords" print "DEBUG - PasswordDictChecker - __init__" self.passwords = passwords print "DEBUG - PasswordDictChecker - self.passwords", self.passwords def requestAvatarId(self, credentials): print "DEBUG - PasswordDictChecker - requestAvatarId - credentials", credentials username = credentials.username if self.passwords.has_key(username): if credentials.password == self.passwords[username]: return defer.succeed(username) else: return defer.fail( credError.UnauthorizedLogin("Bad password")) else: return defer.fail( credError.UnauthorizedLogin("No such user")) class INamedUserAvatar(Interface): "should have attributes username and fullname" print "DEBUG - INamedUserAvatar :", Interface class NamedUserAvatar: implements(INamedUserAvatar) def __init__(self, username, fullname): self.username = username self.fullname = fullname print "DEBUG - NamedUserAvatar - __init__ :", username, fullname class INamedUserAvatar2(ITelnetProtocol): "should have attributes username and fullname" #print "DEBUG - INamedUserAvatar :", Interface class NamedUserAvatar2: implements(INamedUserAvatar2) def __init__(self, username, fullname): self.username = username self.fullname = fullname print "DEBUG - NamedUserAvatar - __init__ :", username, fullname class TestRealm: print "DEBUG - class TestRealm" implements(portal.IRealm) print "DEBUG - class TestRealm - after implements" def __init__(self, users): print "DEBUG - class TestRealm - __init__ users", users self.users = users def requestAvatar(self, avatarId, mind, interfaces): print "DEBUG - class TestRealm - requestAvatar" print "interfaces", interfaces if INamedUserAvatar in interfaces: print "DEBUG: requestAvatar - avatarId :", avatarId print "DEBUG: requestAvatar - self.users[avatarId] :", self.users[avatarId] fullname = self.users[avatarId] logout = lambda: None print "DEBUG: INamedUserAvatar :",INamedUserAvatar print "DEBUG: NamedUserAvatar(avatarId, fullname) :", NamedUserAvatar(avatarId, fullname) return (INamedUserAvatar, NamedUserAvatar(avatarId, fullname), logout) elif INamedUserAvatar2 in interfaces: print "DEBUG2: requestAvatar - avatarId :", avatarId print "DEBUG2: requestAvatar - self.users[avatarId] :", self.users[avatarId] fullname = self.users[avatarId] logout = lambda: None print "DEBUG2: INamedUserAvatar :",ITelnetProtocol print "DEBUG2: NamedUserAvatar(avatarId, fullname) :", TelnetProtocol(avatarId, fullname) return (INamedUserAvatar2, NamedUserAvatar2(avatarId, fullname), logout) else: print "DEBUG: requestAvatar - requestAvatar -else :", avatarId raise KeyError("None of the requested interfaces is supported") class LoginTestProtocol(AuthenticatingTelnetProtocol): print "DEBUG: LoginTestProtocol" class LoginTestFactory(protocol.ServerFactory): protocol = LoginTestProtocol def __init__(self, portal): print "DEBUG: LoginTestFactory - __init__ - portal:" self.portal = portal print "DEBUG: LoginTestFactory - __init__ - portal after", repr(self.portal) users = {
'admin': passwords = {
'admin': if __name__ == "__main__": p = portal.Portal(TestRealm(users)) p.registerChecker(PasswordDictChecker(passwords)) factory = LoginTestFactory(p) reactor.listenTCP(2323, factory) reactor.run( ) [/code] et voici le message d'erreur s'affichant dans la console du serveur
[code]
D:\workspace\Twisted_example>Telnet_Server_with_auth.py
DEBUG - INamedUserAvatar : Cela fait maintenant deux semaine que j'essaye de l'intéger mais je cromprends pas pourquoi cela ne fonctionne pas. Si quelqu'un pouvait me dire comment faire ... Merci d'avance Philippe |
filoupython | 1 | 18/08/2009 10:32 |
![]() ![]() Bonjours tout le monde,
|
PNprog | 1 | 27/06/2007 17:51 |
![]() ![]() salut.
|
brouss | 3 | 11/09/2006 17:38 |
![]() ![]()
Bonjour,
je viens enfin de trouver ce qu'il me faut aprés bcps bcps de recherche il faut le dire ...
Situation:
J'ai un client qui envoie un fichier
J'ai un autre client qui le reçois
Au milieu un serveur twisted ...
Le but du jeu (si ont peu appelé ca) est d'envoyer le fichier par petit bout de 1024 via sockets vers le serveur qui lui redirige ce socket vers l'autre socket du client qui doit recevoir le fichier.
J'ai donc trouvé "push producer", dont dans la documentation se trouve cette MAGNIFIQUE ligne :
"For example, a proxy which forwards incoming bytes from one socket to another outgoing socket might be implemented using a push producer"
Source: http://twistedmatrix.com/projects/core/documentation/howto/producers.html
Le problème est que je comprends pas comment je peux m'y prendre ...
Si quelqu'un pouvait juste m'éclairer, me conseiller, me guider, car je coince a ce niveau (rien de plus sur le net pour satisfaire mon soucis).
Merci beaucoups aux personnes qui prendrons la peine de lire ce message et d'y répondre :(
|
chmod666 | 0 | 06/08/2006 15:19 |
![]() ![]() Salut a tous ! J'essaye d'installer BAlazar (un jeu qui necessite python) et j'ai la version 2.4. Normalement je devrai tout avoir, mais quand je lance le jeu, il me met ca comme message d'erreur :
|
adele | 1 | 31/07/2006 17:28 |






