def fetchCharactersAndSave(request): k = request.POST['keyID'] v = request.POST['vCode'] n = request.POST['accountName'] acct = None # dupe checking if len( Account.objects.all().filter(keyID=k) ) == 0: acct = Account(keyID=k, verificationCode=v, accountName=n) acct.save() else: acct = Account.objects.all().filter(keyID=k)[0] # call the EVE API to fetch the characters from this account accountData = EVEAPI.eveapi.AccountData() accountData.context = EVEAPI.eveapi.Context(_keyID= k, _verificationCode= v) # characters comeback in an unordered list of dictionaries # {characterID, characterName, corporationID, corporationName} characters = accountData.Characters() for character in characters: c = None if len( Character.objects.all().filter(characterID= character["characterID"])) == 0: c = Character(characterName= character["characterName"], characterID= character["characterID"], account = acct) c.save() return HttpResponseRedirect(reverse('characters:index', args=None))
def add_characters(): some_characters = ( #(useR_id, 'name', portrait_id, faction_id, town_id) (1,'Banaan', 2, 1, 1), (2,'Peer', 3, 2, 2), (2,'Appel', 5, 3, 3), (3,'Mandarijn', 1, 4, 4), (3,'Passievrucht', 6, 1, 1), (3,'Meloen', 2, 3, 2), (4,'Pruim', 1, 3, 3), (5,'Perzik', 7, 4, 4), (6,'Aardbei', 2, 3, 1), (7,'Sinasappel', 2, 2, 2), (8,'Bes', 1, 3, 3), (8,'Framboos', 1, 4, 4), ) for new_char in some_characters: character = Character( user = User.objects.get(id=new_char[0]), name = new_char[1], portrait = Portrait.objects.get(id=new_char[2]), faction = Faction.objects.get(id=new_char[3]), remap = datetime.datetime.now(), bonus_remaps = 2, town = Town.objects.get(id=new_char[4]), ) character.save() #add subtables character_logic.create_character(character) print character.name
class TestIsOwnerPermission(TestCase): def setUp(self): self.character = Character(name='Test', role=Character.DAMAGE) self.character.save() self.owner = User.objects.create_user('owner') self.notOwner = User.objects.create_user('notowner') self.match = Match(user=self.owner, mmr_after=1000) self.match.save() self.match.characters.set([self.character]) self.permission = IsMatchOwner() def testPermissionGrantedToOwner(self): """ If user currently logged in is owner of match, permission should be granted, both for safe (GET) and unsafe (e. g. POST) methods """ factory = APIRequestFactory() get_request = factory.get('/path_does_not_matter_here/') force_authenticate(get_request, user=self.owner) get_request.user = self.owner # there is no .user in request generated by APIRequestFactory self.assertTrue( self.permission.has_object_permission(get_request, None, self.match), 'Permission should be granted for GET request with user which is match owner' ) post_request = factory.post('/path_does_not_matter_here/') force_authenticate(post_request, user=self.owner) post_request.user = self.owner # there is no .user in request generated by APIRequestFactory self.assertTrue( self.permission.has_object_permission(post_request, None, self.match), 'Permission should be granted for unsafe (e.g. POST) request with user which is match owner' ) def testPermissionDeniedToNotOwner(self): """ If user currently logged in is not owner of match, permission should be denied, both for safe (GET) and unsafe (e. g. POST) methods """ factory = APIRequestFactory() get_request = factory.get('/path_does_not_matter_here/') force_authenticate(get_request, user=self.notOwner) get_request.user = self.notOwner # there is no .user in request generated by APIRequestFactory self.assertFalse( self.permission.has_object_permission(get_request, None, self.match), 'Permission should be denied for GET request with user which is not match owner' ) post_request = factory.post('/path_does_not_matter_here/') force_authenticate(post_request, user=self.notOwner) post_request.user = self.notOwner # there is no .user in request generated by APIRequestFactory self.assertFalse( self.permission.has_object_permission(post_request, None, self.match), 'Permission should be denied for unsafe (e.g. POST) request with user which is not match owner' )
def setUp(self): self.character = Character(name='Test', role=Character.DAMAGE) self.character.save() self.owner = User.objects.create_user('owner') self.notOwner = User.objects.create_user('notowner') self.match = Match(user=self.owner, mmr_after=1000) self.match.save() self.match.characters.set([self.character]) self.permission = IsMatchOwner()
def setUp(self): self.characters = [ Character(name='Test1', role=Character.DAMAGE), Character(name='Test2', role=Character.DAMAGE) ] for c in self.characters: c.save() self.user = User.objects.create_user('testuser') self.match = Match(user=self.user, mmr_after=1000) self.match.save() self.match.characters.set(self.characters)
def getCharacterInfo(serverName, characterName): url = str("https://us.api.battle.net/wow/character/") + str( serverName ) + str("/") + str(characterName) + str( "?locale=en_US&fields=items&apikey=g5n7m2d499n6wumem7g6qqwkyzwfq8pn") response = urllib2.urlopen(url) data = json.load(response) characterLevel = str(data['level']) faction = str(data['faction']) totalHonorableKills = str(data['totalHonorableKills']) icon = str("https://render-api-us.worldofwarcraft.com/static-render/us/" ) + str(data['thumbnail']) race = str(data['race']) achivementPoints = str(data['achievementPoints']) gender = str(data['gender']) gameClass = str(data['class']) itemLevel = str(data['items']['averageItemLevel']) itemLevelEquipped = str(data['items']['averageItemLevelEquipped']) if Character.objects.filter(characterName=characterName, server=serverName).count() > 0: updatedCharacter = Character.objects.get(characterName=characterName, server=serverName) updatedCharacter.itemLevel = itemLevel updatedCharacter.race = race updatedCharacter.gender = gender updatedCharacter.gameClass = gameClass updatedCharacter.itemLevelEquipped = itemLevelEquipped updatedCharacter.lastArmoryUpdate = datetime.datetime.now() updatedCharacter.iconURL = icon updatedCharacter.level = characterLevel updatedCharacter.characterHonorableKills = totalHonorableKills updatedCharacter.faction = faction updatedCharacter.achivementPoints = achivementPoints updatedCharacter.save() return 'Updated Character' else: newCharacter = Character(characterName=characterName, server=serverName, level=characterLevel, itemLevel=itemLevel, itemLevelEquipped=itemLevelEquipped, lastArmoryUpdate=datetime.datetime.now(), characterHonorableKills=totalHonorableKills, achivementPoints=achivementPoints, gender=gender, race=race, iconURL=icon) newCharacter.save() return 'Created Character'
def mutate(self, info, first_name, last_name): names = [] character = Character(status=0, age=0, first_name=first_name if len(first_name) else MName("utils/firstname.txt").New(), last_name=last_name if len(last_name) else MName("utils/surname.txt").New()) character.save() return CreateCharacter(id=character.id, status=character.status, age=character.age, first_name=character.first_name, last_name=character.last_name)
class TestCharacterSerializer(TestCase): def setUp(self): self.character = Character(name='Test', role=Character.DAMAGE) self.character.save() def testSerializingCharacter(self): """ Test if character serialization works correctly """ expected_data = { 'id': self.character.id, 'name': self.character.name, 'role': self.character.role } serializer = CharacterSerializer(self.character) self.assertEqual( expected_data, serializer.data, 'Serializer should return data in expected format' ) def testDeserializingCharacter(self): """ Test if character deserialization works correctly """ newData = { 'name': 'New character', 'role': Character.TANK } serializer = CharacterSerializer(data=newData) self.assertTrue( serializer.is_valid(), 'Serialization of correct data is valid' ) self.assertEqual( serializer.validated_data['name'], newData['name'], 'Serialized data should have the same character name as in data' ) self.assertEqual( serializer.validated_data['role'], newData['role'], 'Serialized data should have the same role as in data' )
def create_character(request): if (request.method == "GET"): return render(request, 'characters/character/edit.html', {}) if (request.POST.get('name', None) is not None): c = Character(name=request.POST['name']) c.user = request.user c.save() si = StreamItem( action_type='C', user=request.user, content_type=ContentType.objects.get_for_model(Character), object_id=c.id) si.save() return HttpResponseRedirect(c.get_absolute_url()) else: messages.add_message( request, messages.ERROR, '<div class="error">You must enter a name!</div>') return render(request, 'characters/character/edit.html', {})
def handle(self, *args, **options): data_string = open( '/Users/magnusvaughan/side/a_game_of_django/characters/json/character.json' ).read() data = json.loads(data_string) for person in data: if not isinstance(person['Name'], str): person['Name'] = '' if not isinstance(person['Culture'], str): person['Culture'] = '' if not isinstance(person['Born'], str): person['Born'] = '' if not isinstance(person['Died'], str): person['Died'] = '' if not isinstance(person['Father'], str): person['Father'] = '' if not isinstance(person['Mother'], str): person['Mother'] = '' if not isinstance(person['Spouse'], str): person['Spouse'] = '' from characters.models import Character record = Character(id=person['Id'], name=person['Name'], is_female=person['IsFemale'], culture=person['Culture'], titles=person['Titles'], aliases=person['Aliases'], born=person['Born'], died=person['Died'], father=person['Father'], mother=person['Mother'], spouse=person['Spouse'], children=person['Children'], allegiances=person['Allegiances'], books=person['Books'], pov_books=person['PovBooks'], played_by=person['PlayedBy'], tv_series=person['TvSeries']) record.save()
def do_create(request): if len(request.POST.get('name', '')) not in range(2, 50): messages.error(request, "Input validation failed.") return redirect('characters:create') if Character.objects.filter(user=request.user, active=True).count() > 2: messages.error(request, "You have reached the maximal number of characters.") return redirect('characters:create') if Character.objects.filter(name=request.POST.get('name', '')).exists(): messages.error(request, "A character with this name already exists.") return redirect('characters:create') character = Character( user=request.user, name=request.POST['name'], active=True, ) character.save() return redirect('characters:list')
def _createSampleData(self): self.users = [ User.objects.create_user('jimlahey'), User.objects.create_user('randy'), User.objects.create_user('user_without_matches') ] for u in self.users: u.set_password('testTEST') u.save() self.characters = [ Character(name='char1', role=Character.SUPPORT), Character(name='char2', role=Character.DAMAGE), ] for c in self.characters: c.save() self.matches = [ Match( mmr_after=2000, user=self.users[0], ), Match( mmr_after=3000, user=self.users[0], ), Match( mmr_after=3000, user=self.users[1], ), Match( mmr_after=2000, user=self.users[1], ), ] for m in self.matches: m.save() self.matches[0].characters.set([self.characters[0]]) self.matches[1].characters.set([self.characters[1]]) self.matches[2].characters.set([self.characters[0]]) self.matches[3].characters.set([self.characters[0], self.characters[1]]) for m in self.matches: m.save()
def create_character(request): name_form = CharacterNameForm() if request.user.character_set.count() == 0: text = "Welcome to mercenaries, blabla its time to choose a name for your mercenary" else: text = "You died! If you want to start over and seek revenge, blabla, enter a new name and start again" if request.POST: name_form = CharacterNameForm(request.POST) if name_form.is_valid(): name = name_form.cleaned_data['name'] #create character Character.create(request.user, name) return HttpResponseRedirect(reverse('index')) return render(request, 'create_character.html', { "name_form": name_form, "text": text })
def new(request): steam = Steam.objects.get(userId = request.user.username) char = Character(user = steam) char.save() char.name = "Character Nro: "+char.id char.save() return redirect('characters/'+char.id+'/')
def create(request): """Rendering view for character creation. """ if request.method == 'POST': form = CharacterCreationForm(request.POST) if form.is_valid(): buildings = Buildings.objects.all() resources = Resources.objects.all() character = Character( user_id=request.session.get('user_id'), character_class_id=form.cleaned_data['character_class'], name=form.cleaned_data['name'], image=form.cleaned_data['image'], ) character.save() village = Village( name="Default village "+str(character.id), character_id=character.id, ) village.save() for building in buildings: buildings_in_village = BuildingsInVillage( village_id=village, building_id=building, level=0, ) buildings_in_village.save() for resource in resources: resources_in_village = ResourcesInVillage( village_id=village, resource_id=resource, amount=40000, capacity=50000, ) resources_in_village.save() return redirect('index') elif request.method == 'GET': form = CharacterCreationForm() return render(request,'characters/create.html', {'form': form})
def new(request): if request.user.is_anonymous(): return render_to_response('tf2rpg/index.html', {}, context_instance=RequestContext(request)) if request.user.is_authenticated(): steam = Steam.objects.get(userId = request.user.id) char = Character(user = steam, name=" ", age=0, gender="Male") char.save() char.name = "Character Nro: "+str(char.id) char.save() return HttpResponseRedirect(settings.SITE_URL+'/characters/'+str(char.id)+'/first_level') else: return render_to_response('tf2rpg/index.html', {}, context_instance=RequestContext(request))
def add_training_points_to_character(character: Character): if (character.busy): training = Training.objects.filter(character=character).first() character.growth_points += training.number_completed_training + 1 character.save() return True
def toogle_character_busy(character: Character): character.busy = not character.busy character.save()
class TestMatchesViewset(TestCase): def setUp(self): self.character = Character(name='Test', role=Character.DAMAGE) self.character.save() self.owner = User.objects.create_user('owner') self.notOwner = User.objects.create_user('notowner') self.match = Match(user=self.owner, mmr_after=1000) self.match.save() self.match.characters.set([self.character]) self.client = APIClient() API_MATCHES_LIST_URL = '/api/matches/' def testListsOnlyMatchesOfLoggedUser(self): """ GET request to API_MATCHES_LIST_URL should return only matches of logged user """ self.client.force_authenticate(user=self.owner) response = self.client.get(self.API_MATCHES_LIST_URL) self.assertEqual( status.HTTP_200_OK, response.status_code, 'Request response code should be 200 (OK)' ) self.assertEqual( 1, len(response.data), 'Response data should contain 1 object' ) self.assertEqual( self.match.pk, response.data[0]['id'], 'Object in response data should be match that belongs to user' ) self.client.logout() self.client.force_authenticate(user=self.notOwner) response = self.client.get(self.API_MATCHES_LIST_URL) self.assertEqual( status.HTTP_200_OK, response.status_code, 'Request response code should be 200 (OK)' ) self.assertEqual( 0, len(response.data), 'Response data should contain 0 objects' ) self.client.logout() API_MEW_MATCH_URL = API_MATCHES_LIST_URL def testCreatedMatchBelongsToCurrenltyLoggedInUser(self): """ POST request to API_NEW_MATCH_URL should automatically assign User """ data = { 'characters': [self.character.pk], 'mmr_after': 5000 } self.client.force_authenticate(user=self.owner) response = self.client.post(self.API_MEW_MATCH_URL, data=data) self.assertEqual( status.HTTP_201_CREATED, response.status_code, 'Request response code should be 201 (Created)' ) new_match = Match.objects.get(id=response.data['id']) self.assertEqual( new_match.user, self.owner, 'User field of recently created match should be assigned to currently logged user' ) self.client.logout()
def setUp(self): self.character = Character(name='Test', role=Character.DAMAGE) self.character.save()
price=car[7], ) new_car.save() add_ranks() add_regions() add_base_values() add_travel_methods() add_transports() add_armors() add_guns() add_cars() user = User.objects.get(username="******") Character.create(user, name="Marmotte") new = ExtendUser(user=user, ) new.save() def add_single_player_jobs(): #add short jobs the_type = SinglePlayerJob.SHORT the_jobs = ( ("Teach self defence to a group of children.", the_type, True, 10, 25, 500, 25, 30, 95, 35), ("Help the local police force maintain their guns.", the_type, True, 8, 50, 650, 30, 20, 92, 25), ("Clean the toilets in the barracks.", the_type, True, 7, 30, 900, 17, 15, 83, 65),