Example #1
0
 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()
Example #2
0
 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()
Example #3
0
 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)
Example #7
0
 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')