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}
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
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)
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
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])
def api_get_stage(): stage = yield from Stage.findAll() print(stage) return dict(stage=stage)
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)
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
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)
def delete_stage(jobid): stage = Stage.objects(id=request.json['id']).first().delete() return mongodoc_jsonify(item='Object Deleted')
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))
def create_stage(stage): return Stage(tournament_id=stage[0], game=stage[1], name=stage[2])