se adiciona comandos soap send-bill-async,send-bill-sync,get-status-zip
FossilOrigin-Name: e3ab64b71d8bfb3acc50f813aec9b97c45cd80c2c4f38e23804d1f17f058ffdf
This commit is contained in:
65
facho/cli.py
65
facho/cli.py
@@ -44,6 +44,48 @@ def consultaResolucionesFacturacion(nit, nit_proveedor, id_software, username, p
|
||||
print(str(resp))
|
||||
|
||||
|
||||
@click.command()
|
||||
@click.option('--private-key', required=True)
|
||||
@click.option('--public-key', required=True)
|
||||
@click.option('--habilitacion/--produccion', default=False)
|
||||
@click.option('--password')
|
||||
@click.option('--test-setid', required=True)
|
||||
@click.argument('filename', required=True)
|
||||
@click.argument('zipfile', type=click.Path(exists=True))
|
||||
def soap_send_test_set_async(private_key, public_key, habilitacion, password, test_setid, filename, zipfile):
|
||||
from facho.fe.client import dian
|
||||
|
||||
client = dian.DianSignatureClient(private_key, public_key, password=password)
|
||||
req = dian.SendTestSetAsync
|
||||
if habilitacion:
|
||||
req = dian.Habilitacion.SendTestSetAsync
|
||||
resp = client.request(req(
|
||||
filename,
|
||||
open(zipfile, 'rb').read(),
|
||||
test_setid,
|
||||
))
|
||||
print(resp)
|
||||
|
||||
@click.command()
|
||||
@click.option('--private-key', required=True)
|
||||
@click.option('--public-key', required=True)
|
||||
@click.option('--habilitacion/--produccion', default=False)
|
||||
@click.option('--password')
|
||||
@click.argument('filename', required=True)
|
||||
@click.argument('zipfile', type=click.Path(exists=True))
|
||||
def soap_send_bill_async(private_key, public_key, habilitacion, password, filename, zipfile):
|
||||
from facho.fe.client import dian
|
||||
|
||||
client = dian.DianSignatureClient(private_key, public_key, password=password)
|
||||
req = dian.SendBillAsync
|
||||
if habilitacion:
|
||||
req = dian.Habilitacion.SendBillAsync
|
||||
resp = client.request(req(
|
||||
filename,
|
||||
open(zipfile, 'rb').read()
|
||||
))
|
||||
print(resp)
|
||||
|
||||
@click.command()
|
||||
@click.option('--private-key', required=True)
|
||||
@click.option('--public-key', required=True)
|
||||
@@ -64,6 +106,24 @@ def soap_send_bill_sync(private_key, public_key, habilitacion, password, filenam
|
||||
))
|
||||
print(resp)
|
||||
|
||||
@click.command()
|
||||
@click.option('--private-key', required=True)
|
||||
@click.option('--public-key', required=True)
|
||||
@click.option('--habilitacion/--produccion', default=False)
|
||||
@click.option('--password')
|
||||
@click.option('--track-id', required=True)
|
||||
def soap_get_status_zip(private_key, public_key, habilitacion, password, track_id):
|
||||
from facho.fe.client import dian
|
||||
|
||||
client = dian.DianSignatureClient(private_key, public_key, password=password)
|
||||
req = dian.GetStatusZip
|
||||
if habilitacion:
|
||||
req = dian.Habilitacion.GetStatusZip
|
||||
resp = client.request(req(
|
||||
trackId = track_id
|
||||
))
|
||||
print(resp)
|
||||
|
||||
@click.command()
|
||||
@click.option('--private-key', required=True)
|
||||
@click.option('--public-key', required=True)
|
||||
@@ -113,7 +173,7 @@ def generate_invoice(private_key, passphrase, scriptname):
|
||||
if private_key:
|
||||
signer = fe.DianXMLExtensionSigner(private_key, passphrase=passphrase)
|
||||
xml.add_extension(signer)
|
||||
print(str(xml))
|
||||
print(xml.tostring(xml_declaration=True))
|
||||
|
||||
|
||||
@click.group()
|
||||
@@ -121,6 +181,9 @@ def main():
|
||||
pass
|
||||
|
||||
main.add_command(consultaResolucionesFacturacion)
|
||||
main.add_command(soap_send_test_set_async)
|
||||
main.add_command(soap_send_bill_async)
|
||||
main.add_command(soap_send_bill_sync)
|
||||
main.add_command(soap_get_status)
|
||||
main.add_command(soap_get_status_zip)
|
||||
main.add_command(generate_invoice)
|
||||
|
||||
Reference in New Issue
Block a user