Sincronizar PDF localmente

This commit is contained in:
Mauricio Baeza 2017-12-17 22:38:19 -06:00
parent 8fecfb8f56
commit 493f78fda5
2 changed files with 21 additions and 7 deletions

View File

@ -1481,11 +1481,11 @@ def local_copy(files):
args = 'df -P ~/facturas | tail -1 | cut -d" " -f 1'
try:
result = _call(args)
if result != 'empresalibre\n':
log.info(result)
msg = 'Asegurate de que exista la carpeta para sincronizar'
log.error(msg)
return
# ~ if result != 'empresalibre\n':
# ~ log.info(result)
# ~ msg = 'Asegurate de que exista la carpeta para sincronizar'
# ~ log.error(msg)
# ~ return
except subprocess.CalledProcessError:
msg = 'No se pudo obtener la ruta para sincronizar'
log.error(msg)

View File

@ -2056,7 +2056,7 @@ class Facturas(BaseModel):
return values
@classmethod
def get_pdf(cls, id, rfc):
def get_pdf(cls, id, rfc, sync=True):
try:
emisor = Emisor.select()[0]
except IndexError:
@ -2070,6 +2070,11 @@ class Facturas(BaseModel):
values = cls._get_not_in_xml(cls, obj, emisor)
data = util.get_data_from_xml(obj, values)
doc = util.to_pdf(data, emisor.rfc)
if sync:
target = emisor.rfc + '/' + str(obj.fecha)[:7].replace('-', '/')
cls._sync_pdf(cls, doc, name, target)
return doc, name
@classmethod
@ -2099,6 +2104,15 @@ class Facturas(BaseModel):
def _sync(self, id, auth):
return Facturas.sync(id, auth)
@util.run_in_thread
def _sync_pdf(self, pdf, name_pdf, target):
auth = Emisor.get_auth()
files = (
(pdf, name_pdf, target),
)
util.sync_cfdi(auth, files)
return
@util.run_in_thread
def _actualizar_saldo_cliente(self, invoice):
if invoice.tipo_comprobante == 'T':
@ -2169,7 +2183,7 @@ class Facturas(BaseModel):
return
emisor = Emisor.select()[0]
pdf, name_pdf = cls.get_pdf(id, auth['RFC'])
pdf, name_pdf = cls.get_pdf(id, auth['RFC'], False)
name_xml = '{}{}_{}.xml'.format(obj.serie, obj.folio, obj.cliente.rfc)
target = emisor.rfc + '/' + str(obj.fecha)[:7].replace('-', '/')
files = (