|
Lines 126-165
Link Here
|
| 126 |
self.max_lpt_com = 8 |
126 |
self.max_lpt_com = 8 |
| 127 |
self.stop = False |
127 |
self.stop = False |
| 128 |
|
128 |
|
| 129 |
def probe_queue(self,name, result): |
129 |
def probe_queue(self, name, result): |
| 130 |
s = open_socket(self.hostname, 515) |
130 |
s = open_socket(self.hostname, 515) |
| 131 |
if not s: |
131 |
if not s: |
| 132 |
return None |
132 |
return None |
| 133 |
print(name) |
133 |
print(name) |
| 134 |
|
134 |
|
| 135 |
try: |
135 |
try: |
| 136 |
s.send(('\2%s\n' % name).encode('UTF-8')) # cmd send job to queue |
136 |
s.send(('\2%s\n' % name).encode('UTF-8')) # cmd send job to queue |
| 137 |
data = s.recv(1024).decode('UTF-8') # receive status |
137 |
data = s.recv(1024).decode('UTF-8') # receive status |
| 138 |
print(repr(data)) |
138 |
print(repr(data)) |
| 139 |
except socket.error as msg: |
139 |
except socket.error as msg: |
| 140 |
print(msg) |
140 |
print(msg) |
| 141 |
try: |
141 |
try: |
| 142 |
s.close () |
142 |
s.close() |
| 143 |
except: |
143 |
except: |
| 144 |
pass |
144 |
pass |
| 145 |
|
|
|
| 146 |
return False |
145 |
return False |
| 147 |
|
146 |
|
| 148 |
if len(data)>0 and ord(data[0])==0: |
147 |
if len(data) > 0 & ord(data[0]) == 0: |
|
|
148 |
result.append(name) |
| 149 |
try: |
149 |
try: |
| 150 |
s.send(b'\1\n') # abort job again |
150 |
s.send(b'\1\n') # abort job again |
| 151 |
s.close () |
151 |
s.close() |
| 152 |
except: |
152 |
except: |
| 153 |
pass |
153 |
pass |
| 154 |
|
154 |
return |
| 155 |
result.append(name) |
|
|
| 156 |
return True |
| 157 |
|
155 |
|
| 158 |
try: |
156 |
try: |
| 159 |
s.close() |
157 |
s.close() |
| 160 |
except: |
158 |
except: |
| 161 |
pass |
159 |
pass |
| 162 |
|
|
|
| 163 |
return False |
160 |
return False |
| 164 |
|
161 |
|
| 165 |
def get_possible_queue_names (self): |
162 |
def get_possible_queue_names (self): |
|
Lines 241-263
Link Here
|
| 241 |
|
238 |
|
| 242 |
def _do_find (self): |
239 |
def _do_find (self): |
| 243 |
self._cached_attributes = dict() |
240 |
self._cached_attributes = dict() |
| 244 |
for fn in [self._probe_hplip, |
241 |
fn_list = [self._probe_hplip, |
| 245 |
self._probe_jetdirect, |
242 |
self._probe_jetdirect, |
| 246 |
self._probe_ipp, |
243 |
self._probe_ipp, |
| 247 |
self._probe_snmp, |
244 |
self._probe_snmp, |
| 248 |
self._probe_lpd, |
245 |
self._probe_lpd, |
| 249 |
self._probe_smb]: |
246 |
self._probe_smb] |
|
|
247 |
|
| 248 |
for fn in fn_list: |
| 250 |
if self.quit: |
249 |
if self.quit: |
| 251 |
return |
250 |
return |
| 252 |
|
|
|
| 253 |
try: |
251 |
try: |
| 254 |
fn () |
252 |
fn() |
| 255 |
except Exception: |
253 |
except Exception: |
| 256 |
nonfatalException () |
254 |
nonfatalException() |
| 257 |
|
255 |
|
| 258 |
# Signal that we've finished. |
256 |
# Signal that we've finished. |
| 259 |
if not self.quit: |
257 |
if not self.quit: |
| 260 |
self.callback_fn (None) |
258 |
self.callback_fn(None) |
| 261 |
|
259 |
|
| 262 |
def _new_device (self, uri, info, location = None): |
260 |
def _new_device (self, uri, info, location = None): |
| 263 |
device_dict = { 'device-class': 'network', |
261 |
device_dict = { 'device-class': 'network', |