From c76418917eb5dfe779913d4bcb32b3c8d120f5dc Mon Sep 17 00:00:00 2001 From: Mauricio Baeza Date: Thu, 26 Oct 2017 13:09:47 -0500 Subject: [PATCH] Crear BD de rfcs de acceso --- source/app/controllers/pac.py | 26 ++++++------ source/app/controllers/util.py | 39 +++++++++++++----- source/app/models/main.py | 9 ++-- source/app/settings.py | 3 ++ source/db/rfc.db.ini | Bin 12288 -> 0 bytes .../{app/models => db}/valores_iniciales.json | 0 6 files changed, 50 insertions(+), 27 deletions(-) delete mode 100644 source/db/rfc.db.ini rename source/{app/models => db}/valores_iniciales.json (100%) diff --git a/source/app/controllers/pac.py b/source/app/controllers/pac.py index bf2a4a8..25b7fa4 100644 --- a/source/app/controllers/pac.py +++ b/source/app/controllers/pac.py @@ -244,8 +244,8 @@ class Finkok(object): URL[method], transport=self._transport, plugins=self._plugins) args = { - 'username': self._auth['user'], - 'password': self._auth['pass'], + 'username': self._auth['USER'], + 'password': self._auth['PASS'], 'xml': xml, } if URL['quick_stamp']: @@ -272,8 +272,8 @@ class Finkok(object): URL[method], transport=self._transport, plugins=self._plugins) args = { - 'username': self._auth['user'], - 'password': self._auth['pass'], + 'username': self._auth['USER'], + 'password': self._auth['PASS'], 'uuid': uuid, 'taxpayer_id': self.rfc, 'invoice_type': 'I', @@ -323,7 +323,7 @@ class Finkok(object): URL[method], transport=self._transport, plugins=self._plugins) try: result = client.service.query_pending( - self._auth['user'], self._auth['pass'], uuid) + self._auth['USER'], self._auth['PASS'], uuid) #~ print (result.date) #~ tree = parseString(unescape(result.xml)) #~ response = tree.toprettyxml(encoding='utf-8').decode('utf-8') @@ -347,8 +347,8 @@ class Finkok(object): args = { 'UUIDS': uuid_type(uuids=sa(string=uuids)), - 'username': self._auth['user'], - 'password': self._auth['pass'], + 'username': self._auth['USER'], + 'password': self._auth['PASS'], 'taxpayer_id': rfc, 'cer': cer, 'key': key, @@ -379,8 +379,8 @@ class Finkok(object): URL[method], transport=self._transport, plugins=self._plugins) args = { - 'username': self._auth['user'], - 'password': self._auth['pass'], + 'username': self._auth['USER'], + 'password': self._auth['PASS'], 'xml': xml, 'store_pending': True, } @@ -398,8 +398,8 @@ class Finkok(object): URL[method], transport=self._transport, plugins=self._plugins) args = { - 'username': self._auth['user'], - 'password': self._auth['pass'], + 'username': self._auth['USER'], + 'password': self._auth['PASS'], 'taxpayer_id': rfc, 'uuid': '', 'type': type_acuse, @@ -426,8 +426,8 @@ class Finkok(object): URL[method], transport=self._transport, plugins=self._plugins) args = { - 'username': self._auth['user'], - 'password': self._auth['pass'], + 'username': self._auth['USER'], + 'password': self._auth['PASS'], 'uuid': '', } try: diff --git a/source/app/controllers/util.py b/source/app/controllers/util.py index d354f03..2b4fea4 100644 --- a/source/app/controllers/util.py +++ b/source/app/controllers/util.py @@ -95,7 +95,23 @@ def get_value(arg): return value +def _valid_db_companies(): + con = sqlite3.connect(COMPANIES) + sql = """ + CREATE TABLE IF NOT EXISTS names( + rfc TEXT NOT NULL COLLATE NOCASE UNIQUE, + con TEXT NOT NULL + ); + """ + cursor = con.cursor() + cursor.executescript(sql) + cursor.close() + con.close() + return + + def _get_args(rfc): + _valid_db_companies() con = sqlite3.connect(COMPANIES) cursor = con.cursor() sql = "SELECT con FROM names WHERE rfc=?" @@ -111,6 +127,18 @@ def _get_args(rfc): return values[0] +def get_rfcs(): + _valid_db_companies() + con = sqlite3.connect(COMPANIES) + cursor = con.cursor() + sql = "SELECT * FROM names" + cursor.execute(sql) + values = cursor.fetchall() + cursor.close() + con.close() + return values + + def get_con(rfc=''): if not rfc: rfc = get_value('RFC').upper() @@ -123,17 +151,6 @@ def get_con(rfc=''): return loads(args) -def get_rfcs(): - con = sqlite3.connect(COMPANIES) - cursor = con.cursor() - sql = "SELECT * FROM names" - cursor.execute(sql) - values = cursor.fetchall() - cursor.close() - con.close() - return values - - def get_sat_key(table, key): con = sqlite3.connect(DB_SAT) cursor = con.cursor() diff --git a/source/app/models/main.py b/source/app/models/main.py index ed85e89..60ecc57 100644 --- a/source/app/models/main.py +++ b/source/app/models/main.py @@ -14,7 +14,8 @@ if __name__ == '__main__': from controllers import util -from settings import log, VERSION, PATH_CP, COMPANIES, PRE, CURRENT_CFDI +from settings import log, VERSION, PATH_CP, COMPANIES, PRE, CURRENT_CFDI, \ + INIT_VALUES FORMAT = '{0:.2f}' @@ -241,7 +242,7 @@ class Emisor(BaseModel): def get_auth(cls): try: obj = Emisor.select()[0] - return {'user': obj.correo_timbrado, 'pass': obj.token_timbrado} + return {'USER': obj.correo_timbrado, 'PASS': obj.token_timbrado} except: return {} @@ -1708,6 +1709,7 @@ def _cambiar_contraseƱa(): def _add_emisor(rfc, args): + util._valid_db_companies() con = sqlite3.connect(COMPANIES) cursor = con.cursor() sql = """ @@ -1726,6 +1728,7 @@ def _add_emisor(rfc, args): def _delete_emisor(rfc): + util._valid_db_companies() con = sqlite3.connect(COMPANIES) cursor = con.cursor() sql = """ @@ -1830,7 +1833,7 @@ def _importar_valores(archivo='', rfc=''): conectar(args) if not archivo: - archivo = 'valores_iniciales.json' + archivo = INIT_VALUES log.info('Importando datos...') regimen = '' diff --git a/source/app/settings.py b/source/app/settings.py index e89def6..1776135 100644 --- a/source/app/settings.py +++ b/source/app/settings.py @@ -23,6 +23,9 @@ PATH_CP = os.path.abspath(os.path.join(BASE_DIR, '..', 'db', 'cp.db')) COMPANIES = os.path.abspath(os.path.join(BASE_DIR, '..', 'db', 'rfc.db')) DB_SAT = os.path.abspath(os.path.join(BASE_DIR, '..', 'db', 'sat.db')) +IV = 'valores_iniciales.json' +INIT_VALUES = os.path.abspath(os.path.join(BASE_DIR, '..', 'db', IV)) + PATH_XSLT = os.path.abspath(os.path.join(BASE_DIR, '..', 'xslt')) PATH_BIN = os.path.abspath(os.path.join(BASE_DIR, '..', 'bin')) diff --git a/source/db/rfc.db.ini b/source/db/rfc.db.ini deleted file mode 100644 index cd38d7c1cbaec31d574f364ae2d64671c0efbd2a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12288 zcmeI&K}*9h6bJB^D(VU&8wk1PxPl1cSy+`E#_Dvn1$S!e>|n69xK;5s_5uA01HXkw zlfc*zcG_ja|G`UMlBO-cTOd#UU|i*LRL-VZC9kPLj8R)kB5LY9(zy;(AFl_xXIu5I zvPqZc-*x^&4v&e){A<^Pn1=uaAOHafKmY;|fB*y_009X6JAn^&DuiImZk4@E@*