def guardar_estilos(self): encabezado = ['ID_ESTILO', 'ESTILO'] datos = [] for key in self.idEstilosDict: dato = {'ID_ESTILO': self.idEstilosDict[key], 'ESTILO': key} datos.append(dato) IOManager.write_csv(self.BDD_ESTILOS_RUTA, encabezado, datos)
def guardar_huellas_digitales(self): encabezado = ['ID_CANCION', 'HUELLA_DIGITAL'] datos = [] for key in self.huellasDict: dato = {} dato['ID_CANCION'] = key dato['HUELLA_DIGITAL'] = self.huellasDict[key] datos.append(dato) IOManager.write_csv(self.BDD_HUELLAS_RUTA, encabezado, datos)
def guardar_interpretes(self): encabezado = ['ID_INTERPRETE', 'INTERPRETE'] datos = [] for key in self.idInterpretesDict: dato = {} dato['ID_INTERPRETE'] = self.idInterpretesDict[key] dato['INTERPRETE'] = key datos.append(dato) IOManager.write_csv(self.BDD_INTERPRETES_RUTA, encabezado, datos)
def guardar_canciones(self): encabezado = ['ID_CANCION', 'TITULO', 'ID_INTERPRETE', 'ID_ESTILO'] datos = [] for titulo, id_interprete in self.idCancionesDict: id_cancion, id_estilo = self.idCancionesDict[(titulo, id_interprete)] dato = {} dato['ID_CANCION'] = id_cancion dato['TITULO'] = titulo dato['ID_INTERPRETE'] = id_interprete dato['ID_ESTILO'] = id_estilo datos.append(dato) IOManager.write_csv(self.BDD_CANCIONES_RUTA, encabezado, datos)
def cargar_huellas_desde_bdd(self): obtenerClave = lambda celda: int(celda['ID_CANCION']) obtenerValor = lambda celda: celda['HUELLA_DIGITAL'] obtenerContadorId = lambda celda: 0 datos, contador = IOManager.read_csv(self.BDD_HUELLAS_RUTA, obtenerClave, obtenerValor, obtenerContadorId) self.huellasDict = datos
def cargar_interpretes_desde_bdd(self): obtenerClave = lambda celda: celda['INTERPRETE'] obtenerValor = lambda celda: int(celda['ID_INTERPRETE']) obtenerContadorId = lambda celda: int(celda['ID_INTERPRETE']) datos, maxId = IOManager.read_csv(self.BDD_INTERPRETES_RUTA, obtenerClave, obtenerValor, obtenerContadorId) self.idInterpretesDict = datos self.idInterpretesCount = (maxId + 1) if (maxId > 0) else 0
def cargar_canciones_desde_bdd(self): obtenerClave = lambda celda: (celda['TITULO'], int(celda['ID_INTERPRETE'])) obtenerValor = lambda celda: (int(celda['ID_CANCION']), int(celda['ID_ESTILO'])) obtenerContadorId = lambda celda: int(celda['ID_CANCION']) datos, maxId = IOManager.read_csv(self.BDD_CANCIONES_RUTA, obtenerClave, obtenerValor, obtenerContadorId) self.idCancionesDict = datos self.idCancionesCount = (maxId + 1) if (maxId > 0) else 0
def cargar_estilos_desde_bdd(self): obtenerClave = lambda celda: celda['ESTILO'] obtenerValor = lambda celda: int(celda['ID_ESTILO']) obtenerContadorId = lambda celda: int(celda['ID_ESTILO']) datos, maxId = IOManager.read_csv(self.BDD_ESTILOS_RUTA, obtenerClave, obtenerValor, obtenerContadorId) self.idEstilosDict = datos self.idEstilosCount = (maxId + 1) if (maxId > 0) else 0
class Fan(Device): im=IOManager() def __init__(self,p): self.name="FAN" self.device_id=0 self.sdk_version=1 self.author="winxos" self.device_type="IO" self.io_binded=[p] self.im.gpio_setmode(p,"OUTPUT") self.im.gpio_pwm_init(p,1000) def set_id(self,n): self.device_id=n def set_speed(self,s): try: self.im.gpio_pwm_set(self.io_binded[0],int(s[0])) except Exception,e: print e
def renombrar_archivo(self, tema, interprete, estilo, dirName, arch): extension = arch[arch.rindex('.') : len(arch)] tema = StringUtils.convertir_a_estandard(tema) interprete = StringUtils.convertir_a_estandard(interprete) arch_estandard = interprete + " " + self.separador + " " + tema + extension IOManager.renombrar_archivo(dirName, arch, arch_estandard)
def __init__(self, filename): self.__io = IOManager() self.__load_items(filename) self.__take_input()
class CashRegister(object): #Object for main interface def __init__(self, filename): self.__io = IOManager() self.__load_items(filename) self.__take_input() @property def items(self): return self.__items @items.setter def items(self, value): self.__items = value @property def state(self): return self.__state @state.setter def state(self, value): self.__state = value print(value) self.__io.blinkLight()#TODO CHANGE THIS TO ONLY WHEN WE WANT def __load_items(self, filename): self.state = State.loading self.__lookup = {} script_dir = os.path.dirname(__file__) file_path = os.path.join(script_dir, filename) with open(file_path) as itemFile: for line in itemFile: item = self.__parse(line) self.__lookup[item.id] = item self.state = State.waiting def __parse(self, line): strs = line.split(',') return Item(strs[0], strs[1], strs[2]) def __take_input(self): self.state = State.waiting self.items = [] while True: #loop for lifecycle, break when system shuts down or at other time when decided self.__read_button() if self.state == State.scanning: self.__scan_items() elif self.state == State.completed: self.__print_items() self.__cleanup() def __read_button(self): if self.__io.getButton(): if self.state == State.waiting: self.state = State.scanning elif self.state == State.scanning or self.state == State.processing: self.state = State.completed def __scan_items(self): while self.state == State.scanning: scanStr = self.__io.getScan() if scanStr != "": self.state = State.processing item = self.__lookup[int(scanStr)] print(item.id) self.__add_item(item) self.state = State.scanning self.__read_button() def __add_item(self, item): self.items.append(item) def __print_items(self): self.state = State.printing self.__io.printReceipt(self.items) self.state = State.waiting def __cleanup(self): self.items.clear()
print(" COMO USAR:") print( " dispatcher.py [processos] [arquivos]\n Processos: Arquivo com os dados dos processos" ) print( " Arquivos: Arquivo com os dados do sistema de arquivos\n (Insira o nome dos arquivos com extensão)" ) exit() else: FNAME_process = sys.argv[1] FNAME_files = sys.argv[2] # Inicializa os recursos do sistema dsptc = Dispatcher() fsmgr = FileManager.FileSystem() iomgr = IOManager.IOManager() # Inicializa o sistema dsptc.Boot(FNAME_process) fsmgr.InitializeFS(FNAME_files) # Processa as operações de arquivo usando a fila inicial de processos fsmgr.FileOperations(dsptc.input_queue) print("processos>>>", dsptc.input_queue) # Fluxo principal, escalonamento de processos dsptc_exit = cons.RESULT_SUCCESS while dsptc_exit != cons.ERR_NO_PROCESS: # Procura pelo sinal de IO concluída iomgr.GetIOResults(dsptc.input_queue)