Fix alembic migrations importing app

Ensure we connect to loaded config db
This commit is contained in:
Sam Chow 2018-06-19 13:46:34 -04:00
parent bb2b28cd11
commit b5f630ba29
18 changed files with 69 additions and 81 deletions

View file

@ -5,12 +5,12 @@ from config_app.config_util.config.inmemoryprovider import InMemoryProvider
def get_config_provider(config_volume, yaml_filename, py_filename, testing=False):
""" Loads and returns the config provider for the current environment. """
if True:
return InMemoryProvider()
if testing:
return TestConfigProvider()
return FileConfigProvider(config_volume, yaml_filename, py_filename)
else:
return InMemoryProvider()

View file

@ -12,6 +12,7 @@ class InMemoryProvider(BaseProvider):
def __init__(self):
self.files = {}
self.config = {}
self.was_loaded = False
@property
def provider_id(self):
@ -24,16 +25,17 @@ class InMemoryProvider(BaseProvider):
return self.config
def save_config(self, config_object):
raise Exception('Not implemented yet')
self.config = config_object
self.was_loaded = True
def config_exists(self):
raise Exception('Not implemented yet')
return self.was_loaded
def volume_exists(self):
raise Exception('Not implemented yet')
return True
def volume_file_exists(self, filename):
return filename in self.files
return any([ name.startswith(filename) for name in self.files ])
def get_volume_file(self, filename, mode='r'):
return self.files[filename]
@ -45,7 +47,7 @@ class InMemoryProvider(BaseProvider):
raise Exception('Not implemented yet')
def list_volume_directory(self, path):
return [ name for name in self.files ]
return [ name for name in self.files if name.startswith(path) ]
def save_volume_file(self, filename, flask_file):
raise Exception('Not implemented yet')
@ -54,7 +56,8 @@ class InMemoryProvider(BaseProvider):
raise Exception('Not implemented yet')
def get_volume_path(self, directory, filename):
raise Exception('Not implemented yet')
# Here we can just access the filename since we're storing the tarball files with their full path
return self.files[filename]
def load_from_tarball(self, tarfile):
for tarinfo in tarfile.getmembers():
@ -63,4 +66,5 @@ class InMemoryProvider(BaseProvider):
self.config = yaml.load(tarfile.extractfile(tarinfo.name).read())
else:
self.files[tarinfo.name] = tarfile.extractfile(tarinfo.name).read()
self.was_loaded = True