def tweak(environment, opts): """Commands operating on environment data Usage: datacats tweak --install-postgis [ENVIRONMENT] datacats tweak --add-redis [ENVIRONMENT] datacats tweak --admin-password [ENVIRONMENT] Options: --install-postgis Install postgis in ckan database --add-redis Adds redis next time this environment reloads -s --site=NAME Choose a site to tweak [default: primary] -p --admin-password Prompt to change the admin password ENVIRONMENT may be an environment name or a path to an environment directory. Default: '.' """ environment.require_data() if opts['--install-postgis']: print "Installing postgis" environment.install_postgis_sql() if opts['--add-redis']: # Let the user know if they are trying to add it and it is already there environment.add_extra_container('redis', error_on_exists=True) if opts['--admin-password']: environment.create_admin_set_password(confirm_password())
def finish_init(environment, start_web, create_sysadmin, log_syslog=False, do_install=True, quiet=False, site_url=None, interactive=False, init_db=True): """ Common parts of create and init: Install, init db, start site, sysadmin """ if not init_db: start_web = False create_sysadmin = False if do_install: install_all(environment, False, verbose=False, quiet=quiet) if init_db: if not quiet: write('Initializing database') environment.install_postgis_sql() environment.ckan_db_init() if not quiet: write('\n') if site_url: try: site_url = site_url.format(address=environment.address, port=environment.port) environment.site_url = site_url environment.save_site(False) except (KeyError, IndexError, ValueError) as e: raise DatacatsError('Could not parse site_url: {}'.format(e)) if start_web: environment.start_ckan(log_syslog=log_syslog) if not quiet and not interactive: write('Starting web server at {0} ...\n'.format( environment.web_address())) if create_sysadmin: try: adminpw = confirm_password() environment.create_admin_set_password(adminpw) except KeyboardInterrupt: print if not start_web: environment.stop_supporting_containers()