示例#1
0
文件: views.py 项目: dkron/aurora
def project(request, project_id):
    project = get_object_or_404(Project, id=project_id)

    if request.method == 'POST':
        form = UploadFabFileForm(request.POST, request.FILES)
        if form.is_valid():
            fabfile = request.FILES['file']
            content = fabfile.readlines()
            import_block, tasks = get_source(content)

            project.import_block = import_block
            project.save()

            stage = Stage(name="Imported", project=project)
            stage.save()
            stage_user = StageUser(user=request.user, stage=stage)
            stage_user.save()

            for task in tasks:
                task_obj = Task(name=task['name'], body=task['body'])
                task_obj.save()
                stage_task = StageTask(task=task_obj, stage=stage)
                stage_task.save()

    else:
        form = UploadFabFileForm()

    stages = project.stage_set.order_by('name',)
    deployments = Deploy.objects.filter(stage__in=stages).order_by('-finished_at',)[:3]
    return {'p': project, 'stages': stages, 'deps': deployments, 'form': form}
示例#2
0
def appi_save_stage(request,*,stagename,process):
    if not stagename or not stagename.strip():
        raise APIValueError('stagename','stagename cannot be empty')
    if not process or not process.strip():
        raise APIValueError('process','process cannot be empty')
    stage = Stage(tagid=next_id(),stagename=stagename,process=process)
    yield from stage.save()
    return stage
示例#3
0
def formfichestage(request):

    if request.method == "POST":
        nom = request.POST['nom']
        prenom = request.POST['prenom']
        choix_1 = request.POST['choix_1']
        choix_2 = request.POST['choix_2']
        choix_3 = request.POST['choix_3']
        commentaire = request.POST['commentaire']
        fiche = Fichestagecrd()
        fiche.nom = nom
        fiche.prenom = prenom
        fiche.choix_1 = Disciplinestagecrd.objects.get(id=choix_1)
        fiche.choix_2 = Disciplinestagecrd.objects.get(id=choix_2)
        fiche.choix_3 = Disciplinestagecrd.objects.get(id=choix_3)
        fiche.commentaires = commentaire
        fiche.save()

        intitules = Intitulestage.objects.all()
        for intitule in intitules:
            for i in range(1, 9):
                try:
                    monintitule = request.POST["stage_"+str(intitule.id)+"-"+str(i)]
                    monintitule = monintitule.split("-")[0]
                    print(monintitule)
                except Exception:
                    continue
                try:
                    monstage = Stage.objects.get(fiche=fiche, intitule=intitule)
                except Stage.DoesNotExist:
                    monstage = Stage()
                    monstage.intitule = intitule
                    monstage.fiche = fiche

                setattr(monstage, monintitule, True)

                monstage.save()

        return HttpResponseRedirect('merci.html')

    params = {}
    intitules = Intitulestage.objects.all()
    params.update({'intitules': intitules})
    disciplines = Disciplinestagecrd.objects.all()
    params.update({'disciplines': disciplines})
    return render_to_response('forms/fichestageform.html', params)
示例#4
0
 def stage(self):
     stage = Stage.query.filter_by(stage_id = int(self._raw['stage']['id'])).first()
     if stage:
         return stage
     else:
         # 存在しない場合はDBに保存する
         stage = Stage.save_from_dict(self._raw['stage'])
         return stage
示例#5
0
文件: jobs.py 项目: niravshah/refrew
def job(jobid):
    if request.method == 'GET':
        job = Job.objects(jobid=int(jobid)).first()
        stages = Stage.objects(job=job)
        ref = Referral.objects(job=job)
        if request_wants_json():
            return mongodoc_jsonify(item=job.to_mongo())
        else:
            return render_template('list_job.html', job=job, referrals=ref, stages=stages)
    if request.method == 'PUT':
        job = Job.objects(jobid=int(jobid)).first()
        if request_has_json():
            json_data = json.dumps(request.json, default=json_util.default)
            model = Job.from_json(json_data)
            job.locationName = model.locationName
            job.title = model.title
            job.permOrCont = model.permOrCont
            job.remuneration = model.remuneration
            job.tSkill1 = model.tSkill1
            job.tSkill2 = model.tSkill2
            job.tSkill3 = model.tSkill3
            job.pSkill1 = model.pSkill1
            job.pSkill2 = model.pSkill2
            job.pSkill3 = model.pSkill3
            job.qalNeeded = model.qalNeeded
            job.qal = model.qal
            job.projChar1 = model.projChar1
            job.projChar2 = model.projChar2
            job.projChar3 = model.projChar3
            job.teamChar1 = model.teamChar1
            job.teamChar2 = model.teamChar2
            job.teamChar3 = model.teamChar3
            job.save()
            '''Job.objects(jobid=int(jobid)).first().update(json_data)'''
            return mongodoc_jsonify(item=job.reload().to_mongo())
        else:
            form = AddJobForm(request.form)
            form.populate_obj(job)
            job.save()
            return render_template('list_job.html', jobs=[job])
