View | Details | Raw Unified | Return to bug 34945
Collapse All | Expand All

(-)probe_printer.py (-23 / +21 lines)
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',

Return to bug 34945