예제 #1
0
def test_save_task():
    tasks.save_task({"description": "Do something", "status": "1"})
    task_list = tasks.get_task_list()
    assert type(task_list) is list

    found = False
    for task in task_list:
        if task["description"] == "Do something":
            found = True

    assert found
예제 #2
0
def test_delete_task():
    task_id = tasks.save_task({
        "description": "this is a delete task",
        "status": "1"
    })
    task_list = tasks.get_task_list()

    found = False
    for task in task_list:
        if "delete" in task['description']:
            found = True
    assert found
    tasks.delete_task(task_id)

    task_list = tasks.get_task_list()
    found = False
    for task in task_list:
        if "delete" in task['description']:
            found = True

    assert not found
예제 #3
0
파일: main.py 프로젝트: kodo-pp/ctfhost
 def get(self):
     with locks.global_lock:
         session_id = self.get_cookie('session_id')
         session = auth.load_session(session_id)
         if session is None:
             self.redirect('/login')
             return
         team_list = list(team.get_all_teams())
         task_list = list(tasks.get_task_list())
         self.write(
             render_template('scoreboard.html',
                             session=session,
                             team_list=team_list,
                             task_list=task_list))
예제 #4
0
def main():
    if '--help' in sys.argv:
        print('Usage: {} [--force]'.format(sys.argv[0]))
        print('Generates all tasks for all teams in advance')
        print()
        print('Options:')
        print('  --force   Regenerate even if generated tasks are up-to-date')
        sys.exit(1)
    generate_func = task_gen.generate if '--force' in sys.argv else task_gen.maybe_generate

    team_list = list(team.get_all_teams())
    task_list = list(tasks.get_task_list())

    for tm in team_list:
        for ts in task_list:
            token = task_gen.get_token(team_name=tm.team_name,
                                       task_id=ts.task_id)
            generate_func(task_id=ts.task_id, token=token, team=tm)
예제 #5
0
파일: main.py 프로젝트: kodo-pp/ctfhost
 def get(self):
     with locks.global_lock:
         session = auth.load_session(self.get_cookie('session_id'))
         submissions = team.get_all_submissions()
         if session is None or not session.is_admin:
             self.write(
                 render_template('admin_error.html',
                                 error=lc.get('not_admin')))
             return
         self.write(
             render_template(
                 'admin.html',
                 session=session,
                 tasks=list(tasks.get_task_list()),
                 submissions=list(submissions),
                 teams=list(team.get_all_teams()),
                 groups=dict(tasks.get_group_dict()),
                 read_task=tasks.read_task,
                 build_group_path=tasks.build_group_path,
                 task_gen=task_gen,
             ))