示例#6
0
def api_get_stage():
    stage = yield from Stage.findAll()
    print(stage)
    return dict(stage=stage)
示例#7
0
    def stage_import(self):
        stages = [
            {
                'id': '0',
                'image':
                '/images/stage/98baf21c0366ce6e03299e2326fe6d27a7582dce.png',
                'name': 'バッテラストリート'
            },
            {
                'id': '1',
                'image':
                '/images/stage/83acec875a5bb19418d7b87d5df4ba1e38ceac66.png',
                'name': 'フジツボスポーツクラブ'
            },
            {
                'id': '2',
                'image':
                '/images/stage/187987856bf575c4155d021cb511034931d06d24.png',
                'name': 'ガンガゼ野外音楽堂'
            },
            {
                'id': '3',
                'image':
                '/images/stage/bc794e337900afd763f8a88359f83df5679ddf12.png',
                'name': 'チョウザメ造船'
            },
            {
                'id': '4',
                'image':
                '/images/stage/5c030a505ee57c889d3e5268a4b10c1f1f37880a.png',
                'name': '海女美術大学'
            },
            {
                'id': '5',
                'image':
                '/images/stage/fc23fedca2dfbbd8707a14606d719a4004403d13.png',
                'name': 'コンブトラック'
            },
            {
                'id': '6',
                'image':
                '/images/stage/070d7ee287fdf3c5df02411950c2a1ce5b238746.png',
                'name': 'マンタマリア号'
            },
            {
                'id': '7',
                'image':
                '/images/stage/0907fc7dc325836a94d385919fe01dc13848612a.png',
                'name': 'ホッケふ頭'
            },
            {
                'id': '8',
                'image':
                '/images/stage/96fd8c0492331a30e60a217c94fd1d4c73a966cc.png',
                'name': 'タチウオパーキング'
            },
            {
                'id': '9',
                'image':
                '/images/stage/8c95053b3043e163cbfaaf1ec1e5f3eb770e5e07.png',
                'name': 'エンガワ河川敷'
            },
            {
                'id': '10',
                'image':
                '/images/stage/a12e4bf9f871677a5f3735d421317fbbf09e1a78.png',
                'name': 'モズク農園'
            },
            {
                'id': '11',
                'image':
                '/images/stage/758338859615898a59e93b84f7e1ca670f75e865.png',
                'name': 'Bバスパーク'
            },
            {
                'id': '13',
                'image':
                '/images/stage/d9f0f6c330aaa3b975e572637b00c4c0b6b89f7d.png',
                'name': 'ザトウマーケット'
            },
        ]

        for stage in stages:
            Stage.save_from_dict(stage)
