def perform_create(self, serializer): clanResponse = clans.get_clan_by_tag( urllib.quote_plus(serializer.validated_data.get('clan_tag'))) if clanResponse.status_code == 404: raise CouldntRetrieveClan(detail="No Results for your clan tag") clanJson = clanResponse.json() serializer.validated_data['name'] = clanJson.get('name') serializer.validated_data['clan_tag'] = clanJson.get("tag")[1:] clan = serializer.save() members = clanJson.get('memberList') if members != None and len(members) > 0: for clan_member in members: mem = Member.objects.filter(game_name=clan_member.get('name'), clan_tag=clan) if len(mem) == 0: m = Member(game_name=clan_member.get('name'), clan_tag=clan) m.save() return clan
def perform_create(self, serializer): clanResponse = clans.get_clan_by_tag(urllib.quote_plus(serializer.validated_data.get('clan_tag'))) enemyClanResponse = clans.get_clan_by_tag(urllib.quote_plus(serializer.validated_data.get('enemy_clan_tag'))) if clanResponse.status_code == 404: raise CouldntRetrieveClan(detail="No Results for your clan tag") if enemyClanResponse.status_code == 404: raise CouldntRetrieveClan(detail="No Results for enemy clan tag") clan = clanResponse.json() enemyClan = enemyClanResponse.json() myClanTag = serializer.validated_data.get('clan_tag')[1:] enemyClanTag = serializer.validated_data.get('enemy_clan_tag')[1:] myClan = Clan.objects.filter(clan_tag=myClanTag) if len(myClan) == 1: myClan = myClan[0]; elif len(myClan) > 1: raise CouldntRetrieveClan(detail="Not a unique clan tag") else: myClan = Clan(name=clan.get('name'), clan_tag=clan.get("tag")[1:]) myClan.save() serializer.validated_data['title'] = "{0} Vs {1}".format(clan.get('name'), enemyClan.get('name')) serializer.validated_data['clan_id'] = myClan.clan_tag members = clan.get('memberList') if members != None: for clan_member in members: mem = Member.objects.filter(game_name=clan_member.get('name'), clan_tag=myClan) if len(mem) == 0: m = Member(game_name=clan_member.get('name'), clan_tag=myClan) m.save() print serializer.validated_data.get('clan_tag') print serializer.validated_data.get('clan_id') war = serializer.save() enemyMembers = enemyClan.get('memberList') if enemyMembers != None: for clan_member in enemyMembers: m = Base(war=war, name = clan_member.get('name')) m.save() return war
def perform_create(self, serializer): clanResponse = clans.get_clan_by_tag(urllib.quote_plus(serializer.validated_data.get('clan_tag'))) if clanResponse.status_code == 404: raise CouldntRetrieveClan(detail="No Results for your clan tag") clanJson = clanResponse.json() serializer.validated_data['name'] = clanJson.get('name') serializer.validated_data['clan_tag'] = clanJson.get("tag")[1:] clan = serializer.save() members = clanJson.get('memberList') if members != None and len(members) > 0: for clan_member in members: mem = Member.objects.filter(game_name=clan_member.get('name'), clan_tag=clan) if len(mem) == 0: m = Member(game_name=clan_member.get('name'), clan_tag=clan) m.save() return clan