예제 #6
0
파일: argparser.py 프로젝트: yulu0724/MiB
def get_argparser():
    parser = argparse.ArgumentParser()

    # Performance Options
    parser.add_argument("--local_rank", type=int, default=0)
    parser.add_argument("--random_seed",
                        type=int,
                        default=42,
                        help="random seed (default: 42)")
    parser.add_argument("--num_workers",
                        type=int,
                        default=1,
                        help='number of workers (default: 1)')

    # Datset Options
    parser.add_argument("--data_root",
                        type=str,
                        default='data',
                        help="path to Dataset")
    parser.add_argument("--dataset",
                        type=str,
                        default='voc',
                        choices=['voc', 'ade'],
                        help='Name of dataset')
    parser.add_argument("--num_classes",
                        type=int,
                        default=None,
                        help="num classes (default: None)")

    # Method Options
    # BE CAREFUL USING THIS, THEY WILL OVERRIDE ALL THE OTHER PARAMETERS.
    parser.add_argument(
        "--method",
        type=str,
        default=None,
        choices=['FT', 'LWF', 'LWF-MC', 'ILT', 'EWC', 'RW', 'PI', 'MiB'],
        help=
        "The method you want to use. BE CAREFUL USING THIS, IT MAY OVERRIDE OTHER PARAMETERS."
    )

    # Train Options
    parser.add_argument("--epochs",
                        type=int,
                        default=30,
                        help="epoch number (default: 30)")
    parser.add_argument(
        "--fix_bn",
        action='store_true',
        default=False,
        help='fix batch normalization during training (default: False)')

    parser.add_argument("--batch_size",
                        type=int,
                        default=4,
                        help='batch size (default: 4)')
    parser.add_argument("--crop_size",
                        type=int,
                        default=512,
                        help="crop size (default: 513)")

    parser.add_argument("--lr",
                        type=float,
                        default=0.007,
                        help="learning rate (default: 0.007)")
    parser.add_argument("--momentum",
                        type=float,
                        default=0.9,
                        help='momentum for SGD (default: 0.9)')
    parser.add_argument("--weight_decay",
                        type=float,
                        default=1e-4,
                        help='weight decay (default: 1e-4)')

    parser.add_argument("--lr_policy",
                        type=str,
                        default='poly',
                        choices=['poly', 'step'],
                        help="lr schedule policy (default: poly)")
    parser.add_argument("--lr_decay_step",
                        type=int,
                        default=5000,
                        help="decay step for stepLR (default: 5000)")
    parser.add_argument("--lr_decay_factor",
                        type=float,
                        default=0.1,
                        help="decay factor for stepLR (default: 0.1)")
    parser.add_argument("--lr_power",
                        type=float,
                        default=0.9,
                        help="power for polyLR (default: 0.9)")
    parser.add_argument("--bce",
                        default=False,
                        action='store_true',
                        help="Whether to use BCE or not (default: no)")

    # Validation Options
    parser.add_argument("--val_on_trainset",
                        action='store_true',
                        default=False,
                        help="enable validation on train set (default: False)")
    parser.add_argument(
        "--cross_val",
        action='store_true',
        default=False,
        help="If validate on training or on validation (default: Train)")
    parser.add_argument("--crop_val",
                        action='store_false',
                        default=True,
                        help='do crop for validation (default: True)')

    # Logging Options
    parser.add_argument("--logdir",
                        type=str,
                        default='./logs',
                        help="path to Log directory (default: ./logs)")
    parser.add_argument(
        "--name",
        type=str,
        default='Experiment',
        help=
        "name of the experiment - to append to log directory (default: Experiment)"
    )
    parser.add_argument(
        "--sample_num",
        type=int,
        default=0,
        help='number of samples for visualization (default: 0)')
    parser.add_argument("--debug",
                        action='store_true',
                        default=False,
                        help="verbose option")
    parser.add_argument("--visualize",
                        action='store_false',
                        default=True,
                        help="visualization on tensorboard (def: Yes)")
    parser.add_argument("--print_interval",
                        type=int,
                        default=10,
                        help="print interval of loss (default: 10)")
    parser.add_argument("--val_interval",
                        type=int,
                        default=1,
                        help="epoch interval for eval (default: 1)")
    parser.add_argument("--ckpt_interval",
                        type=int,
                        default=1,
                        help="epoch interval for saving model (default: 1)")

    # Model Options
    parser.add_argument("--backbone",
                        type=str,
                        default='resnet101',
                        choices=['resnet50', 'resnet101'],
                        help='backbone for the body (def: resnet50)')
    parser.add_argument("--output_stride",
                        type=int,
                        default=16,
                        choices=[8, 16],
                        help='stride for the backbone (def: 16)')
    parser.add_argument("--no_pretrained",
                        action='store_true',
                        default=False,
                        help='Wheather to use pretrained or not (def: True)')
    parser.add_argument("--norm_act",
                        type=str,
                        default="iabn_sync",
                        choices=['iabn_sync', 'iabn', 'abn', 'std'],
                        help='Which BN to use (def: abn_sync')
    parser.add_argument(
        "--fusion-mode",
        metavar="NAME",
        type=str,
        choices=["mean", "voting", "max"],
        default="mean",
        help="How to fuse the outputs. Options: 'mean', 'voting', 'max'")
    parser.add_argument(
        "--pooling",
        type=int,
        default=32,
        help='pooling in ASPP for the validation phase (def: 32)')

    # Test and Checkpoint options
    parser.add_argument(
        "--test",
        action='store_true',
        default=False,
        help="Whether to train or test only (def: train and test)")
    parser.add_argument(
        "--ckpt",
        default=None,
        type=str,
        help=
        "path to trained model. Leave it None if you want to retrain your model"
    )

    # Parameters for Knowledge Distillation of ILTSS (https://arxiv.org/abs/1907.13372)
    parser.add_argument(
        "--freeze",
        action='store_true',
        default=False,
        help="Use this to freeze the feature extractor in incremental steps")
    parser.add_argument(
        "--loss_de",
        type=float,
        default=0.,  # Distillation on Encoder
        help="Set this hyperparameter to a value greater than "
        "0 to enable distillation on Encoder (L2)")
    parser.add_argument(
        "--loss_kd",
        type=float,
        default=0.,  # Distillation on Output
        help="Set this hyperparameter to a value greater than "
        "0 to enable Knowlesge Distillation (Soft-CrossEntropy)")

    # Parameters for EWC, RW, and SI (from Riemannian Walks https://arxiv.org/abs/1801.10112)
    parser.add_argument("--regularizer",
                        default=None,
                        type=str,
                        choices=['ewc', 'rw', 'pi'],
                        help="regularizer you want to use. Default is None")
    parser.add_argument(
        "--reg_importance",
        type=float,
        default=1.,
        help="set this par to a value greater than 0 to enable regularization")
    parser.add_argument(
        "--reg_alpha",
        type=float,
        default=0.9,
        help=
        "Hyperparameter for RW and EWC that controls the update of Fisher Matrix"
    )
    parser.add_argument("--reg_no_normalize",
                        action='store_true',
                        default=False,
                        help="If EWC, RW, PI must be normalized or not")
    parser.add_argument(
        "--reg_iterations",
        type=int,
        default=10,
        help=
        "If RW, the number of iterations after each the update of the score is done"
    )

    # Arguments for ICaRL (from https://arxiv.org/abs/1611.07725)
    parser.add_argument("--icarl",
                        default=False,
                        action='store_true',
                        help="If enable ICaRL or not (def is not)")
    parser.add_argument(
        "--icarl_importance",
        type=float,
        default=1.,
        help="the regularization importance in ICaRL (def is 1.)")
    parser.add_argument(
        "--icarl_disjoint",
        action='store_true',
        default=False,
        help="Which version of icarl is to use (def: combined)")
    parser.add_argument("--icarl_bkg",
                        action='store_true',
                        default=False,
                        help="If use background from GT (def: No)")

    # METHODS
    parser.add_argument(
        "--init_balanced",
        default=False,
        action='store_true',
        help="Enable Background-based initialization for new classes")
    parser.add_argument(
        "--unkd",
        default=False,
        action='store_true',
        help=
        "Enable Unbiased Knowledge Distillation instead of Knowledge Distillation"
    )
    parser.add_argument(
        "--alpha",
        default=1.,
        type=float,
        help="The parameter to hard-ify the soft-labels. Def is 1.")
    parser.add_argument(
        "--unce",
        default=False,
        action='store_true',
        help="Enable Unbiased Cross Entropy instead of CrossEntropy")

    # Incremental parameters
    parser.add_argument("--task",
                        type=str,
                        default="19-1",
                        choices=tasks.get_task_list(),
                        help="Task to be executed (default: 19-1)")
    parser.add_argument("--step",
                        type=int,
                        default=0,
                        help="The incremental step in execution (default: 0)")
    parser.add_argument(
        "--no_mask",
        action='store_true',
        default=False,
        help="Use this to not mask the old classes in new training set")
    parser.add_argument(
        "--overlap",
        action='store_true',
        default=False,
        help="Use this to not use the new classes in the old training set")
    parser.add_argument(
        "--step_ckpt",
        default=None,
        type=str,
        help=
        "path to trained model at previous step. Leave it None if you want to use def path"
    )
    parser.add_argument('--opt_level',
                        type=str,
                        choices=['O0', 'O1', 'O2', 'O3'],
                        default='O0')

    return parser
