oc-facho/facho/cli.py
bit4bit@riseup.net a369585f73 facho/cli.py: nuevo subcomando sendtestsetasync para envio de peticion soap
FossilOrigin-Name: 778df44a974144037dedb125ce8539b18540c2b3ce85b9f352cff06ebc1bdce3
2020-05-23 21:06:25 +00:00

67 lines
1.8 KiB
Python

import sys
import click
import logging.config
logging.config.dictConfig({
'version': 1,
'formatters': {
'verbose': {
'format': '%(name)s: %(message)s'
}
},
'handlers': {
'console': {
'level': 'DEBUG',
'class': 'logging.StreamHandler',
'formatter': 'verbose',
},
},
'loggers': {
'zeep.transports': {
'level': 'DEBUG',
'propagate': True,
'handlers': ['console'],
},
}
})
@click.command()
@click.option('--nit', required=True)
@click.option('--nit-proveedor', required=True)
@click.option('--id-software', required=True)
@click.option('--username', required=True)
@click.option('--password', required=True)
def consultaResolucionesFacturacion(nit, nit_proveedor, id_software, username, password):
from facho.fe.client import dian
client_dian = dian.DianClient(username,
password)
resp = client_dian.request(dian.ConsultaResolucionesFacturacionPeticion(
nit, nit_proveedor, id_software
))
print(str(resp))
@click.command()
@click.option('--private-key', required=True)
@click.option('--public-key', required=True)
@click.option('--password')
@click.argument('filename', required=True)
@click.argument('zipfile', type=click.Path(exists=True))
def SendTestSetAsync(private_key, public_key, password, filename, zipfile):
from facho.fe.client import dian
client = dian.DianSignatureClient(private_key, public_key, password=password)
resp = client.request(dian.SendTestSetAsync(
filename, zipfile.read().encode('utf-8')
))
print(resp)
@click.group()
def main():
pass
main.add_command(consultaResolucionesFacturacion)
main.add_command(SendTestSetAsync)