tinyp2p - trying to get it to work

2007-10-07 Thread Fantus
Hello

I am doing a small research and I found this:

http://www.freedom-to-tinker.com/tinyp2p.html

I tried to get it to work. So far I managed to run it as a server using 
a command:

 > python tinyp2p.py haslo server 10.10.10.1 2233

It starts listening on a given port so I assume it works fine (I can 
telnet from other machine to 10.10.10.1 on 2233)

Now when I try to run a client using following command:

 > python tinyp2p.py haslo client http://10.10.10.1:2233 koniki

it gives me some strange output and erros:


Traceback (most recent call last):
   File "tinyp2p.py", line 14, in ?
 for url in pxy(ar[3]).f(pw(ar[3]),0,[]):
   File "/usr/lib/python2.4/xmlrpclib.py", line 1096, in __call__
 return self.__send(self.__name, args)
   File "/usr/lib/python2.4/xmlrpclib.py", line 1383, in __request
 verbose=self.__verbose
   File "/usr/lib/python2.4/xmlrpclib.py", line 1147, in request
 return self._parse_response(h.getfile(), sock)
   File "/usr/lib/python2.4/xmlrpclib.py", line 1286, in _parse_response
 return u.close()
   File "/usr/lib/python2.4/xmlrpclib.py", line 744, in close
 raise Fault(**self._stack[0])
xmlrpclib.Fault: 



Can anybody help me to solve this? Please. I did browse google but found 
nothing.

Regards
Fantus.
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: tinyp2p - trying to get it to work

2007-10-07 Thread Fantus
Marc Christiansen pisze:
>> Can anybody help me to solve this? Please. I did browse google but found 
>> nothing.
> 
> I had a (not so quick) look. The code proves its point (i.e. writing a
> very small p2p application is possible), but it is horrible. With only
> one server, the code is broken; maybe it works using multiple servers, I
> didn't test. A quick fix seems to be to change the line
> pr() and [aug(s) for s in aug(pr()[0])]
> to
> pr() and [aug(s) for s in aug(pr()[0])] or pr([myU])
> 
> Please don't take tinyp2p.py as an example on writing python. 
> 
> HTH Marc

It seems to be working! Respect.

I know this app is a bit messy but I couldnt't find anything else that 
would implement p2p basics and wouldn't have hundrends or thousands of 
lines of code. I need something very simple and this is fine.

Thank you Marc!
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: tinyp2p - trying to get it to work

2007-10-09 Thread Fantus
Marc Christiansen pisze:

> 
> I had a (not so quick) look. The code proves its point (i.e. writing a
> very small p2p application is possible), but it is horrible. With only
> one server, the code is broken; maybe it works using multiple servers, I
> didn't test. A quick fix seems to be to change the line
> pr() and [aug(s) for s in aug(pr()[0])]
> to
> pr() and [aug(s) for s in aug(pr()[0])] or pr([myU])
> 
> Please don't take tinyp2p.py as an example on writing python. 
> 
> HTH Marc


Ok, this seems to work "fine" (as much as a program designed to be 
minimalistic can do) except it can't download files larger than 10kb.

It looks like a problem with SimpleXMLRPCServer (or at least I think so...)

While trying to download file larger than 10kb the server itself doesn't 
crash but generates output like this:



Exception happened during processing of request from ('127.0.0.1', 44817)
Traceback (most recent call last):
   File "SocketServer.py", line 222, in handle_request
 self.process_request(request, client_address)
   File "SocketServer.py", line 241, in process_request
 self.finish_request(request, client_address)
   File "SocketServer.py", line 254, in finish_request
 self.RequestHandlerClass(request, client_address, self)
   File "SocketServer.py", line 521, in __init__
 self.handle()
   File "BaseHTTPServer.py", line 316, in handle
 self.handle_one_request()
   File "BaseHTTPServer.py", line 310, in handle_one_request
 method()
   File "SimpleXMLRPCServer.py", line 445, in do_POST
 self.wfile.write(response)
   File "socket.py", line 248, in write
 self.flush()
   File "socket.py", line 235, in flush
 self._sock.sendall(buffer)
error: (104, 'Connection reset by peer')



The client that was trying to make a download generates this:

Traceback (most recent call last):
   File "backup5.py", line 75, in ?
 (lambda fi:fi.write(proxy(url).f(pw(url),2,fn)) or 
fi.close())(file(fn,"wc"))
   File "backup5.py", line 75, in 
 (lambda fi:fi.write(proxy(url).f(pw(url),2,fn)) or 
fi.close())(file(fn,"wc"))
   File "/usr/lib/python2.4/xmlrpclib.py", line 1096, in __call__
 return self.__send(self.__name, args)
   File "/usr/lib/python2.4/xmlrpclib.py", line 1383, in __request
 verbose=self.__verbose
   File "/usr/lib/python2.4/xmlrpclib.py", line 1147, in request
 return self._parse_response(h.getfile(), sock)
   File "/usr/lib/python2.4/xmlrpclib.py", line 1281, in _parse_response
 p.feed(response)
   File "/usr/lib/python2.4/xmlrpclib.py", line 527, in feed
 self._parser.Parse(data, 0)
xml.parsers.expat.ExpatError: not well-formed (invalid token): line 5, 
column 15


Should I post this in a separate thread or maybe one of experts visiting 
this group will take a look and hopefully solve my problem?

Thank you in advance.
-- 
http://mail.python.org/mailman/listinfo/python-list