Cambio al generar un zip

This commit is contained in:
Mauricio Baeza 2019-02-17 22:12:01 -06:00
parent 4c2ea774b4
commit 9ea396b133
3 changed files with 8 additions and 7 deletions

View File

@ -4,6 +4,7 @@ v 1.28.0 [17-feb-2019]
- Mejora: Usar concepto personalizado en deducciones de nómina 004 Otros
- Mejora: Búsqueda en notas
- Mejora: Soporte para el complemento de Divisas
- Mejora: Descarga de nómina en lote
* IMPORTANTE:
Es necesario realizar una migración, despues de actualizar.

View File

@ -284,11 +284,11 @@ def parse_date(value, next_day=False):
return d
def to_zip(*files):
def to_zip(files):
zip_buffer = BytesIO()
with zipfile.ZipFile(zip_buffer, 'a', zipfile.ZIP_DEFLATED, False) as zip_file:
for data, file_name in files:
for file_name, data in files.items():
zip_file.writestr(file_name, data)
return zip_buffer.getvalue()

View File

@ -8347,17 +8347,17 @@ class CfdiNomina(BaseModel):
w = CfdiNomina.id.in_(ids)
rows = CfdiNomina.select().where(w)
files = []
files = {}
for row in rows:
name = '{}{}_{}.'.format(row.serie, row.folio, row.empleado.rfc)
files.append((row.xml, name + 'xml'))
name = '{}{}_{}'.format(row.serie, row.folio, row.empleado.rfc)
files[f'{name}.xml'] = row.xml
values = self._get_not_in_xml(self, row, emisor)
data = util.get_data_from_xml(row, values)
doc = util.to_pdf(data, emisor.rfc)
files.append((doc, name + 'pdf'))
files[f'{name}.pdf'] = doc
fz = utils.to_zip(*files)
fz = utils.to_zip(files)
return {'data': fz, 'name': name + 'zip'}