예제 #1
0
def CheckDuration():
    """ CTFが開催中か確認する """
    config = Configure.LoadConfig()
    start = config['ctf']['duration']['start']
    end = config['ctf']['duration']['end']
    # 各種時刻を取得
    tz = pytz.timezone(config['ctf']['duration']['timezone'])
    dt_now = datetime.datetime.now(tz=tz)
    dt_start = datetime.datetime(start['year'],
                                 start['month'],
                                 start['date'],
                                 start['hour'],
                                 start['minute'],
                                 start['second'],
                                 tzinfo=tz)
    dt_end = datetime.datetime(end['year'],
                               end['month'],
                               end['date'],
                               end['hour'],
                               end['minute'],
                               end['second'],
                               tzinfo=tz)
    # 開始前かの確認
    if dt_now < dt_start:
        return 1
    # 終了後かの確認
    if dt_now > dt_end:
        return 2
    return 0
예제 #2
0
def GetInformation():
    """ CTFの詳細情報を取得する """
    config = Configure.LoadConfig()
    ctf = {
        'name': config['ctf']['name'],
        'brand': config['ctf']['brand'],
        'team': config['ctf']['team'],
        'over-open': config['ctf']['over-open']
    }
    return ctf
예제 #3
0
def GetEndTime(utc=False):
    """ CTFの修了時刻を文字列で返す """
    config = Configure.LoadConfig()
    end = config['ctf']['duration']['end']
    time_format = config['ctf']['duration']['format']
    tz = pytz.timezone(config['ctf']['duration']['timezone'])
    dt_end = datetime.datetime(end['year'],
                               end['month'],
                               end['date'],
                               end['hour'],
                               end['minute'],
                               end['second'],
                               tzinfo=tz)
    if utc:
        return dt_end.astimezone(pytz.timezone('UTC'))
    else:
        return dt_end.strftime(time_format)
예제 #4
0
def GetStartTime(utc=False):
    """ CTFの開始時刻を文字列で返す """
    config = Configure.LoadConfig()
    start = config['ctf']['duration']['start']
    time_format = config['ctf']['duration']['format']
    tz = pytz.timezone(config['ctf']['duration']['timezone'])
    dt_start = datetime.datetime(start['year'],
                                 start['month'],
                                 start['date'],
                                 start['hour'],
                                 start['minute'],
                                 start['second'],
                                 tzinfo=tz)
    if utc:
        return dt_start.astimezone(pytz.timezone('UTC'))
    else:
        return dt_start.strftime(time_format)