Exemple #1
0
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
Exemple #3
0
    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)
Exemple #4
0
 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
Exemple #5
0
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()
Exemple #6
0
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')
Exemple #7
0
    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()
Exemple #9
0
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)
Exemple #10
0
    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)
Exemple #11
0
    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)
         ]
Exemple #14
0
    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)
Exemple #15
0
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)
Exemple #16
0
    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']
Exemple #17
0
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'))
Exemple #18
0
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()))
Exemple #19
0
 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
Exemple #20
0
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
Exemple #21
0
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])
Exemple #22
0
    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
Exemple #24
0
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)
Exemple #25
0
 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))
Exemple #26
0
    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)
Exemple #27
0
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
Exemple #28
0
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
Exemple #29
0
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()