def index(): party = Party(name='Dungeons and Databases') characters = [ 2342595, 2266180, 2790689, 5304380, 6448988, 2278224, 4657425, 2271732 ] members = [] for character in characters: try: data = get_character_health(character_id=character) members.append( Character(character, data['name'], 0, 0, data['current_hp'], data['health_status'])) cache.set(character, data, timeout=100 * 60) except ThrottlingException as e: data = cache.get(character) if data is None: flash( "D&D Beyond throttled us and charcter_id {} was not already cached." .format(character), 'danger') else: members.append( Character(character, data['name'], 0, 0, data['current_hp'], data['health_status'])) flash( "ThrottlingException from D&D Beyond, retrieving {} from cache" .format(data['name']), 'warning') for char in sorted(members, key=lambda x: x.name): party.add(char) return render_template('main.html', entries=party)
def player(self, args, channel, zone, user): messages = [] if len(args) == 1: raise Exception('No characters added') if not zone: raise Exception('You don\'t have an active zone. Try this:```css\n.d new zone "ZONE NAME"```') elif args[1].lower() == 'list' or args[1].lower() == 'l': return [zone.get_string_characters(channel)] elif args[1].lower() in ['delete','d']: for char_name in args[2:]: char = Character().filter(id__in=zone.characters, name=char_name, guild=channel.guild, category='Character', archived=False).first() [zone.characters.remove(s) for s in zone.characters if char and str(char.id) == s] messages.append(f'***{char.name}*** removed from _{zone.name}_' if char else f'**{char_name}** was not found') self.save(zone, user) messages.append(zone.get_string_characters(user)) return messages else: for char_name in args[1:]: char = Character().find(user=None, name=char_name, guild=channel.guild, category='Character') if char: if str(char.id) in zone.characters: messages.append(f'***{char.name}*** is already in _{zone.name}_') else: zone.characters.append(str(char.id)) messages.append(f'Added ***{char.name}*** to _{zone.name}_ zone') else: messages.append(f'***{char_name}*** not found. No character added to _{zone.name}_') self.save(zone, user) messages.append(zone.get_string_characters(user)) return messages
def test_character_add_two_count(self): # add two characters, validate count num_characters = self.session.query(Character).count() character_one = Character(name='Snorlax', universe='Pokemon', weight='180', moves='Rollout, Belly Drum, Heavy Slam, Yawn', debut='2004', tier='E', image_path='Snorlax.png') character_two = Character(name='Sonic', universe='Sonic', weight='95', moves='Hammer Spin Dash, Burning Spin Dash, Spring Jump, Springing Headbutt', debut='2013', tier='A', image_path='Sonic.png') self.object_list.append(character_one) self.object_list.append(character_two) self.commit_objects() self.assertEqual( self.session.query(Character).count(), num_characters + 2)
def oppose(self, args, channel, exchange, user): messages = [] if len(args) == 1: raise Exception('No opposition added') if not exchange: raise Exception('You don\'t have an active exchange. Try this:```css\n.d new exchange "EXCHANGE NAME"```') elif args[1].lower() == 'list' or args[1].lower() == 'l': return [exchange.get_string_opposition(channel)] elif args[1].lower() in ['delete','d']: for char_name in args[2:]: char = Character().find(user=user, name=char_name, guild=channel.guild, category='Character') [exchange.opposition.remove(s) for s in exchange.opposition if char and str(char.id) == s] messages.append(f'***{char.name}*** removed from the opposition in _{exchange.name}_' if char else f'**{char_name}** was not found') self.save(exchange, user) messages.append(exchange.get_string_opposition(user)) return messages else: for char_name in args[1:]: char = Character().find(user=None, name=char_name, guild=channel.guild, category='Character') if char: if str(char.id) in exchange.opposition: messages.append(f'***{char.name}*** is already in the opposition in the _{exchange.name}_ exchange') else: exchange.opposition.append(str(char.id)) messages.append(f'Added ***{char.name}*** to the opposition in the _{exchange.name}_ exchange') else: messages.append(f'***{char_name}*** not found. No opposition added to _{exchange.name}_') self.save(exchange, user) messages.append(exchange.get_string_opposition(user)) return messages
def initDbForE2e(wipe=True): if wipe: clearDB() # TODO: Id of user a admin_id = 123 db.session.add( Character( id=admin_id, user_id=admin_id, name='ADMIN NAME', corporation_id=ascee_corp_id, refresh_token='YOUR TOKEN HERE', )) db.session.add(Admin( id=admin_id, user_id=admin_id, name='Billy Admin', )) # TODO: Id of recruiter user recruiter_id = 345 db.session.add( Character(id=recruiter_id, user_id=recruiter_id, name='RECRUITER NAME', corporation_id=ascee_corp_id, refresh_token='YOUR TOKEN HERE')) db.session.add(Recruiter( id=recruiter_id, name='RECRUITER NAME', )) # TODO: Id of applicant user character_id = 234 db.session.add( Character(id=character_id, user_id=character_id, name='APPLICANT NAME', corporation_id=ascee_corp_id, corporation=Corporation(id=ascee_corp_id, name='ASCEE'), refresh_token='YOUR TOKEN HERE')) db.session.add(User( id=character_id, name='APPLICANT NAME', )) db.session.add(Question(text='How long have you been playing Eve?')) db.session.add(Question(text='PVP or PVE? Why?')) db.session.add(Application(user_id=character_id)) db.session.commit()
def select(): #Run as soon as the page is grabbed if request.method == 'GET': #Build the Boss out of the twiter bots boss = twitter.build_a_boss() #Give the boss its stats boss.set_stats(boss, boss.name) #Get the database get_db() #Create boss entry in the character SQL table (Use SQLAlchemy-flask) b1 = Character(title='boss', health=200, name=boss.name, desc=boss.flavour, pwr=boss.pwr, spd=boss.spd, intel=boss.int, appearance=boss.appearance) #TODO debug this finalbots_db.session.add(b1) finalbots_db.session.commit() #Run when player presses "Submit" if request.method == 'POST' and 'class' in request.form: session['class'] = request.form.get('class') #Create player entry in the Character SQL table if session['class'] == 'warrior': p1 = Character(title='player1', health=100, pwr=15, spd=10, intel=5) elif session['class'] == 'mage': p1 = Character(title='player1', health=100, pwr=5, spd=10, intel=15) elif session['class'] == 'thief': p1 = Character(title='player1', health=100, pwr=5, spd=15, intel=10) # Add and commit to db finalbots_db.session.add(p1) finalbots_db.session.commit() #proceeed to the choose action page return redirect(url_for('finalbots.choose')) return render_template('game/creation.html')
def test_participants_add_two_count(self): # add two/more participants, assert the number of participants num_participants = self.session.query(Participant).count() character_one = Character(name='Snorlax', universe='Pokemon', weight='180', moves='Rollout, Belly Drum, Heavy Slam, Yawn', debut='2004', tier='E', image_path='Snorlax.png') character_two = Character(name='Sonic', universe='Sonic', weight='95', moves='Hammer Spin Dash, Burning Spin Dash, Spring Jump, Springing Headbutt', debut='2013', tier='A', image_path='Sonic.png') tournament_one = Tournament(name='bust2', sanitized='bust2', date='April 11th, 2015', location='CA', image_path='https://images.smash.gg/images/tournament/1035/image-10e39229043ff962dd367a516b0bc090.png') tournament_two = Tournament(name='Smash Broski', sanitized='smash-broski', date='April 1, 2017', location='MA', image_path='path_to_image') participant_one = Participant(sponsor='C9', tag='mang0', main=character_one, location='California', tournament=tournament_one) participant_two = Participant(sponsor='Selfless', tag='Broseidon', main=character_two, location='Russia', tournament=tournament_two) self.object_list.append(character_one) self.object_list.append(character_two) self.object_list.append(tournament_one) self.object_list.append(tournament_two) self.object_list.append(participant_one) self.object_list.append(participant_two) self.commit_objects() self.assertEqual(self.session.query(Participant).count(), num_participants + 2)
def list_addAll(): body = request.get_json() people = body['character'] planet = body['planet'] vehicles = body['starship'] for c in character: character1 = Character(name=c["Character Name"], heigth=c["Character heigth"], mass=c["Character mass"], hair_color=c["Character hair color"], skin_color=c["Character skin color"], gender=c["Character Gender"]) db.session.add(character1) for p in planet: planet1 = Planet(name=p["Name"], diameter=p["Diameter"], climate=p["Climate"], gravity=p["Gravity"], population=p["Population"]) db.session.add(planet1) for s in starship: starships1 = Starship(name=s["Vehicle name"], model=s["Model"], passengers=serialize["Passengers"], consumable=s["consumable"], cargo_capacity=s["Cargo capacity"], hyperdrive_rating=s["Hyperdrive rating"]) db.session.add(starship1) db.session.commit()
def create_character(): """Creates a new character""" if "user_id" not in session: flash("Please login first!") return redirect('/') form = CharacterForm() if form.validate_on_submit(): name = form.name.data c_class = form.c_class.data race = form.race.data background = form.background.data equipment = form.equipment.data origin = form.origin.data character = Character( name=name, c_class=c_class, race=race, background=background, equipment=equipment, origin=origin, user_id=session['user_id'] ) db.session.add(character) db.session.commit() return redirect('/characters') return render_template('new_character.html', form=form)
def create_character(payload): body = request.get_json() first_name = body.get('first_name', None) last_name = body.get('last_name', None) char_class_id = body.get('char_class_id', None) race_id = body.get('race_id', None) try: race = Race.query.get(race_id) char_class = Char_class.query.get(char_class_id) new_character = Character( first_name=first_name, last_name=last_name, char_class_id=char_class_id, race_id=race_id, strength=race.strength_bonus + char_class.strength_bonus + STAT_BASE, speed=race.speed_bonus + char_class.speed_bonus + STAT_BASE, will=race.will_bonus + char_class.will_bonus + STAT_BASE) new_character.insert() character_list = format_list(Character.query.all()) return jsonify({ 'success': True, 'created_id': new_character.id, 'character_list': character_list, 'number_of_characters': len(character_list) }) except BaseException: abort(422)
def post_character(jwt): body = request.get_json() try: name = body.get('name') fighting = body.get('fighting') intelligence = body.get('intelligence') good = body.get('good') new_game_id = body.get('game_id') print("1") character = Character(name=name, fighting=fighting, intelligence=intelligence, good=good, game_id=new_game_id) print("2") character.insert() print("3") return jsonify({ 'success': True, 'character_id': character.id, 'character_name': character.name }) except: abort(400)
def create_character(): request_body = request.get_json() character = Character(name=request_body["name"], birth_year=request_body["birth_year"], gender=request_body["gender"], height=request_body["height"], mass=request_body["mass"], home_world=request_body["home_world"]) db.session.add(character) db.session.commit() print("Character created: ", request_body) return jsonify(request_body), 200
def player(self, args, channel, scenario, user): if len(args) == 1: return ['No characters added'] if not scenario: return [ 'You don\'t have an active scenario.\nTry this: ```css\n.d new scenario "Scenario Name"```' ] elif args[1].lower() == 'list' or args[1].lower() == 'l': return [scenario.get_string_characters(channel)] elif args[1].lower() == 'delete' or args[1].lower() == 'd': char = ' '.join(args[2:]) [ scenario.characters.remove(s) for s in scenario.characters if char.lower() in s.lower() ] self.save(scenario, user) return [ f'{char} removed from scenario characters', scenario.get_string_characters(channel) ] else: search = ' '.join(args[1:]) char = Character().find(None, search, channel.guild) if char: scenario.characters.append(str(char.id)) else: return [ f'***{search}*** not found. No character added to _{scenario.name}_' ] self.save(scenario, user) return [ f'Added {char.name} to scenario characters', scenario.get_string_characters(channel) ]
def test_participants_add_one(self): # add a participant character = Character(name='Snorlax', universe='Pokemon', weight='180', moves='Rollout, Belly Drum, Heavy Slam, Yawn', debut='2004', tier='E', image_path='Snorlax.png') tournament = Tournament(name='bust2', sanitized='bust2', date='April 11th, 2015', location='CA', image_path='https://images.smash.gg/images/tournament/1035/image-10e39229043ff962dd367a516b0bc090.png') participant = Participant(sponsor='C9', tag='mang0', main=character, location='California', tournament=tournament) self.object_list.append(character) self.object_list.append(tournament) self.object_list.append(participant) self.commit_objects() result = self.session.query(Participant).order_by( Participant.id.desc()).first() self.assertEqual(result.sponsor, participant.sponsor) self.assertEqual(result.tag, participant.tag) self.assertEqual(result.location, participant.location) self.assertEqual(result.tournament, participant.tournament)
def investigate(request): # rlt = request.GET["staff"] # return HttpResponse(rlt) # ctx = {} # ctx.update(csrf(request)) # if request.POST: # ctx["rlt"] = request.POST["staff"] # return render(request, "investigate.html", ctx) # if request.POST: # submitted = request.POST["staff"] # newRecord = Character(name=submitted) # newRecord.save() # ctx = {} # ctx.update(csrf(request)) # allRecords = Character.objects.all() # ctx["staff"] = allRecords # return render(request, "investigate.html", ctx) if request.POST: recvForm = CharacterForm(request.POST) if recvForm.is_valid(): submitted = recvForm.cleaned_data["name"] newRecord = Character(name=submitted) newRecord.save() recvForm = CharacterForm() ctx = {} ctx.update(csrf(request)) allRecords = Character.objects.all() ctx["staff"] = allRecords ctx["form"] = recvForm return render(request, "investigate.html", ctx)
def store_character_session(self): db_char = Character() db_char.name = self.cc.character_dict['name'] db_char.species = self.cc.character_dict['species'] db_char.species_size = self.cc.character_dict['species_size'] db_char.sex = self.cc.character_dict['sex'] db_char.faction = self.cc.character_dict['faction'] db_char.alg = self.cc.character_dict['alg'] pocc = ''.join(self.cc.character_dict['pocc'].keys()) pocc_instance = self.db.query(PoccDb).filter_by(pocc=pocc).first() db_char.pocc = pocc_instance.id socc = ''.join(self.cc.character_dict['socc'].keys()) socc_instance = self.db.query(SoccDb).filter_by(socc=socc).first() db_char.socc = socc_instance.id db_char.exp_total = self.cc.character_dict['exp_total'] db_char.exp_remaining = self.cc.character_dict['exp_remaining'] db_char.natural_hp = self.cc.character_dict['natural_hp'] db_char.hp = self.cc.character_dict['hp'] db_char.soak = self.cc.character_dict['soak'] db_char.stuffing = self.cc.character_dict['stuffing'] db_char.sanity = self.cc.character_dict['sanity'] db_char.str = self.cc.character_dict['str'] db_char.int = self.cc.character_dict['int'] db_char.dex = self.cc.character_dict['dex'] db_char.con = self.cc.character_dict['con'] db_char.wis = self.cc.character_dict['wis'] db_char.cha = self.cc.character_dict['cha'] db_char.code = 1 self.db.add(db_char) self.db.commit() char_id = db_char.id self.store_character_skills_session(char_id=char_id) self.store_merits_flaws(char_id=char_id) return char_id, self.cc.character_dict['name']
def character_profile(): form = CharacterCreationForm() if request.method == 'GET': char = flask_login.current_user.character if char is None: return render_template('character_profile.html',form=form) else: char.update_character() return render_template('character_profile.html',character=char) elif request.method == 'POST': if form.validate_on_submit(): if Character.query.filter_by(name=form.name.data).first(): flash('Character name already in use. Try again.','error') return redirect(url_for('character_profile')) else: character = Character(name=form.name.data) character.title = 'the newly landed' character.location = Room.query.filter_by(name='The Red Death').first() db.session.add(character) flask_login.current_user.character = character db.session.add(flask_login.current_user) db.session.commit() generate_starter_equipment(character) flash('Character created! Welcome to Deimos 2147!','error') return redirect(url_for('character_profile')) else: flash('Failed to validate form','error') return redirect(url_for('character_profile'))
def create_quote(anime): characters_models = [] characters = anime.get_characters() for character in characters: quotes_models = [] quotes = character.get_quotes() for quote in quotes: print(type(quote.get_tags())) quotes_models.append( Quote(quote=quote.get_quote(), tags=quote.get_tags(), views=quote.get_views(), likes=quote.get_likes())) characters_models.append( Character(name=character.get_name(), image=character.get_image(), quotes=quotes_models, views=character.get_views())) db.session.add( Anime(name=anime.get_name(), image=anime.get_image(), characters=characters_models, views=anime.get_views())) print("{} added".format(anime.get_name()))
def player(self, args, channel, engagement, user): messages = [] if len(args) == 1: raise Exception('No characters added') if not engagement: raise Exception( 'You don\'t have an active engagement. Try this:```css\n.d new engagement "ENGAGEMENT NAME"```' ) elif args[1].lower() == 'list' or args[1].lower() == 'l': return [engagement.get_string_characters(channel)] elif args[1].lower() in ['delete', 'd']: for char_name in args[2:]: char = Character().find(user=user, name=char_name, guild=channel.guild, category='Character') [ engagement.characters.remove(s) for s in engagement.characters if char and str(char.id) == s ] messages.append( f'***{char.name}*** removed from _{engagement.name}_ characters' if char else f'**{char_name}** was not found') self.save(engagement, user) messages.append(engagement.get_string_characters(user)) return messages else: for char_name in args[1:]: char = Character().find(None, char_name, channel.guild) if char: if str(char.id) in engagement.characters: messages.append( f'***{char.name}*** is already in _{engagement.name}_ characters' ) else: engagement.characters.append(str(char.id)) messages.append( f'Added ***{char.name}*** to _{engagement.name}_ engagement characters' ) else: messages.append( f'***{char_name}*** not found. No character added to _{engagement.name}_ characters' ) self.save(engagement, user) messages.append(engagement.get_string_characters(user)) return messages
def create(event, context): logger.debug(f'Event received: {json.dumps(event)}') data = _get_body(event) try: characters = data['characters'] character_list = [ Character(id=x['id'], attack_speed=x['attack_speed'], crit_chance=x['crit_chance'], curr_hp=x['curr_hp'], prev_hp=x['curr_hp'], base_hp=x['curr_hp'], min_damage=x['min_damage'], max_damage=x['max_damage']) for x in characters ] fight = FightModel(id=str(uuid4()), created_at=datetime.utcnow(), characters=character_list, connectionId=data.get('connectionId', '')) enemy_data = data['enemy'] enemy = Enemy(id=enemy_data['id'], can_block=enemy_data['can_block'], can_dodge=enemy_data['can_dodge'], block_amt=enemy_data['block_amt'], block_pct=enemy_data['block_pct'], dodge_pct=enemy_data['dodge_pct'], base_hp=enemy_data['hit_points'], curr_hp=enemy_data['hit_points'], prev_hp=enemy_data['hit_points'], min_damage=enemy_data.get('min_damage', 0), max_damage=enemy_data.get('max_damage', 0), can_crit=enemy_data.get('can_crit', False), crit_chance=enemy_data.get('crit_chance', 0), attack_speed=enemy_data.get('attack_speed', 0)) fight.enemy = enemy fight.save() for char in fight.characters: char_fight = CharacterFightModel(char_id=char.id, fight_id=fight.id, enemy_id=fight.enemy.id) char_fight.save() response = _get_response(200, json.dumps(fight, cls=ModelEncoder)) logger.debug(f'Response: {json.dumps(response)}') return response except Exception as ex: logger.error(f'Could not create fight: {ex}') response = _get_response(500, 'Could not create a fight') return response
def result(): char_json = json.loads('{"name":"Lucca Redframe","title":"None (8 titles unlocked)","sex":"male","vocation":"Elite Knight","level":228,"achievement_points":151,"world":"Zenobra","residence":"Thais","house":{"name":"Treetop 13","town":"Ab\'Dendriel","paid":"2021-03-05","world":"Zenobra","houseid":0},"guild":{"name":"Zenobra Pune","rank":"One"},"last_login":[{"date":"2021-02-08 11:18:02.000000","timezone_type":2,"timezone":"CET"}],"account_status":"Premium Account","status":"offline"}') char = Character(json=char_json) char.online_time = '154h 15min' char.kills.append(Frag(date=datetime(2021, 1, 12, 4, 52), target_name='Dell Brega', target_level=100, frag_type='injustified', is_kill=True)) char.kills[-1].add_killer('Lucca Redframe', 200) char.kills.append(Frag(date=datetime(2021, 1, 12, 4, 24), target_name='Dell Brega', target_level=100, frag_type='injustified', is_kill=True)) char.kills[-1].add_killer('Lucca Redframe', 200) char.kills.append(Frag(date=datetime(2021, 1, 12, 4, 7), target_name='Lius lambinha', target_level=19, frag_type='justified', is_kill=True)) char.kills[-1].add_killer('Lucca Redframe', 20) char.deaths.append(Frag(date=datetime(2021, 1, 12, 4, 58), target_name='Lucca Redframe', target_level=200, frag_type='injustified', is_kill=False)) char.deaths[-1].add_killer('Lambinha delas', 800) char.deaths.append(Frag(date=datetime(2021, 1, 12, 4, 42), target_name='Lucca Redframe', target_level=200, frag_type='injustified', is_kill=False)) char.deaths[-1].add_killer('Lambinha delas', 800) char.deaths.append(Frag(date=datetime(2021, 1, 12, 4, 33), target_name='Lucca Redframe', target_level=200, frag_type='injustified', is_kill=False)) char.deaths[-1].add_killer('Lambinha delas', 800) char.deaths.append(Frag(date=datetime(2021, 1, 12, 4, 15), target_name='Lucca Redframe', target_level=210, frag_type='justified', is_kill=False)) char.deaths[-1].add_killer('Lambe lambe', 1000) char.kills.append(Frag(date=datetime(2021, 2, 11, 4, 51), target_name='Dell Brega', target_level=100, frag_type='injustified', is_kill=True)) char.kills[-1].add_killer('Lucca Redframe', 200) char.kills.append(Frag(date=datetime(2021, 2, 11, 4, 22), target_name='Dell Brega', target_level=100, frag_type='injustified', is_kill=True)) char.kills[-1].add_killer('Lucca Redframe', 200) char.kills.append(Frag(date=datetime(2021, 2, 11, 4, 4), target_name='Lius lambinha', target_level=19, frag_type='justified', is_kill=True)) char.kills[-1].add_killer('Lucca Redframe', 20) char.deaths.append(Frag(date=datetime(2021, 2, 11, 4, 57), target_name='Lucca Redframe', target_level=200, frag_type='injustified', is_kill=False)) char.deaths[-1].add_killer('Lambinha delas', 800) char.deaths.append(Frag(date=datetime(2021, 2, 11, 4, 44), target_name='Lucca Redframe', target_level=200, frag_type='injustified', is_kill=False)) char.deaths[-1].add_killer('Lambinha delas', 800) char.deaths.append(Frag(date=datetime(2021, 2, 11, 4, 33), target_name='Lucca Redframe', target_level=200, frag_type='injustified', is_kill=False)) char.deaths[-1].add_killer('Lambinha delas', 800) char.deaths.append(Frag(date=datetime(2021, 2, 11, 4, 11), target_name='Lucca Redframe', target_level=210, frag_type='justified', is_kill=False)) char.deaths[-1].add_killer('Lambe lambe', 1000) char.kills.append(Frag(date=datetime(2021, 2, 10, 4, 57), target_name='Dell Brega', target_level=100, frag_type='injustified', is_kill=True)) char.kills[-1].add_killer('Lucca Redframe', 200) char.kills.append(Frag(date=datetime(2021, 2, 10, 4, 29), target_name='Dell Brega', target_level=100, frag_type='injustified', is_kill=True)) char.kills[-1].add_killer('Lucca Redframe', 200) char.kills.append(Frag(date=datetime(2021, 2, 10, 4, 5), target_name='Lius lambinha', target_level=19, frag_type='justified', is_kill=True)) char.kills[-1].add_killer('Lucca Redframe', 20) char.deaths.append(Frag(date=datetime(2021, 2, 10, 4, 59), target_name='Lucca Redframe', target_level=200, frag_type='injustified', is_kill=False)) char.deaths[-1].add_killer('Lambinha delas', 800) char.deaths.append(Frag(date=datetime(2021, 2, 10, 4, 49), target_name='Lucca Redframe', target_level=200, frag_type='injustified', is_kill=False)) char.deaths[-1].add_killer('Lambinha delas', 800) char.deaths.append(Frag(date=datetime(2021, 2, 10, 4, 30), target_name='Lucca Redframe', target_level=200, frag_type='injustified', is_kill=False)) char.deaths[-1].add_killer('Lambinha delas', 800) char.deaths.append(Frag(date=datetime(2021, 2, 10, 4, 15), target_name='Lucca Redframe', target_level=210, frag_type='justified', is_kill=False)) char.deaths[-1].add_killer('Lambe lambe', 1000) char.frags.extend(char.kills) char.frags.extend(char.deaths) char.frags.sort(key=lambda x: x.date, reverse=True) char.process_presences() return render_template('result.html', chars=[char, char, char])
def add(): ''' Description : Create a new Character with Hat associate, following the rules Example : >>> request.post(/create?Name=Alain&Age=18&Weight=80 / &Human=True&Color=YELLOW) ''' from rules import Character_rules character_schema = CharacterSchema() Name=request.args.get('Name') Age=request.args.get('Age') Weight=request.args.get('Weight') Human= json.loads(request.args.get('Human').lower()) if 'Color' in request.args: from models import ColorHat, Hat Color = request.args.get('Color') hat = Hat(Color = Color) hat_schema = HatSchema() params = { 'Name' : Name, 'Age' : Age, 'Weight' : Weight , 'Human' : Human, 'Hat' : hat } #hat = hat_schema.load({'Color' : Color}) result_hat = hat_schema.dump(hat.create()) else: params = { 'Name' : Name, 'Age' : Age, 'Weight' : Weight , 'Human' : Human, 'Hat': None } #Check all the rules message = [rule(params) for k,rule in Character_rules.items() ] for b, m in message : if not(b): return make_response(m,401) try: #character = character_schema.load(params) character = Character(**params) result_character = character_schema.dump(character.create()) return make_response(jsonify({'character': result_character}),200) except Exception as e: raise str(e)
def search_char(name): r = requests.get(f'https://api.tibiadata.com/v2/characters/{name}.json') json = r.json() if 'error' in json['characters']: raise CharacterNotExists char = Character(json['characters']['data']) return char
def copy(char_char_name): global user global user_characters chars = db.query(Character).filter_by(char_name=char_char_name).first() char = Character(user_name=user.name, char_name=chars.char_name, ethnie=chars.ethnie, age=chars.age, height=chars.height) db.add(char) db.commit() user_characters = db.query(Character).filter_by(user_name=user.name).all() return render_template("/Nav-Pages/characters.html", character_list=user_characters, admin=user.admin)
def on_background_gdk_button_release(self, widget, ev, background): """on right click make a new character""" if ev.button == 3: # create a new Character, and move it to the position of click character = Character() dispatcher.send(signal=New, sender='gui', model=character) dispatcher.send(signal=character, sender='gui', property='location', old=character.location, value=(ev.x, ev.y))
def test_character_add_two_validate_data(self): # add two characters, validate data character_one = Character(name='Snorlax', universe='Pokemon', weight='180', moves='Rollout, Belly Drum, Heavy Slam, Yawn', debut='2004', tier='E', image_path='Snorlax.png') character_two = Character(name='Sonic', universe='Sonic', weight='95', moves='Hammer Spin Dash, Burning Spin Dash, Spring Jump, Springing Headbutt', debut='2013', tier='A', image_path='Sonic.png') characters = [] characters.append(character_one) characters.append(character_two) self.object_list.append(character_two) self.object_list.append(character_one) self.commit_objects() for i in range(0, 2): # get the last row in the Character table result = self.session.query(Character).order_by( Character.id.desc()).first() self.assertEqual(result.name, characters[i].name) self.assertEqual(result.universe, characters[i].universe) self.assertEqual(result.moves, characters[i].moves) self.assertEqual(result.debut, characters[i].debut) self.assertEqual(result.tier, characters[i].tier) self.assertEqual(result.image_path, characters[i].image_path) # deleting element from table self.session.delete(result) self.session.commit() self.object_list.remove(result)
def make_character(stats, profession, background, professional_skills, background_skills, base_skills): prof_skills = make_professional_skills( professional_skills[profession]["Skills"]) char_background = make_background_skills(background_skills[background], base_skills.keys()) char_stats = Stats(*stats) char_skills = Skills(base_skills, prof_skills, char_background) bonds = professional_skills[profession]["Bonds"] character = Character(char_stats, char_skills, profession, bonds, background) return character
def add_character(): # recibir info del request request_body = request.get_json() print(request_body) new_character = Character(name=request_body["name"], birth_year=request_body["birth_year"], height=request_body["height"], mass=request_body["mass"], hair_color=request_body["hair_color"], eye_color=request_body["eye_color"], gender=request_body["gender"], planet_id=request_body["planet_id"]) db.session.add(new_character) db.session.commit() return jsonify("All good, added: ", new_character.serialize()), 200
def investigate(request): if request.POST: form = CharacterForm(request.POST) if form.is_valid(): submitted = form.cleaned_data['name'] new_record = Character(name=submitted) new_record.save() form = CharacterForm ctx = dict() ctx.update(csrf(request)) all_record = Character.objects.all() ctx['staff'] = all_record ctx['form'] = form return render(request, 'west/investigate.html', ctx)
def test_character_3(self): character = Character(ident=99999, name="Fares Fraij", gender="Male", franchise="UT", location="GDC", first_game="SWE") session = self.db.session session.add(character) session.commit() result = session.query(Character).get(99999) self.assertEqual(result.location, "GDC") session.delete(result) session.commit()