def change_conf(next_conf=None): signal = "# configurations recommended by ottertune:\n" next_conf = next_conf or {} tmp_conf_in = os.path.join(dconf.TEMP_DIR, os.path.basename(dconf.DB_CONF) + '.in') get(dconf.DB_CONF, tmp_conf_in) with open(tmp_conf_in, 'r') as f: lines = f.readlines() if signal not in lines: lines += ['\n', signal] signal_idx = lines.index(signal) lines = lines[0:signal_idx + 1] if dconf.DB_TYPE == 'mysql': lines.append('[mysqld]\n') if dconf.BASE_DB_CONF: assert isinstance(dconf.BASE_DB_CONF, dict), \ (type(dconf.BASE_DB_CONF), dconf.BASE_DB_CONF) for name, value in sorted(dconf.BASE_DB_CONF.items()): if value is None: lines.append('{}\n'.format(name)) else: lines.append('{} = {}\n'.format(name, value)) if isinstance(next_conf, str): with open(next_conf, 'r') as f: recommendation = json.load( f, encoding="UTF-8", object_pairs_hook=OrderedDict)['recommendation'] else: recommendation = next_conf assert isinstance(recommendation, dict) for name, value in recommendation.items(): if dconf.DB_TYPE == 'oracle' and isinstance(value, str): value = value.strip('B') # If innodb_flush_method is set to NULL on a Unix-like system, # the fsync option is used by default. if name == 'innodb_flush_method' and value == '': value = "fsync" lines.append('{} = {}\n'.format(name, value)) lines.append('\n') tmp_conf_out = os.path.join(dconf.TEMP_DIR, os.path.basename(dconf.DB_CONF) + '.out') with open(tmp_conf_out, 'w') as f: f.write(''.join(lines)) sudo('cp {0} {0}.ottertune.bak'.format(dconf.DB_CONF), remote_only=True) put(tmp_conf_out, dconf.DB_CONF, use_sudo=True) local('rm -f {} {}'.format(tmp_conf_in, tmp_conf_out))
def get_active(): form = ItemForm() cart = utils.get_url(API_URL+'/cart/active/'+current_user.id)['items'] if cart == None: cart = [] if form.validate_on_submit(): items = {} items[form.name.data] = form.amount.data cart = Cart(author=current_user.id, items=items) utils.put(API_URL+'/cart', cart.to_json()) return redirect(url_for('.get_active')) return render_template('views/base/account/account_cart.html', title='Cart', bg_img='side.jpg', form=form, cart=cart)
def test_put(self): r = MagicMock(status_code=200) r.json = MagicMock(return_value={}) self.mock_requests.put.return_value = r put(json_page="some_page", action='some_action', new_data="here it is") self.mock_requests.put.assert_called_with( url="https://testserver.vosfactures.fr/some_page.json", headers={ 'Accept': 'application/json', 'Content-Type': 'application/json' }, data= '{"api_token": "anotsorandomapitoken", "some_action": {"new_data": "here it is"}}' )
def get_config(dnac,templateId, params): body = { "templateId": templateId, "params": params } response = put(dnac, "template-programmer/template/preview", payload=json.dumps(body)) print (response.json()['cliPreview'])
def change_conf(next_conf=None): signal = "# configurations recommended by ottertune:\n" next_conf = next_conf or {} tmp_conf_in = os.path.join(dconf.TEMP_DIR, os.path.basename(dconf.DB_CONF) + '.in') get(dconf.DB_CONF, tmp_conf_in) with open(tmp_conf_in, 'r') as f: lines = f.readlines() if signal not in lines: lines += ['\n', signal] signal_idx = lines.index(signal) lines = lines[0:signal_idx + 1] if dconf.BASE_DB_CONF: assert isinstance(dconf.BASE_DB_CONF, dict), \ (type(dconf.BASE_DB_CONF), dconf.BASE_DB_CONF) base_conf = [ '{} = {}\n'.format(*c) for c in sorted(dconf.BASE_DB_CONF.items()) ] lines.extend(base_conf) if isinstance(next_conf, str): with open(next_conf, 'r') as f: recommendation = json.load( f, encoding="UTF-8", object_pairs_hook=OrderedDict)['recommendation'] else: recommendation = next_conf assert isinstance(recommendation, dict) for name, value in recommendation.items(): if dconf.DB_TYPE == 'oracle' and isinstance(value, str): value = value.strip('B') lines.append('{} = {}\n'.format(name, value)) lines.append('\n') tmp_conf_out = os.path.join(dconf.TEMP_DIR, os.path.basename(dconf.DB_CONF) + '.out') with open(tmp_conf_out, 'w') as f: f.write(''.join(lines)) sudo('cp {0} {0}.ottertune.bak'.format(dconf.DB_CONF)) put(tmp_conf_out, dconf.DB_CONF, use_sudo=False) local('rm -f {} {}'.format(tmp_conf_in, tmp_conf_out))
def dispatch (_s): try: # try:# csrf protection if _s.request.method == "POST" \ and not _s.request.path.startswith('/tq'): # tq indicates a TaskQueue handler: they are internal therefore not required to have csrf token ssnTok = _s.ssn.get('_csrf_token') postTok = _s.request.get('_csrf_token') if (not ssnTok # toks differ or if both are the same falsy or ssnTok != postTok): logging.warning('path = %r',_s.request.path) logging.warning('ssn csrf token = %r',ssnTok) logging.warning('post csrf token = %r',postTok) logging.warning('CSRF attack or bad or missing csrf token?') wa2.abort(403) # 'Forbidden' #_s.response.set_status(403) wa2.RequestHandler.dispatch (_s) # Dispatch the request.this is needed for wa2 sessions to work finally: u = _s.user if u and u.modified: u.put() # lazy put() to not put user more than once per request _s.ssn.save() # Save ssn after every request
def delete_group(groupid): '''Delete a scaling group.''' data = { "name": "workers", "cooldown": 60, "minEntities": 0, "maxEntities": 0, "metadata": { "firstkey": "this is a string", "secondkey": "1" } } print 'Updating config for group %s...' % groupid put = utils.put(endpoint % (auth_data['id'], 'groups/%s/config' % groupid), data=data, token=auth_data['token']) print put.status_code, json.dumps(put.json, indent=4) delete = utils.delete(endpoint % (auth_data['id'], 'groups/%s' % groupid), token=auth_data['token']) print delete.status_code, json.dumps(delete.json, indent=4)
def get_config(dnac, templateId, params): body = {"templateId": templateId, "params": params} response = put(dnac, "template-programmer/template/preview", payload=json.dumps(body)) print(response.json()['cliPreview'])
def put(self, *args, **kwargs): if self.gui_running: s = utils.put_format(*args, **kwargs) self.gui_stdout.append(s) else: return utils.put(*args, **kwargs)
def banner(self, role=''): utils.put('=' * 20, self.now, role)
def putRequest(self, url, headers, data): return utils.put(url, headers, data, ssl=self.ssl)