Пример #1
0
		def done(success, ret):
			websocketd.remove_read(p.input_handle)
			try:
				p.process.kill()
			except OSError:
				pass
			try:
				p.process.communicate()
			except:
				pass
			p.process = None
Пример #2
0
 def done(success, ret):
     websocketd.remove_read(p.input_handle)
     try:
         p.process.kill()
     except:
         pass
     try:
         p.process.communicate()
     except:
         pass
     p.process = None
Пример #3
0
		def timeout():
			id[1] += 1
			if id[1] >= 30:
				# Timeout.  Give up.
				websocketd.remove_read(watcher)
				machine.close()
				log('Timeout waiting for machine on port %s; giving up.' % port)
				ports[port] = None
				broadcast(None, 'port_state', port, 0)
				return
			if not id[2]:
				machine.write(protocol.single['ID'])
			else:
				id[2] = False
			timeout_handle[0] = websocketd.add_timeout(time.time() + .5, timeout)
Пример #4
0
		def timeout():
			id[1] += 1
			if id[1] >= 30:
				# Timeout.  Give up.
				websocketd.remove_read(watcher)
				machine.close()
				log('Timeout waiting for machine on port %s; giving up.' % port)
				ports[port] = None
				broadcast(None, 'port_state', port, 0)
				return
			if not id[2]:
				machine.write(protocol.single['ID'])
			else:
				id[2] = False
			timeout_handle[0] = websocketd.add_timeout(time.time() + .5, timeout)
Пример #5
0
	def die(self, reason = 'at request'): # {{{
		log('{} died {}.'.format(self.uuid, reason))
		websocketd.remove_read(self.input_handle)
		try:
			self.process.kill()
		except:
			pass
		try:
			self.process.communicate()
		except:
			pass
		self.process = None
		for t in range(3):
			for w in self.waiters[t]:
				self.waiters[t][w](False, 'Machine {} died {}'.format(self.uuid, reason))
		if self.uuid in machines:
			del machines[self.uuid]
Пример #6
0
	def die(self, reason = 'at request'): # {{{
		log('{} died {}.'.format(self.uuid, reason))
		websocketd.remove_read(self.input_handle)
		try:
			self.process.kill()
		except:
			pass
		try:
			self.process.communicate()
		except:
			pass
		self.process = None
		for t in range(3):
			for w in self.waiters[t]:
				self.waiters[t][w](False, 'Machine {} died {}'.format(self.uuid, reason))
		if self.uuid in machines:
			del machines[self.uuid]
Пример #7
0
		def get_settings(success, settings):
			if not success:
				log('failed to get settings')
				return
			self.call('import_settings', ['admin', settings], {}, lambda success, ret: None)
			websocketd.remove_read(orphans[self.run_id].input_handle)
			orphans[self.run_id].call('die', ('admin', 'replaced by new connection',), {}, lambda success, ret: None)
			try:
				orphans[self.run_id].process.kill()
				try:
					orphans[self.run_id].process.communicate()
				except:
					pass
			except OSError:
				pass
			del orphans[self.run_id]
			self.detecting = False
			self.call('send_printer', ['admin', None], {}, lambda success, data: broadcast(None, 'port_state', port, 2))
Пример #8
0
 def get_settings(success, settings):
     if not success:
         log('failed to get settings')
         return
     self.call('import_settings', ['admin', settings], {},
               lambda success, ret: None)
     websocketd.remove_read(orphans[self.run_id].input_handle)
     orphans[self.run_id].call('die', (
         'admin',
         'replaced by new connection',
     ), {}, lambda success, ret: None)
     try:
         orphans[self.run_id].process.kill()
     except:
         pass
     try:
         orphans[self.run_id].process.communicate()
     except:
         pass
     del orphans[self.run_id]
     self.detecting = False
     self.call(
         'send_printer', ['admin', None], {},
         lambda success, data: broadcast(None, 'port_state', port, 2))
Пример #9
0
 def cancel():
     websocketd.remove_timeout(timeout_handle[0])
     websocketd.remove_read(watcher)
     printer.close()
     ports[port] = None
Пример #10
0
		def cancel():
			websocketd.remove_timeout(timeout_handle[0])
			websocketd.remove_read(watcher)
			machine.close()
			ports[port] = None