def setUp(self): self.box, self.corp = create_box() self.static_flag = Flag.create_flag( _type=FLAG_STATIC, box=self.box, name="Static Flag", raw_token="statictoken", description="A static test token", value=100, ) self.regex_flag = Flag.create_flag( _type=FLAG_REGEX, box=self.box, name="Regex Flag", raw_token="(f|F)oobar", description="A regex test token", value=200, ) self.file_flag = Flag.create_flag( _type=FLAG_FILE, box=self.box, name="File Flag", raw_token="fdata", description="A file test token", value=300, ) dbsession.add(self.static_flag) dbsession.add(self.regex_flag) dbsession.add(self.file_flag) dbsession.commit()
def setUp(self): self.box, self.corp = create_box() self.static_flag = Flag.create_flag( _type=FLAG_STATIC, box=self.box, name="Static Flag", raw_token="statictoken", description="A static test token", value=100, ) self.regex_flag = Flag.create_flag( _type=FLAG_REGEX, box=self.box, name="Regex Flag", raw_token="(f|F)oobar", description="A regex test token", value=200, ) self.file_flag = Flag.create_flag( _type=FLAG_FILE, box=self.box, name="File Flag", raw_token="fdata", description="A file test token", value=300, ) self.choice_flag = Flag.create_flag( _type=FLAG_CHOICE, box=self.box, name="Choice Flag", raw_token="fdata", description="A choice test token", value=400, ) self.datetime_flag = Flag.create_flag( _type=FLAG_DATETIME, box=self.box, name="Datetime Flag", raw_token="2018-06-22 18:00:00", description="A datetime test token", value=500, ) dbsession.add(self.static_flag) dbsession.add(self.regex_flag) dbsession.add(self.file_flag) dbsession.add(self.choice_flag) dbsession.add(self.datetime_flag) dbsession.commit()
def _mkflag(self, flag_type, is_file=False): """ Creates the flag in the database """ box = Box.by_uuid(self.get_argument("box_uuid", "")) if box is None: raise ValidationError("Box does not exist") if is_file: if not hasattr(self.request, "files") or not "flag" in self.request.files: raise ValidationError("No file in request") token = self.request.files["flag"][0]["body"] else: token = self.get_argument("token", "") name = self.get_argument("flag_name", "") description = self.get_argument("description", "") reward = self.get_argument("reward", "") flag = Flag.create_flag(flag_type, box, name, token, description, reward) flag.capture_message = self.get_argument("capture_message", "") flag.case_sensitive = self.get_argument("case-sensitive", 1) flag.order = len(box.flags) + 1 lock = Flag.by_uuid(self.get_argument("lock_uuid", "")) if lock: flag.lock_id = lock.id else: flag.lock_id = None self.add_attachments(flag) self.dbsession.add(flag) self.dbsession.commit() choices = self.get_arguments("addmore[]", strip=True) if choices is not None: for item in choices: FlagChoice.create_choice(flag, item) self.redirect("/admin/view/game_objects#%s" % box.uuid)
def _mkflag(self, flag_type, is_file=False): ''' Creates the flag in the database ''' box = Box.by_uuid(self.get_argument('box_uuid', '')) if box is None: raise ValidationError('Box does not exist') if is_file: if not hasattr(self.request, 'files') or not 'flag' in self.request.files: raise ValidationError('No file in request') token = self.request.files['flag'][0]['body'] else: token = self.get_argument('token', '') name = self.get_argument('flag_name', '') description = self.get_argument('description', '') reward = self.get_argument('reward', '') flag = Flag.create_flag(flag_type, box, name, token, description, reward) flag.capture_message = self.get_argument('capture_message', '') flag.case_sensitive = self.get_argument('case-sensitive', 1) lock = Flag.by_uuid(self.get_argument('lock_uuid', '')) if lock: flag.lock_id = lock.id else: flag.lock_id = None self.add_attachments(flag) self.dbsession.add(flag) self.dbsession.commit() choices = self.get_arguments('addmore[]', strip=True) if choices is not None: for item in choices: FlagChoice.create_choice(flag, item) self.redirect("/admin/view/game_objects#%s" % box.uuid)
def _mkflag(self, flag_type, is_file=False): ''' Creates the flag in the database ''' box = Box.by_uuid(self.get_argument('box_uuid', '')) if box is None: raise ValidationError('Box does not exist') if is_file: if not hasattr(self.request, 'files') or not 'flag' in self.request.files: raise ValidationError('No file in request') token = self.request.files['flag'][0]['body'] else: token = self.get_argument('token', '') name = self.get_argument('flag_name', '') description = self.get_argument('description', '') reward = self.get_argument('reward', '') flag = Flag.create_flag( flag_type, box, name, token, description, reward) flag.capture_message = self.get_argument('capture_message', '') flag.case_sensitive = self.get_argument('case-sensitive', 1) lock = Flag.by_uuid(self.get_argument('lock_uuid', '')) if lock: flag.lock_id = lock.id else: flag.lock_id = None self.add_attachments(flag) self.dbsession.add(flag) self.dbsession.commit() choices = self.get_arguments('addmore[]', strip=True) if choices is not None: for item in choices: FlagChoice.create_choice(flag, item) self.redirect("/admin/view/game_objects#%s" % box.uuid)
def _mkflag(self, flag_type, is_file=False): name = self.get_argument('flag_name', '') if is_file: if not 'flag' in self.request.files: raise ValueError('No file in request') token = self.request.files['flag'][0]['body'] else: token = self.get_argument('token', '') description = self.get_argument('description', '') reward = int(self.get_argument('reward', '')) box = Box.by_uuid(self.get_argument('box_uuid', '')) if box is None: raise ValueError('Box does not exist') flag = Flag.create_flag(flag_type, box, name, token, description, reward) flag.capture_message = self.get_argument('capture_message', '') self.dbsession.add(flag) self.dbsession.commit() self.redirect('/admin/view/game_objects')