예제 #7
0
파일: task_gen.py 프로젝트: kodo-pp/ctfhost
def get_generated_task_list(team_name):
    for task in tasks.get_task_list():
        token = get_token(team_name=team_name, task_id=task.task_id)
        yield get_generated_task(task_id=task.task_id,
                                 token=token,
                                 team=team.read_team(team_name))
예제 #8
0
def get_task(task_id):
    task = get_task_list(task_id)
    if task == None:
        abort(404)
    return jsonify({'task': task})
예제 #9
0
def test_get_tasks():
    task_l = tasks.get_task_list()
    assert type(task_l) is list
예제 #10
0
def reports():
    task_list=tasks.get_task_list(tasks.get_task_id_list())
    report_format_list = tasks.get_report_formats()
    return render_template('reports.html', tasks=task_list, reports=report_format_list)
예제 #11
0
sys.path.append(parentdir)
from scan import scan, is_requested, is_running, get_newprogress, check_for_logging
from questions import getQuestions, submitAnswers
import tasks
from setup import set_dhcp, set_static_ip, get_ip, get_subnet
from update_code import update_code
from configparser import ConfigParser
import re
from zipfile import ZipFile
import json
import time

app = Flask(__name__)

IpAddressen = []
task_list=tasks.get_task_list(tasks.get_task_id_list())
report_format_list = tasks.get_report_formats()
errorList = []
progr=0
task_id_for_progr = " "
temp_deviceName= " "
already_running=False
thread_list=[]
active_hosts=[]

conf_id = "698f691e-7489-11df-9d8c-002264764cea"

def create_dailylog():
    todays_logs = datetime.now().strftime("%d-%m-%Y")
    
    # check if the directory for the logs exists and if the logfile for this day exists