示例#8
0
async def fill():
    text = ''
    cup = Cup()
    stage = Stage()
    match = Match()
    game = Game()
    player = Player()
    team = Team()
    user = User()

    await user.add('onemail',
                   "onepass",
                   is_admin=True,
                   is_organizer=True,
                   is_team=True)

    idgame = []
    idcup = []
    idgame.append(await game.add(
        'Dota2', "Dota 2 — компьютерная многопользовательская командная игра"
        " в жанре multiplayer online battle arena, разработанная Valve Corporation."
        " Является независимым продолжением карты-модификации DotA"
        " для игры Warcraft III."))
    idgame.append(await game.add(
        'CS:GO',
        "Counter-Strike: Global Offensive — многопользовательская компьютерная игра,"
        " разработанная компаниями Valve и Hidden Path Entertainment."
        " Последняя основная игра в серии игр Counter-Strike; как и все игры серии"
        ", она посвящена противостоянию террористов и подразделений"
        " специального назначения."))
    idgame.append(await game.add(
        'PUBG', 'PlayerUnknown’s Battlegrounds (сокр. PUBG) — '
        'многопользовательская онлайн-игра'
        ' в жанре королевской битвы, разрабатываемая и издаваемая студией'
        ' PUBG Corporation, дочерней компанией корейского издателя Bluehole. '
        'Официально дистрибьюцией игры на территории России занимается Mail.Ru Group.'
        ' Игра основана на предыдущих модификациях для других игр, созданных Бренданом'
        ' Грином (англ. Brendan Greene) под псевдонимом «PlayerUnknown», концепция'
        ' которых была вдохновлена японским фильмом «Королевская битва» 2000 года.'
        ' В итоге это привело к созданию самостоятельной игры, где Грин'
        ' выступил в качестве ведущего геймдизайнера. В игре до 100 игроков, которые'
        ' парашютируются на остров, после чего ищут снаряжение и оружие, чтобы убить'
        ' других участников и при этом самим остаться в живых. Доступная безопасная'
        ' зона на внутриигровой карте со временем начинает уменьшаться, '
        'делая доступное пространство более тесным, чтобы сталкивать их между'
        ' собой. Последний выживший игрок или команда побеждает в раунде.'))
    idcup.append(await cup.add(
        'The International 2012',
        'The International 2012 — второй турнир по игре Dota 2,'
        ' проведённый компанией Valve, который был проведён в Сиэтле'
        ' с 26 августа по 2 сентября 2012 года. Начальный призовой'
        ' фонд составил 1 600 000 долларов США, дополнительных'
        ' сборов в фонд не поступало. Для освещения турнира'
        ' были приглашены известные комментаторы, которые в том'
        ' числе проводили прямые видео трансляции '
        '(через сервис Twitch.tv).', idgame[0], 1))
    idcup.append(await cup.add(
        'The International 2013',
        'The International 2013 — третий турнир The International'
        ' по игре Dota 2, проведённый компанией Valve, который прошёл'
        ' в Сиэтле с 3 по 12 августа 2013 года. Начальный призовой'
        ' фонд составил 1 600 000 долларов США, а дополнительный сбор'
        ' с билетов составил ещё 1 274 407 долларов США. Призовой фонд'
        ', на момент 2013 года, оказался самым большим за всю историю'
        ' киберспорта. Для освещения турнира были приглашены известные'
        ' комментаторы, которые в том числе проводили прямые'
        ' видеотрансляции (через сервис Twitch.tv).', idgame[0], 1))
    idcup.append(await cup.add(
        'The International 2014',
        'The International 2014 — четвёртый турнир The International'
        ' по игре Dota 2, проведённый компанией Valve, который прошёл'
        ' в Сиэтле с 18 по 21 июля 2014 года. Начальный призовой фонд'
        ' составил 1 600 000 долларов США, а дополнительный сбор с '
        'билетов составил ещё 9 324 024 долларов США. В отличие от '
        'турниров прошлых лет International 2014 прошёл в середине'
        ' июля, а не в августе, как раньше. Всего турнир посмотрели'
        ' более 20 миллионов человек. Для освещения турнира были '
        'приглашены известные комментаторы, которые в том числе '
        'проводили прямые видео трансляции '
        '(через сервис Twitch.tv).', idgame[0], 1))
    idcup.append(await cup.add(
        'The International 2015',
        'The International 2015 — пятый турнир The International'
        ' по игре Dota 2, проводимый компанией Valve, который проходил'
        ' в Сиэтле с 3 по 8 августа 2015 года. Начальный призовой фонд'
        ' составил 1 600 000 долларов США, а дополнительный сбор с'
        ' билетов составил ещё 16 816 970 долларов США. Для освещения'
        ' турнира были приглашены известные комментаторы, которые в '
        'том числе проводили прямые видео трансляции '
        '(через сервис Twitch.tv).', idgame[0], 1))
    idcup.append(await cup.add(
        'The International 2016',
        'The International 2016 (англ. international — международный)'
        ' — турнир по игре Dota 2, организованный компанией Valve,'
        ' который прошёл в Сиэтле в августе 2016 года. Начальный '
        'призовой фонд составил 1 600 000 долларов США, а '
        'дополнительный сбор с билетов составил более 20 '
        'миллионов долларов США. Ежегодный турнир проходил в шестой'
        ' раз подряд, ввиду чего его название часто сокращалось до '
        'аббревиатуры TI-6, и традиционно стал крупнейшим в '
        'году соревнованием по Dota 2.', idgame[0], 1))
    idcup.append(await cup.add(
        'The International 2017',
        'The International 2017 (англ. international — международный)'
        ' — турнир по игре Dota 2, организованный компанией Valve,'
        ' который проходил в Сиэтле в августе 2017 года. Ежегодный '
        'турнир состоялся в седьмой раз подряд и традиционно стал '
        'крупнейшим в году соревнованием по Dota 2.'
        'Участие в турнире приняли несколько приглашённых команд, а '
        'также коллективы, победившие в международных квалификациях. '
        'Отборочные турниры начались после окончания The Kiev Major: '
        'открытые квалификации были назначены на 22—25 июня, а '
        'региональные квалификации прошли 26—29 июня и определили '
        'команды, которые поехали в Сиэтл для участия в финальной '
        'части соревнования.'
        'Призовой фонд турнира напрямую зависит от количества '
        'проданных внутриигровых предметов. Четверть суммы, вырученной'
        ' Valve от продажи так называемых «боевых пропусков», н'
        'апрямую входит в призовой фонд. Сумма призовых превышает '
        '$24 млн; так, годом ранее призовой фонд также '
        'превышал $20 млн.'
        'The International 2017 побил рекорд прошлого года и '
        'официально стал крупнейшим киберспортивным турниром по '
        'размеру призового фонда.', idgame[0], 1))
    idcup.append(await cup.add(
        'joinDOTA season 2',
        'Второй сезон турнира, который проводится по тому же принципу что и'
        ' первый. Команды поделены на регионы: Америка, Европа, Азия, а '
        'так же на несколько десятков дивизионов, от профессионалов до л'
        'юбителей. Чемпионат продлится около 4 месяцев.', idgame[0], 1))
    idcup.append(await cup.add(
        'joinDOTA season 5',
        'Пятый сезон турнира, который проводится по тому же принципу что и'
        ' первый. Команды поделены на регионы: Америка, Европа, Азия, а '
        'так же на несколько десятков дивизионов, от профессионалов до л'
        'юбителей. Чемпионат продлится около 4 месяцев.', idgame[0], 1))
    idcup.append(await cup.add(
        'PREDATOR LEAGUE 2017',
        'Get ready for all the thrills and chills from the biggest DOTA2'
        ' tournament in Asia Pacific! At Asia Pacific Predator '
        'League 2017, the best teams of each country will fight to '
        'be the greatest e-sport team in Asia Pacific. The finals will '
        'be held in Indonesia with a total prize pool of '
        'USD 150,000.', idgame[0], 1))
    idcup.append(await cup.add('ESL PRO LEAGUE SEASON 6', '', idgame[1], 1))
    idcup.append(await cup.add('Legends Cup', '', idgame[1], 1))
    idcup.append(await cup.add('QIWI Team Play', '', idgame[1], 1))
    idcup.append(await cup.add('ELEAGUE Major 2017', '', idgame[1], 1))
    idcup.append(await cup.add('CIS XPUBG MASTER SERIES', '', idgame[2], 1))
    idcup.append(await cup.add('StarLadder 2017', '', idgame[2], 1))
    idcup.append(await cup.add('PUBG Resf Cup', '', idgame[2], 1))
    idcup.append(await cup.add('ROG City Battles', '', idgame[2], 1))
    for i in range(100):
        idcup.append(await cup.add(
            'WESG 201{} CS:GO'.format(i),
            'Один из крупнейших международных турниров по '
            'CS:GO', idgame[1], 1))
        idcup.append(await cup.add(
            'WESG 201{} DOTA 2'.format(i),
            'Один из крупнейших международных турниров по '
            'DOTA 2', idgame[0], 1))
        idcup.append(await cup.add(
            'StarLadder 201{} DOTA 2'.format(i),
            'Один из крупнейших международных турниров по '
            'DOTA 2', idgame[0], 1))
        idcup.append(await cup.add(
            'StarLadder 201{} PUBG'.format(i),
            'Один из крупнейших международных турниров по '
            'PUBG', idgame[2], 1))
        idcup.append(await cup.add(
            'SurvivalRussian League 201{} PUBG'.format(i),
            'Один из крупнейших российских'
            ' турниров по PUBG', idgame[2], 1))
        idcup.append(await cup.add(
            'SurvivalRussian League 201{} DOTA 2'.format(i),
            'Один из крупнейших российских'
            ' турниров по DOTA 2', idgame[0], 1))
        idcup.append(await cup.add(
            'SurvivalRussian League 201{} CS:GO'.format(i),
            'Один из крупнейших российских'
            ' турниров по CS:GO', idgame[1], 1))
    idteam = []
    for i in range(500):
        idteam.append(await team.add('Team{}_DOTA2'.format(i),
                                     'We are playing Dota!', idgame[0], 1))
        idteam.append(await team.add('Team{}_CS:GO'.format(i),
                                     'We are playing CS:GO!', idgame[1], 1))
        idteam.append(await team.add('Team{}_PUBG'.format(i),
                                     'We are playing PUBG!', idgame[2], 1))

    for id in idteam:
        team1 = await team.get_by_id(id)
        for k in range(10):
            await player.add(
                'Player_{}:{}_GAME-ID:{}'.format(id, k, team1['id_game']),
                'The best player who id is {}'.format(id), team1['id_game'],
                id)

    for id in idcup:
        cup1 = await cup.get_by_id(id)
        game1 = await game.get_by_id(cup1['id_game'])
        start = datetime(2011, 2, 7, 12, 0)
        end = datetime(2011, 2, 17, 23, 0)
        typeS = [0, 1 / 8, 1 / 4, 1 / 2, 1]
        for tp in typeS:
            id_stage = await stage.add(
                tp, start, end,
                'This is a {} stage of {}'.format(tp, cup1['name']), id)
            if tp == 0:
                for i in range(16):
                    delta = timedelta(hours=i * 2)
                    await match.add(
                        start + delta, 'SOON', 'MatchTEST_{}'.format(i),
                        'Match on {} stage of {} cup on {}'.format(
                            tp, cup1['name'], game1['name']), id_stage)
            else:
                for i in range(int(1 / tp)):
                    await match.add(
                        start, 'SOON', 'MatchTEST_{}'.format(i),
                        'Match on {} stage of {} cup on {}'.format(
                            tp, cup1['name'], game1['name']), id_stage)
            start += timedelta(days=12)
            end += timedelta(days=12)
        start += timedelta(days=200)
        end += timedelta(days=200)

    return text
