Пример #1
0
 def __init__(self, file):
     self.fileData = rthCls.Filename(file)
     rth.printToFile('Procesando archivo de la CGR: %s' \
                     % self.fileData.filext, True)
     self.data = ()
     self.rawData = self.file2list(file)
     self.tipo = self.getTipo()
     self.procesarData()
Пример #2
0
    def file2list(self, path):
        fileData = open(path, 'r')

        fileList = ()
        count = 0

        for line in fileData:
            fileList += (line, )
            count += 1

        fileData.close()

        rth.printToFile(' - %d líneas' % count)
        return fileList
Пример #3
0
def readNload(fileDir):
    fileInfo = rthCls.Filename(fileDir)

    if fileInfo.isDir:
        ready2import = ()
        for file in os.listdir(fileDir):
            filename = os.path.abspath(os.path.join(fileDir, file))
            ready2import += (readNload(filename),)
        return ready2import

    else:
        if fileInfo.extension == ".txt" or fileInfo.name == "Regdsc":
            cgrDoc = CgrDoc(fileDir)
            rth.printToFile(" - Lectura de archivo completa")
            return (cgrDoc,)
Пример #4
0
    def getTipo(self):
        fileData = self.rawData
        maxLen = 0

        for line in fileData:
            maxLen = len(line) if (len(line) > maxLen) else maxLen

        if self.fileData.extension == '.txt':
            tipo = 'salarios' if (maxLen > 200) else 'descuentos'
        else:
            if self.fileData.name == 'Regdsc' and maxLen >= 80 and maxLen <= 82:
                tipo = 'conciliacion'
            else:
                raise IOError('No podemos procesar este archivo: %s' \
                              % self.fileData.filext)

        rth.printToFile(' - Archivo de %s' % tipo)
        return tipo
Пример #5
0
    ver = "v1.0.0"
    rth.printTxtHeader(titl, ver)

    cgrDocs = ()

    if len(sys.argv) == 1:
        raise rthCls.MyException("DragOnly")

    for index, fileDir in enumerate(sys.argv):
        if index > 0:
            cgrDocs += (readNload(fileDir),)

    cgrDocsFlat = [element for tupl in cgrDocs for element in tupl]

    if len(cgrDocsFlat) > 0:
        rth.printToFile("Generando archivo de Excel", True)
        reporte = Reporte.Reporte()

        for cgrDoc in cgrDocsFlat:
            reporte.cargar(cgrDoc.tipo, cgrDoc.data, cgrDoc.getColKeys())

        path = rthCls.Filename(sys.argv[1]).head
        reporte.save(path, "planillas")
        rth.printToFile("¡LISTO!")

except rthCls.MyException as e:
    if str(e) == "DragOnly":
        msg = (
            "\n\nADVERTENCIA:\n"
            "Para utilizar este programa debe arrastrar los archivos a procesar \n"
            "y arrojarlos sobre el ícono del programa. \n\n"