def toJSONUnsafe(eval_ctx, value): encoded = json.dumps(value).replace('&', '\\u0026') \ .replace('<', '\\u003c') \ .replace('>', '\\u003e') \ .replace('>', '\\u003e') \ .replace('"', '\\u0022') \ .replace("'", '\\u0027') \ .replace(r'\n', '/\\\n') return Markup("'%s'" % encoded)
def make_request(self, data=None): headers = {"User-Agent": "appenlight-slack", "Content-Type": "application/json"} try: resp = getattr(requests, "post")( self.api_url, data=json.dumps(data), headers=headers, timeout=3 ) except Exception as e: raise IntegrationException(_("Error communicating with Slack: %s") % (e,)) if resp.status_code != requests.codes.ok: msg = "Error communicating with Slack - status code: %s" raise IntegrationException(msg % resp.status_code) return resp
def cached(resource_id, tag_name, value): reduced_name = cls.cut_name(tag_name.decode('utf8')) reduced_value = cls.cut_value(value.decode('utf8')) query = db_session.query(Tag) query = query.filter(Tag.resource_id == resource_id) query = query.filter(Tag.name == reduced_name) query = query.filter( sa.cast(Tag.value, sa.types.TEXT) == sa.cast( json.dumps(reduced_value), sa.types.TEXT)) tag = query.first() if tag: db_session.expunge(tag) return tag
def make_request(self, data=None): headers = { 'User-Agent': 'appenlight-slack', 'Content-Type': 'application/json' } try: resp = getattr(requests, 'post')(self.api_url, data=json.dumps(data), headers=headers, timeout=3) except Exception as e: raise IntegrationException( _('Error communicating with Slack: %s') % (e, )) if resp.status_code != requests.codes.ok: msg = 'Error communicating with Slack - status code: %s' raise IntegrationException(msg % resp.status_code) return resp
def update_tag_counter(tag_name, tag_value, count): try: query = DBSession.query(Tag).filter(Tag.name == tag_name).filter( sa.cast(Tag.value, sa.types.TEXT) == sa.cast( json.dumps(tag_value), sa.types.TEXT)) query.update( { 'times_seen': Tag.times_seen + count, 'last_timestamp': datetime.utcnow() }, synchronize_session=False) session = DBSession() mark_changed(session) return True except Exception as exc: print_traceback(log) update_tag_counter.retry(exc=exc)
def make_request(self, url, method='get', data=None): headers = { 'Content-Type': 'application/json', 'User-Agent': 'appenlight-webhooks', } try: if data: data = json.dumps(data) resp = getattr(requests, method)(url, data=data, headers=headers, timeout=3) except Exception as e: raise IntegrationException( _('Error communicating with Webhooks: {}').format(e)) if resp.status_code > 299: raise IntegrationException( 'Error communicating with Webhooks - status code: {}'.format( resp.status_code)) return resp
def make_request(self, url, method="get", data=None): headers = { "Content-Type": "application/json", "User-Agent": "appenlight-webhooks", } try: if data: data = json.dumps(data) resp = getattr(requests, method)(url, data=data, headers=headers, timeout=3) except Exception as e: raise IntegrationException( _("Error communicating with Webhooks: {}").format(e)) if resp.status_code > 299: raise IntegrationException( "Error communicating with Webhooks - status code: {}".format( resp.status_code)) return resp
def update_tag_counter(tag_name, tag_value, count): try: query = (DBSession.query(Tag).filter(Tag.name == tag_name).filter( sa.cast(Tag.value, sa.types.TEXT) == sa.cast( json.dumps(tag_value), sa.types.TEXT))) query.update( { "times_seen": Tag.times_seen + count, "last_timestamp": datetime.utcnow() }, synchronize_session=False, ) session = DBSession() mark_changed(session) return True except Exception as exc: print_traceback(log) if celery.conf["CELERY_EAGER_PROPAGATES_EXCEPTIONS"]: raise update_tag_counter.retry(exc=exc)
def toJSONUnsafe(eval_ctx, value): encoded = (json.dumps(value).replace("&", "\\u0026").replace( "<", "\\u003c").replace(">", "\\u003e").replace(">", "\\u003e").replace( '"', "\\u0022").replace("'", "\\u0027").replace(r"\n", "/\\\n")) return Markup("'%s'" % encoded)
def main(): parser = argparse.ArgumentParser( description="Populate AppEnlight database", add_help=False ) parser.add_argument( "-c", "--config", required=True, help="Configuration ini file of application" ) parser.add_argument("--username", default=None, help="User to create") parser.add_argument("--password", default=None, help="Password for created user") parser.add_argument("--email", default=None, help="Email for created user") parser.add_argument( "--auth-token", default=None, help="Auth token for created user" ) args = parser.parse_args() config_uri = args.config setup_logging(config_uri) env = bootstrap(config_uri) request = env["request"] with get_current_request().tm: group = GroupService.by_id(1) if not group: group = Group( id=1, group_name="Administrators", description="Top level permission owners", ) DBSession.add(group) permission = GroupPermission(perm_name="root_administration") group.permissions.append(permission) create_user = True if args.username else None while create_user is None: response = input("Do you want to create a new admin? (n)\n").lower() if is_yes(response or "n"): create_user = True elif is_no(response or "n"): create_user = False if create_user: csrf_token = request.session.get_csrf_token() user_name = args.username print("*********************************************************") while user_name is None: response = input("What is the username of new admin?\n") form = UserRegisterForm( user_name=response, csrf_token=csrf_token, csrf_context=request ) form.validate() if form.user_name.errors: print(form.user_name.errors[0]) else: user_name = response print('The admin username is "{}"\n'.format(user_name)) print("*********************************************************") email = args.email while email is None: response = input("What is the email of admin account?\n") form = UserRegisterForm( email=response, csrf_token=csrf_token, csrf_context=request ) form.validate() if form.email.errors: print(form.email.errors[0]) else: email = response print('The admin email is "{}"\n'.format(email)) print("*********************************************************") user_password = args.password confirmed_password = args.password while user_password is None or confirmed_password is None: response = getpass.getpass("What is the password for admin account?\n") form = UserRegisterForm( user_password=response, csrf_token=csrf_token, csrf_context=request ) form.validate() if form.user_password.errors: print(form.user_password.errors[0]) else: user_password = response response = getpass.getpass("Please confirm the password.\n") if user_password == response: confirmed_password = response else: print("Passwords do not match. Please try again") print("*********************************************************") with get_current_request().tm: if create_user: group = GroupService.by_id(1) user = User(user_name=user_name, email=email, status=1) UserService.regenerate_security_code(user) UserService.set_password(user, user_password) DBSession.add(user) token = AuthToken(description="Uptime monitoring token") if args.auth_token: token.token = args.auth_token user.auth_tokens.append(token) group.users.append(user) print("USER CREATED") print(json.dumps(user.get_dict())) print("*********************************************************") print("AUTH TOKEN") print(json.dumps(user.auth_tokens[0].get_dict()))
def errors_json(self): return json.dumps(self.errors_dict)