def setup_heroku_remote_config(self): CONFIG = PsiturkConfig() CONFIG.load_config() new_config = {} sections = ['psiTurk Access', 'AWS Access'] for section in sections: for item in CONFIG.items(section): new_config[item[0]] = item[1] new_config['ON_CLOUD'] = True self.app.update_config(new_config) print('Built remote Heroku config from AWS and PsiTurk accounts found in local ' + color.BOLD + '.psiturkconfig' + color.END)
def _set_heroku_config_vars(): from psiturk.psiturk_config import PsiturkConfig CONFIG = PsiturkConfig() CONFIG.load_config() subprocess.call(['heroku', 'config:set', 'ON_CLOUD=true']) sections = ['psiTurk Access', 'AWS Access'] for section in sections: for item in CONFIG.items(section): subprocess.call(['heroku', 'config:set', '='.join(item)]) print() print('psiturk has finished setting heroku config vars.')
from psiturk.psiturk_config import PsiturkConfig import subprocess CONFIG = PsiturkConfig() CONFIG.load_config() sections = ['psiTurk Access','AWS Access'] for section in sections: for item in CONFIG.items(section): #print 'heroku config:set ' + '='.join(item) subprocess.call('heroku config:set ' + '='.join(item), shell=True) subprocess.call('heroku config:set ON_HEROKU=true', shell=True)
print('== Writing config.txt ==') from jinja2 import Environment, FileSystemLoader env = Environment(loader=FileSystemLoader('templates')) template = env.get_template('config.txt') with open('config.txt', 'w+') as f: f.write( template.render({ 'app_url': bash('heroku domains').split('\n')[1], 'db_url': bash('heroku config:get DATABASE_URL') })) print('== Setting heroku config variables ==') CONFIG = PsiturkConfig() CONFIG.load_config() sections = ['psiTurk Access', 'AWS Access'] for section in sections: for key, val in CONFIG.items(section): if val.startswith('Your'): print('ERROR: {key} is not defined in ~/.psiturkconfig'.format( **locals())) print( 'http://psiturk.readthedocs.io/en/latest/configuration.html#global-configuration-file' ) exit(1) #print 'heroku config:set ' + '='.join(item) bash('heroku config:set {key}={val}'.format(**locals())) bash('heroku config:set ON_HEROKU=true')
from psiturk.psiturk_config import PsiturkConfig import subprocess CONFIG = PsiturkConfig() CONFIG.load_config() sections = ['psiTurk Access','AWS Access'] for section in sections: for item in CONFIG.items(section): #print 'heroku config:set ' + '='.join(item) subprocess.call('heroku config:set ' + '='.join(item), shell=True) subprocess.call('heroku config:set ON_HEROKU=true', shell=True)