def post(self, request): code = request.data["code"] CLIENT_ID = settings.SPOTIFY_CLIENT_ID CLIENT_SECRET = settings.SPOTIFY_CLIENT_SECRET REDIRECT_URI = settings.REDIRECT_URI auth_info = spotify_wrapper.exchange_code(CLIENT_ID, CLIENT_SECRET, REDIRECT_URI, code) access_token = auth_info["access_token"] spotify = tk.Spotify(access_token) user_info = spotify.current_user() user_id = user_info.id user_email = user_info.email user = User.objects.filter(username=user_id) # If this is a new user, create an entry for them if len(user) == 0: new_user = User.objects.create_user( user_id, user_email, "", first_name=user_info.display_name) new_user.set_unusable_password() new_user.save() new_user_profile = Profile(user=new_user) new_user_profile.save() new_user_data = SpotifyApiData( user=new_user, access_token=auth_info["access_token"], refresh_token=auth_info["refresh_token"], access_expires_at=timezone.now() + datetime.timedelta(seconds=auth_info["expires_in"]), ) new_user_data.save() new_user_options = PlaylistOptions(user=new_user) new_user_options.save() user = new_user else: user = user[0] refresh = RefreshToken.for_user(user) return Response({ "refresh": str(refresh), "access": str(refresh.access_token), })
def profiles(request): if request.method == 'GET': user = request.GET.get('user', request.GET.get('user', None)) title = request.GET.get('title', None) profiles = Profile.objects.all() serializer = ProfileSerializer(profiles, many=True) return Response(data=serializer.data, status=status.HTTP_200_OK) if request.method == 'DELETE': Profile.objects.all() profile.delete() return Response(status=status.HTTP_200_OK) if request.method == 'POST': profiles = request.data.get('profiles', None) for profile in profiles: user = profile.get('user', None) gender = profile.get('gender', None) age = profile.get('age', None) occupation = profile.get('occupation', None) if not (user and gender and age): continue Profile(user=user, gender=gender, age=age, occupation=occupation).save() return Response(status=status.HTTP_200_OK)
def apiProfile(request): error = 'bad Json: ' try: if request.method == 'GET': answer = toJson(Profile.objects.all()) return HttpResponse(answer) data = request.body data = json.loads(data) if request.method == 'POST': query = data['query'] email = data['email'] try: if query == 'select': p = Profile.objects.filter(email=email) return HttpResponse(toJson(p)) except: error = 'Profile ' + email + ' dose not exist.' if request.method == 'PUT': try: email = data['email'] surname = data['surname'] name = data['name'] passowrd = data['password'] age = data['age'] p = Profile(email=email,surname=surname,name=name,password=passowrd,age=age) p.save() return HttpResponse('created/updated ' + email) except: error = 'missing informations' if request.method == 'DELETE': email = data['email'] try: p = Profile.objects.filter(email=email)[0].delete() except: error = 'Profile ' + email + ' dose not exist.' return HttpResponse('deleted ' + email) except: return HttpResponse('Bad Json')
def userData(id): user = User.query.get(id) profile = Profile.query.get(id) if user is None: raise APIException( 'El usuario con el id especificado, no fue encontrado.', status_code=403) data_request = request.get_json() try: return jsonify(User.serialize(user), Profile.serialize(profile)), 200 except AssertionError as exception_message: return jsonify(msg='Error: {}. '.format(exception_message)), 400
def profile_edit(request): token = request.POST.get('token') first_name = request.POST.get('first_name') last_name = request.POST.get('last_name') info = request.POST.get('info') email = request.POST.get('email') file = request.FILES.get('file') roles = request.POST.get('roles') try: obj_token = Token.objects.get(token=token) try: user = User.objects.get(username=obj_token.user.username) # save profile try: profile = Profile.objects.get(user__username=user.username) url_image = str(profile.image) if os.path.exists(url_image): os.remove(url_image) except Profile.DoesNotExist: profile = Profile(user=user) profile.info = info if file != None: profile.image = file profile.save() # save user user.first_name = first_name user.last_name = last_name user.email = email try: user.save() user.groups.clear() group = Group.objects.get(name=roles) group.user_set.add(user) response = {'result': 1, 'message': 'Save success'} except Group.DoesNotExist: group = None response = {'result': 0, 'message': 'Can not add group'} except User.DoesNotExist: response = {'result': 0, 'message': 'Error User'} except Token.DoesNotExist: response = {'result': 0, 'message': 'Error Token'} return JsonResponse(response)
def create(self, validated_data): """ Create for custom profile serializer. """ profile = Profile() username = validated_data.get('username') email = validated_data.get('email') password = validated_data.get('password') skills = validated_data.get('skill_list') # projects = validated_data.get('project_list') profile.user = User.objects.create_user( username=username, email=email, password=password) profile.save() # Todo: Remove the next statement once refactored self.update(profile, validated_data) if skills: for skill in skills: profile.skills.create(**skill) # if projects: # for project in projects: # profile.projects.create(**project) profile.save() return profile
def POST_profiles(request, format): """ Respond to the "POST profiles" request. We create a new profile for the currently logged-in user. """ # Get the request parameters. params = apiHelper.get_params(request, resource_name="profile") error = apiHelper.check_params(params, required_params=["token"], optional_params=["alias", "avatar", "image1", "image2", "image3", "image4", "url", "email", "location", "bio"]) if error != None: return error token = params['token'] alias = params.get("alias") avatar = params.get("avatar") image1 = params.get("image1") image2 = params.get("image2") image3 = params.get("image3") image4 = params.get("image4") url = params.get("url") email = params.get("email") location = params.get("location") bio = params.get("bio") # Check that the login token is still valid. if not session.validate(token): return HttpResponseBadRequest("Invalid token") user = session.get_user(token) # Create a Profile object with the supplied parameters. profile = Profile() profile.user = user profile.alias = alias profile.url = url profile.email = email profile.location = location profile.bio = bio profile.created_at = datetime.datetime.now() profile.updated_at = datetime.datetime.now() profile.save() if avatar != None: profile.avatar_orig.save(avatar.name, avatar) if image1 != None: profile.image1_orig.save(image1.name, image1) if image2 != None: profile.image2_orig.save(image2.name, image2) if image3 != None: profile.image3_orig.save(image3.name, image3) if image4 != None: profile.image4_orig.save(image4.name, image4) # Finally, return the newly-created profile back to the caller. return apiHelper.response({'profile' : profile.own_to_dict()}, format=format, status=HTTP_RESPONSE_POST_OK)
def save_profile(): """ Save profile data. """ user = User.objects.create_superuser("jblouse", "*****@*****.**", "password", first_name="Jared", last_name="Blouse") profile = Profile(user=user) profile.save() return profile, user
def setUp(self): User.objects.create_superuser("jblouse", "*****@*****.**", "password") user = User.objects.get(username="******") profile = Profile() profile.user = user profile.save() tag = Tag() tag.name = "TEST TAG" tag.save() tag2 = Tag() tag2.name = "TEST TAG2" tag2.save() self.client.force_authenticate(user=user) self.user = user profile_fk_url = "/profiles/{0}/".format(self.user.profile.id) tag_fk_url = "/tags/{0}/".format(tag.id) tag2_fk_url = "/tags/{0}/".format(tag2.id) self.email_url = reverse("email-list") self.email_data = {"user": self.user.pk, "email_address": "*****@*****.**", "email_profile": profile_fk_url} self.tag_url = reverse("tag-list") self.tag_data = {"user": self.user.pk, "name": "code-tag"} self.project_url = reverse("project-list") self.project_data = {"description": "test description", "tag": tag_fk_url, "project_profile": profile_fk_url} self.certification_url = reverse("certification-list") self.cert_data = {"name": "certified", "date_earned": "2014-05-01", "certification_profile": profile_fk_url} self.address_url = reverse("address-list") self.address_data = { "name": "address", "street": "123 street", "line_2": "Suite 1", "city": "Austin", "state": "TX", "zip_code": "78686", "address_profile": profile_fk_url, } self.address_short_data = { "name": "address", "city": "Austin", "state": "TX", "address_profile": profile_fk_url, } self.profile_url = "/profiles/" self.profile_small_data = { "username": "******", "password": "******", "home_phone": "123-456-7890", "email": "*****@*****.**", "skill_list": [{"name": "test skill"}, {"name": "skill 2"}], } self.company_url = reverse("employment-list") self.company_data = {"company": "Corpseware", "tag": tag2_fk_url, "employment_profile": profile_fk_url} self.school_url = reverse("education-list") self.school_data = {"school": "Corpseware", "education_profile": profile_fk_url} self.headline_url = reverse("headline-list") self.headline_data = {"description": "Experienced python developer.", "headline_profile": profile_fk_url} self.hobby_url = reverse("hobby-list") self.hobby_data = {"description": "Karate", "hobby_profile": profile_fk_url} self.reference_url = reverse("reference-list") self.reference_data = {"name": "James Smith", "reference_profile": profile_fk_url} self.skill_url = reverse("skill-list") self.skill_data = {"name": "python", "level": 9, "years_experience": 7, "skill_profile": profile_fk_url} self.skill_small_data = {"name": "ruby", "skill_profile": profile_fk_url}
import random import time from api.app import db from api.models import Report, Profile, Image LAT = 43.655305 LNG = -79.402269 if __name__ == "__main__": for i in range(2): p = Profile() p.license_plate = ''.join([random.choice('ABCDEFGHIJKLMNOP1234567890') for i in range(8)]) p.vehicle = ''.join(random.choice(['SUV', 'Sedan', 'Truck', 'Van'])) for j in range(random.randint(2, 4)): r = Report( reporter_id=random.randint(0, 345245), report_type=random.choice(['hit', 'witness', 'red-light', 'collision']), timestamp=1566682828+random.randint(-10000, 10000), longitude=LNG+(random.random()), latitude=LAT+(random.random()), analysis_complete=False, video_id=None ) db.session.add(r) db.session.commit() p.reports.append(r)
"furui", "たかぽん", "マルコ", "エネル", "ひとみちゃん", "ヤッホー", "さわお", "よーへい", "ユキタ", "ガウディ", "サモトラケのニケ", "クロネッカー", "座敷わらしポンタ", "うさかめ", "やまねこ", ] for i, name in enumerate(userNames): user = User( email=f"vl2id0aow1qkrt{i+1}@nfakdls.com", fund=random.randint(1000000, 30000000), ) user.set_password("dammy") user.save() profile = Profile( name=name, user=user, ) profile.save()