#!/usr/bin/python import gobject import gio import os import time import string import commands def file_changed (monitor, file, unknown, event): if event == gio.FILE_MONITOR_EVENT_CHANGES_DONE_HINT: print "file finished changing" monitor.vez = monitor.vez + 1 if monitor.vez == 2: monitor.disconnect(monitor.id) monitor.cancel() loop.quit() del monitor del file time.sleep(1) os.system('rmmod ohci_hcd') time.sleep(0.1) os.system('modprobe ohci_hcd') lpstatus = commands.getoutput('lpstat -t') if string.find(lpstatus, 'Processing page') == -1: pass else: os.system('/etc/rc.d/cups stop') time.sleep(2) os.system('/etc/rc.d/cups start') print 'module recarregad' for iten in range(1000): while os.listdir('/dev/bus/usb').__contains__('002') == False: time.sleep(0.1) while len(os.listdir('/dev/bus/usb/002')) <= 1: time.sleep(0.1) lista = os.listdir('/dev/bus/usb/002') lista.remove('001') file = gio.File('/dev/bus/usb/002/%s' % lista[0]) monitor = file.monitor_file () monitor.vez = 0 monitor.id = monitor.connect ("changed", file_changed) loop = gobject.MainLoop() loop.run()