示例#9
0
文件: jobs.py 项目: niravshah/refrew
def edit_job_form(id):
    job = Job.objects(jobid=id).first()
    stages = Stage.objects(job=job)
    form = AddJobForm(request.form, obj=job,)
    return render_template('add_job.html', form=form, edit=True, stages=stages)
示例#10
0
文件: jobs.py 项目: niravshah/refrew
def delete_stage(jobid):
    stage = Stage.objects(id=request.json['id']).first().delete()
    return mongodoc_jsonify(item='Object Deleted')
示例#11
0
文件: jobs.py 项目: niravshah/refrew
def stages(jobid):
    if request.method == 'GET':
        job = Job.objects(jobid=int(jobid)).first()
        stages = Stage.objects(job=job)
        itemLst = [dict(stage.to_mongo()) for stage in stages]
        return mongodoc_jsonify(items=itemLst)
    if request.method == 'POST':
        if request_has_json():
            try:
                job = Job.objects(jobid=int(jobid)).first()
                reward = Reward.objects(itemid=request.json['reward']).first()
                model = Stage()
                model.job = job
                model.reward = reward
                model.rewardDesc = reward.itemid
                model.jobDesc = str(job.jobid)
                model.stage = request.json['stage']
                model.save()
                model.reload()
                return mongodoc_jsonify(item=model.to_mongo())
            except ValidationError as e:
                return jsonify(item=str(e))
示例#12
0
 def create_stage(stage):
     return Stage(tournament_id=stage[0], game=stage[1], name=stage[2])