Add feature to make libs importable

This commit is contained in:
Labrys of Knossos 2018-12-16 18:38:54 -05:00
commit 43ffbc7c34
4 changed files with 119 additions and 19 deletions

47
libs/__init__.py Normal file
View file

@ -0,0 +1,47 @@
import os
import sys
import libs.util
ROOT_DIR = libs.util.module_root()
LIB_DIR = os.path.join(ROOT_DIR, 'libs')
COMMON = 'common'
CUSTOM = 'custom'
PY2 = 'py2'
WIN = 'win'
LOADED = {}
MANDATORY = {
COMMON,
CUSTOM,
}
DIRECTORY = {
lib: os.path.join(LIB_DIR, lib)
for lib in [COMMON, CUSTOM, PY2, WIN]
}
if sys.platform == 'win32':
MANDATORY.add(WIN)
if sys.version_info < (3, ):
MANDATORY.add(PY2)
def add_libs(name):
if name in MANDATORY and name not in LOADED:
path = libs.util.add_path(DIRECTORY[name])
if path:
LOADED[name] = path
return path
def add_all_libs():
for lib in MANDATORY:
add_libs(lib)
return is_finished()
def is_finished():
return MANDATORY.issubset(LOADED.keys())