add a fake parameter
It will build the temporary database but never copy it to the final name. Signed-off-by: Benjamin Dauvergne <bdauvergne@entrouvert.com>
This commit is contained in:
parent
c32a880373
commit
2bdd5ef6c2
|
@ -47,11 +47,13 @@ def main2():
|
|||
group = parser.add_mutually_exclusive_group()
|
||||
parser.add_argument('--no-feed', dest='feed', help='only produce the model',
|
||||
action='store_false', default=True)
|
||||
parser.add_argument('--fake', action='store_true', default=False)
|
||||
group.add_argument("-a", "--all", help="synchronize all wcs", action='store_true',
|
||||
default=False)
|
||||
group.add_argument('--url', help='url of the w.c.s. instance', required=False, default=None)
|
||||
args, rest = parser.parse_known_args()
|
||||
feed = args.feed
|
||||
fake = args.fake
|
||||
config = get_config(path=args.config_path)
|
||||
# list all known urls
|
||||
urls = [url for url in config.sections() if url.startswith('http://') or
|
||||
|
@ -101,7 +103,7 @@ def main2():
|
|||
logger.info('starting synchronizing w.c.s. at %r with PostgreSQL at %s', url,
|
||||
pg_dsn)
|
||||
feeder = WcsOlapFeeder(api=api, schema=schema, pg_dsn=pg_dsn, logger=logger,
|
||||
config=defaults, do_feed=feed)
|
||||
config=defaults, do_feed=feed, fake=fake)
|
||||
feeder.feed()
|
||||
logger.info('finished')
|
||||
queue.put(False)
|
||||
|
|
|
@ -43,8 +43,9 @@ class Context(object):
|
|||
|
||||
|
||||
class WcsOlapFeeder(object):
|
||||
def __init__(self, api, pg_dsn, schema, logger=None, config=None, do_feed=True):
|
||||
def __init__(self, api, pg_dsn, schema, logger=None, config=None, do_feed=True, fake=False):
|
||||
self.api = api
|
||||
self.fake = fake
|
||||
self.logger = logger or Whatever()
|
||||
self.schema = schema
|
||||
self.connection = psycopg2.connect(dsn=pg_dsn)
|
||||
|
@ -413,10 +414,11 @@ class WcsOlapFeeder(object):
|
|||
raise
|
||||
else:
|
||||
if self.do_feed:
|
||||
self.logger.debug('dropping schema %s', self.schema)
|
||||
self.ex('DROP SCHEMA IF EXISTS {schema} CASCADE')
|
||||
self.logger.debug('dropping schema %s to %s', self.schema + '_temp', self.schema)
|
||||
self.ex('ALTER SCHEMA {schema_temp} RENAME TO {schema}')
|
||||
if not self.fake:
|
||||
self.logger.debug('dropping schema %s', self.schema)
|
||||
self.ex('DROP SCHEMA IF EXISTS {schema} CASCADE')
|
||||
self.logger.debug('dropping schema %s to %s', self.schema + '_temp', self.schema)
|
||||
self.ex('ALTER SCHEMA {schema_temp} RENAME TO {schema}')
|
||||
|
||||
def insert_agent(self, name):
|
||||
self.ex('INSERT INTO {agent_table} (label) VALUES (%s) RETURNING (id)', vars=[name])
|
||||
|
|
Loading…
Reference in New Issue