upgrade pyproject.toml, bug fix with registry
This commit is contained in:
parent
de4e065ca6
commit
66d881fdda
|
@ -1,6 +1,6 @@
|
||||||
__app_name__ = 'data-transport'
|
__app_name__ = 'data-transport'
|
||||||
__author__ = 'The Phi Technology'
|
__author__ = 'The Phi Technology'
|
||||||
__version__= '2.2.18'
|
__version__= '2.2.22'
|
||||||
__email__ = "info@the-phi.com"
|
__email__ = "info@the-phi.com"
|
||||||
__edition__= 'community'
|
__edition__= 'community'
|
||||||
__license__=f"""
|
__license__=f"""
|
||||||
|
|
33
setup.py
33
setup.py
|
@ -1,33 +0,0 @@
|
||||||
"""
|
|
||||||
This is a build file for the
|
|
||||||
"""
|
|
||||||
from setuptools import setup, find_packages
|
|
||||||
import os
|
|
||||||
import sys
|
|
||||||
# from version import __version__,__author__
|
|
||||||
from info import __version__, __author__,__app_name__,__license__,__edition__
|
|
||||||
|
|
||||||
|
|
||||||
def read(fname):
|
|
||||||
return open(os.path.join(os.path.dirname(__file__), fname)).read()
|
|
||||||
args = {
|
|
||||||
"name":__app_name__,
|
|
||||||
"version":__version__,
|
|
||||||
"author":__author__,"author_email":"info@the-phi.com",
|
|
||||||
"license":__license__,
|
|
||||||
# "packages":["transport","info","transport/sql"]},
|
|
||||||
|
|
||||||
"packages": find_packages(include=['info','transport', 'transport.*'])}
|
|
||||||
args["keywords"]=['mongodb','duckdb','couchdb','rabbitmq','file','read','write','s3','sqlite']
|
|
||||||
args["install_requires"] = ['pyncclient','duckdb-engine','pymongo','sqlalchemy','pandas','typer','pandas-gbq','numpy','cloudant','pika','nzpy','termcolor','boto3','boto','pyarrow','google-cloud-bigquery','google-cloud-bigquery-storage','flask-session','smart_open','botocore','psycopg2-binary','mysql-connector-python','numpy','pymssql','pyspark','pydrill','sqlalchemy_drill','plugin-ix@git+https://github.com/lnyemba/plugins-ix']
|
|
||||||
args["url"] = "https://healthcareio.the-phi.com/git/code/transport.git"
|
|
||||||
args['scripts'] = ['bin/transport']
|
|
||||||
args['classifiers'] = ['Programming Language :: Python :: 3',
|
|
||||||
'License :: OSI Approved :: MIT License',
|
|
||||||
"Topic :: Utilities",
|
|
||||||
'Operating System :: OS Independent'
|
|
||||||
]
|
|
||||||
# if sys.version_info[0] == 2 :
|
|
||||||
# args['use_2to3'] = True
|
|
||||||
# args['use_2to3_exclude_fixers']=['lib2to3.fixes.fix_import']
|
|
||||||
setup(**args)
|
|
|
@ -6,7 +6,7 @@ import transport
|
||||||
import importlib
|
import importlib
|
||||||
import importlib.util
|
import importlib.util
|
||||||
import shutil
|
import shutil
|
||||||
|
from io import StringIO
|
||||||
|
|
||||||
"""
|
"""
|
||||||
This class manages data from the registry and allows (read only)
|
This class manages data from the registry and allows (read only)
|
||||||
|
@ -21,161 +21,7 @@ if 'DATA_TRANSPORT_REGISTRY_PATH' in os.environ :
|
||||||
REGISTRY_PATH = os.environ['DATA_TRANSPORT_REGISTRY_PATH']
|
REGISTRY_PATH = os.environ['DATA_TRANSPORT_REGISTRY_PATH']
|
||||||
REGISTRY_FILE= 'transport-registry.json'
|
REGISTRY_FILE= 'transport-registry.json'
|
||||||
DATA = {}
|
DATA = {}
|
||||||
# class plugins:
|
|
||||||
# #
|
|
||||||
# # This is a utility function that should enable management of plugins-registry
|
|
||||||
# # The class allows to add/remove elements
|
|
||||||
# #
|
|
||||||
# # @TODO: add read/write properties to the class (better design practice)
|
|
||||||
# #
|
|
||||||
# _data = {}
|
|
||||||
# FOLDER = os.sep.join([REGISTRY_PATH,'plugins'])
|
|
||||||
# CODE = os.sep.join([REGISTRY_PATH,'plugins','code'])
|
|
||||||
# FILE = os.sep.join([REGISTRY_PATH,'plugin-registry.json'])
|
|
||||||
# @staticmethod
|
|
||||||
# def init():
|
|
||||||
|
|
||||||
# if not os.path.exists(plugins.FOLDER) :
|
|
||||||
# os.makedirs(plugins.FOLDER)
|
|
||||||
# if not os.path.exists(plugins.CODE):
|
|
||||||
# os.makedirs(plugins.CODE)
|
|
||||||
# if not os.path.exists(plugins.FILE):
|
|
||||||
# f = open(plugins.FILE,'w')
|
|
||||||
# f.write("{}")
|
|
||||||
# f.close()
|
|
||||||
# plugins._read() #-- will load data as a side effect
|
|
||||||
|
|
||||||
# @staticmethod
|
|
||||||
# def copy (path) :
|
|
||||||
|
|
||||||
# shutil.copy2(path,plugins.CODE)
|
|
||||||
# @staticmethod
|
|
||||||
# def _read ():
|
|
||||||
# f = open(plugins.FILE)
|
|
||||||
# try:
|
|
||||||
# _data = json.loads(f.read())
|
|
||||||
# f.close()
|
|
||||||
# except Exception as e:
|
|
||||||
# print (f"Corrupted registry, resetting ...")
|
|
||||||
# _data = {}
|
|
||||||
# plugins._write(_data)
|
|
||||||
|
|
||||||
# plugins._data = _data
|
|
||||||
# @staticmethod
|
|
||||||
# def _write (_data):
|
|
||||||
# f = open(plugins.FILE,'w')
|
|
||||||
# f.write(json.dumps(_data))
|
|
||||||
# f.close()
|
|
||||||
# plugins._data = _data
|
|
||||||
|
|
||||||
# @staticmethod
|
|
||||||
# def inspect (_path):
|
|
||||||
# _names = []
|
|
||||||
|
|
||||||
# if os.path.exists(_path) :
|
|
||||||
# _filename = _path.split(os.sep)[-1]
|
|
||||||
# spec = importlib.util.spec_from_file_location(_filename, _path)
|
|
||||||
# module = importlib.util.module_from_spec(spec)
|
|
||||||
# spec.loader.exec_module(module)
|
|
||||||
|
|
||||||
# # _names = [{'name':getattr(getattr(module,_name),'name'),'pointer':getattr(module,_name)} for _name in dir(module) if type( getattr(module,_name)).__name__ == 'function']
|
|
||||||
# for _name in dir(module) :
|
|
||||||
# _pointer = getattr(module,_name)
|
|
||||||
# if hasattr(_pointer,'transport') :
|
|
||||||
# _item = {'real_name':_name,'name':getattr(_pointer,'name'),'pointer':_pointer,'version':getattr(_pointer,'version')}
|
|
||||||
# _names.append(_item)
|
|
||||||
|
|
||||||
|
|
||||||
# return _names
|
|
||||||
# @staticmethod
|
|
||||||
# def add (alias,path):
|
|
||||||
# """
|
|
||||||
# Add overwrite the registry entries
|
|
||||||
# """
|
|
||||||
# _names = plugins.inspect (path)
|
|
||||||
# _log = []
|
|
||||||
|
|
||||||
# if _names :
|
|
||||||
# #
|
|
||||||
# # We should make sure we have all the plugins with the attributes (transport,name) set
|
|
||||||
# _names = [_item for _item in _names if hasattr(_item['pointer'],'transport') ]
|
|
||||||
# if _names :
|
|
||||||
# plugins.copy(path)
|
|
||||||
# _content = []
|
|
||||||
|
|
||||||
# for _item in _names :
|
|
||||||
# _key = '@'.join([alias,_item['name']])
|
|
||||||
# _log.append(_item['name'])
|
|
||||||
# #
|
|
||||||
# # Let us update the registry
|
|
||||||
# #
|
|
||||||
# plugins.update(alias,path,_log)
|
|
||||||
# return _log
|
|
||||||
|
|
||||||
# @staticmethod
|
|
||||||
# def update (alias,path,_log) :
|
|
||||||
# """
|
|
||||||
# updating the registry entries of the plugins (management data)
|
|
||||||
# """
|
|
||||||
# # f = open(plugins.FILE)
|
|
||||||
# # _data = json.loads(f.read())
|
|
||||||
# # f.close()
|
|
||||||
# _data = plugins._data
|
|
||||||
# # _log = plugins.add(alias,path)
|
|
||||||
|
|
||||||
# if _log :
|
|
||||||
# _data[alias] = {'content':_log,'name':path.split(os.sep)[-1]}
|
|
||||||
# plugins._write(_data) #-- will update data as a side effect
|
|
||||||
|
|
||||||
# return _log
|
|
||||||
# @staticmethod
|
|
||||||
# def get(**_args) :
|
|
||||||
# # f = open(plugins.FILE)
|
|
||||||
# # _data = json.loads(f.read())
|
|
||||||
# # f.close()
|
|
||||||
# # if 'key' in _args :
|
|
||||||
# # alias,name = _args['key'].split('.') if '.' in _args['key'] else _args['key'].split('@')
|
|
||||||
# # else :
|
|
||||||
# # alias = _args['alias']
|
|
||||||
# # name = _args['name']
|
|
||||||
|
|
||||||
# # if alias in _data :
|
|
||||||
|
|
||||||
# # _path = os.sep.join([plugins.CODE,_data[alias]['name']])
|
|
||||||
# # _item = [_item for _item in plugins.inspect(_path) if name == _item['name']]
|
|
||||||
|
|
||||||
# # _item = _item[0] if _item else None
|
|
||||||
# # if _item :
|
|
||||||
|
|
||||||
# # return _item['pointer']
|
|
||||||
# # return None
|
|
||||||
# _item = plugins.has(**_args)
|
|
||||||
# return _item['pointer'] if _item else None
|
|
||||||
|
|
||||||
# @staticmethod
|
|
||||||
# def has (**_args):
|
|
||||||
# f = open(plugins.FILE)
|
|
||||||
# _data = json.loads(f.read())
|
|
||||||
# f.close()
|
|
||||||
# if 'key' in _args :
|
|
||||||
# alias,name = _args['key'].split('.') if '.' in _args['key'] else _args['key'].split('@')
|
|
||||||
# else :
|
|
||||||
# alias = _args['alias']
|
|
||||||
# name = _args['name']
|
|
||||||
|
|
||||||
# if alias in _data :
|
|
||||||
|
|
||||||
# _path = os.sep.join([plugins.CODE,_data[alias]['name']])
|
|
||||||
# _item = [_item for _item in plugins.inspect(_path) if name == _item['name']]
|
|
||||||
|
|
||||||
# _item = _item[0] if _item else None
|
|
||||||
# if _item :
|
|
||||||
|
|
||||||
# return copy.copy(_item)
|
|
||||||
# return None
|
|
||||||
# @staticmethod
|
|
||||||
# def synch():
|
|
||||||
# pass
|
|
||||||
|
|
||||||
def isloaded ():
|
def isloaded ():
|
||||||
return DATA not in [{},None]
|
return DATA not in [{},None]
|
||||||
|
@ -233,8 +79,11 @@ def set (label, auth_file, default=False,path=REGISTRY_PATH) :
|
||||||
if label == 'default' :
|
if label == 'default' :
|
||||||
raise Exception ("""Invalid label name provided, please change the label name and use the switch""")
|
raise Exception ("""Invalid label name provided, please change the label name and use the switch""")
|
||||||
reg_file = os.sep.join([path,REGISTRY_FILE])
|
reg_file = os.sep.join([path,REGISTRY_FILE])
|
||||||
if os.path.exists (auth_file) and os.path.exists(path) and os.path.exists(reg_file):
|
if os.path.exists(path) and os.path.exists(reg_file):
|
||||||
|
if type(auth_file) == str and os.path.exists (auth_file) :
|
||||||
f = open(auth_file)
|
f = open(auth_file)
|
||||||
|
elif type(auth_file) == StringIO:
|
||||||
|
f = auth_file
|
||||||
_info = json.loads(f.read())
|
_info = json.loads(f.read())
|
||||||
f.close()
|
f.close()
|
||||||
f = open(reg_file)
|
f = open(reg_file)
|
||||||
|
|
Loading…
Reference in New Issue