def create_pages(self): if not ACTA_DESGLOSADA: self.pages = [(cert, None, None) for cert in self.secuencia_certificados] else: self.pages = [] categorias = Categoria.many(sorted="posicion") for tipo_certificado in self.secuencia_certificados: for categoria in categorias: self.pages.append( (tipo_certificado, categoria.codigo, categoria.nombre))
def create_pages(self): if not ACTA_DESGLOSADA: self.pages = [(cert, None, None) for cert in self.secuencia_certificados] else: self.pages = [] categorias = Categoria.many(sorted="posicion") for tipo_certificado in self.secuencia_certificados: for categoria in categorias: self.pages.append((tipo_certificado, categoria.codigo, categoria.nombre))
def imprimir_secuencia(self, copias=False, pre_page_callback=None, post_page_callback=None, waiting_paper_callback=None): """ pre_page_callback y post_page_callback reciben como parametro la page sobre la cual son llamados. """ #self.modulo.rampa.desregistrar_eventos() # Solo modifico los callbacks de post y pre impresion de página si los # paso explicitamente para evitar que se sobreescriban en la # autorreferencia que hace esta funcion if pre_page_callback is not None: self.pre_page_callback = pre_page_callback if post_page_callback is not None: self.post_page_callback = post_page_callback if waiting_paper_callback is not None: self.waiting_paper_callback = waiting_paper_callback if copias: self.primer_acta = False if sesion.recuento.hora is None: self.callback = self.reset_copias tipo_acta = CIERRE_COPIA_FIEL else: tipo_acta = CIERRE_CERTIFICADO if not ACTA_DESGLOSADA: self.pages = [(tipo_acta, None, None)] elif sesion.recuento.cod_categoria is not None: categoria = Categoria.get(sesion.recuento.cod_categoria) self.pages = [(tipo_acta, sesion.recuento.cod_categoria, categoria.nombre)] else: self.pages = [] categorias = Categoria.all(sorted="posicion") for categoria in categorias: self.pages.append( (tipo_acta, categoria.codigo, categoria.nombre)) try: page = self.pages.pop(0) def _inner(datos_sensores): tiene_tarjeta = datos_sensores['paper_out_1'] if tiene_tarjeta: if USA_ARMVE: self.modulo.rampa.remover_nuevo_papel() else: sesion.impresora.remover_insertando_papel() self.panel(RECUENTO_GENERANDO) gobject.timeout_add(200, self.imprimir, page, self.imprimir_secuencia, copias) papel = sesion.impresora.full_paper_status() if papel is not None and papel['paper_out_1']: _inner(papel) else: if self.waiting_paper_callback is not None: self.waiting_paper_callback(page) if USA_ARMVE: self.modulo.rampa.registrar_nuevo_papel(_inner) else: sesion.impresora.registrar_insertando_papel(_inner) except IndexError: self.callback()
def imprimir_secuencia(self, copias=False, pre_page_callback=None, post_page_callback=None, waiting_paper_callback=None): """ pre_page_callback y post_page_callback reciben como parametro la page sobre la cual son llamados. """ #self.modulo.rampa.desregistrar_eventos() # Solo modifico los callbacks de post y pre impresion de página si los # paso explicitamente para evitar que se sobreescriban en la # autorreferencia que hace esta funcion if pre_page_callback is not None: self.pre_page_callback = pre_page_callback if post_page_callback is not None: self.post_page_callback = post_page_callback if waiting_paper_callback is not None: self.waiting_paper_callback = waiting_paper_callback if copias: self.primer_acta = False if sesion.recuento.hora is None: self.callback = self.reset_copias tipo_acta = CIERRE_COPIA_FIEL else: tipo_acta = CIERRE_CERTIFICADO if not ACTA_DESGLOSADA: self.pages = [(tipo_acta, None, None)] elif sesion.recuento.cod_categoria is not None: categoria = Categoria.get(sesion.recuento.cod_categoria) self.pages = [(tipo_acta, sesion.recuento.cod_categoria, categoria.nombre)] else: self.pages = [] categorias = Categoria.all(sorted="posicion") for categoria in categorias: self.pages.append((tipo_acta, categoria.codigo, categoria.nombre)) try: page = self.pages.pop(0) def _inner(datos_sensores): tiene_tarjeta = datos_sensores['paper_out_1'] if tiene_tarjeta: if USA_ARMVE: self.modulo.rampa.remover_nuevo_papel() else: sesion.impresora.remover_insertando_papel() self.panel(RECUENTO_GENERANDO) gobject.timeout_add(200, self.imprimir, page, self.imprimir_secuencia, copias) papel = sesion.impresora.full_paper_status() if papel is not None and papel['paper_out_1']: _inner(papel) else: if self.waiting_paper_callback is not None: self.waiting_paper_callback(page) if USA_ARMVE: self.modulo.rampa.registrar_nuevo_papel(_inner) else: sesion.impresora.registrar_insertando_papel(_inner) except IndexError: self.callback()