home *** CD-ROM | disk | FTP | other *** search
- # Source Generated with Decompyle++
- # File: in.pyc (Python 2.5)
-
- import socket
- import time
-
- class LpdServer:
-
- def __init__(self, hostname):
- self.hostname = hostname
- self.max_lpt_com = 8
-
-
- def _open_socket(self):
- port = 515
-
- try:
- (host, port) = self.hostname.split(':', 1)
- except ValueError:
- host = self.hostname
-
- s = None
-
- try:
- ai = socket.getaddrinfo(host, port, socket.AF_UNSPEC, socket.SOCK_STREAM)
- except socket.gaierror:
- ai = []
-
- for res in ai:
- (af, socktype, proto, canonname, sa) = res
-
- try:
- s = socket.socket(af, socktype, proto)
- except socket.error:
- msg = None
- s = None
- continue
-
-
- try:
- s.connect(sa)
- except socket.error:
- msg = None
- s.close()
- s = None
- continue
-
-
- return s
-
-
- def _probe_queue(self, name, result):
- s = self._open_socket()
- if not s:
- return False
-
- print name
-
- try:
- s.send('\x00x02%s\n' % name)
- data = s.recv(1024)
- print repr(data)
- except socket.error:
- msg = None
- print msg
-
- try:
- s.close()
- except:
- pass
-
- return False
-
- if len(data) > 0 and data[0] == 0:
-
- try:
- s.send('\x00x01\n')
- s.close()
- except:
- pass
-
- result.append(name)
- return True
-
-
- try:
- s.close()
- except:
- pass
-
- return False
-
-
- def probe(self):
- result = []
- for name in [
- 'PASSTHRU',
- 'ps',
- 'lp',
- 'PORT1',
- '']:
- self._probe_queue(name, result)
- time.sleep(0.1)
-
- for nr in range(self.max_lpt_com):
- self._probe_queue('LPT%d' % nr, result)
- time.sleep(0.1)
- self._probe_queue('LPT%d_PASSTHRU' % nr, result)
- time.sleep(0.1)
- self._probe_queue('COM%d' % nr, result)
- time.sleep(0.1)
- self._probe_queue('COM%d_PASSTHRU' % nr, result)
- time.sleep(0.1)
-
- nr = 1
- while nr < 50:
- found = self._probe_queue('pr%d' % nr, result)
- time.sleep(0.1)
- if not found:
- break
-
- nr += 1
- return result
-
-
-
- class SocketServer:
-
- def __init__(self, hostname):
- self.hostname = hostname
-
-
-
- class IppServer:
-
- def __init__(self, hostname):
- self.hostname = hostname
-
-
-