def getUsers(request, api_url, oauth_token, oauth_token_secret): consumer = oauth.Consumer(settings.PLURK_APP_KEY, settings.PLURK_APP_SECRET) token = oauth.Token(oauth_token, oauth_token_secret) client = oauth.Client(consumer, token) params = { 'oauth_signature_method': 'HMAC-SHA1', 'oauth_nonce': oauth.generate_nonce(), 'oauth_timestamp': oauth.generate_timestamp(), 'oauth_token': oauth_token } req = oauth.Request.from_consumer_and_token(consumer=consumer, token=token, http_method='GET', http_url=api_url, parameters=params) req.sign_request(oauth.SignatureMethod_HMAC_SHA1(), consumer, token) #response, content = client.request(api_url, method=method, headers=req.to_header()) #content = dict(parse_qsl(content)) response, content = client.request(api_url, method='GET', headers=req.to_header()) #if response['status'] != '200': # raise Exception(content) content = json.loads(content) content = content["user_info"] user = request.user if user.is_authenticated(): try: dono = PlurkUser.objects.get(username=content["nick_name"]) return HttpResponse("mohon maap akun sudah di daftarkan") except PlurkUser.DoesNotExist: plurk = PlurkUser(username=content["nick_name"].lower()) plurk.user_id = str(content["id"]) plurk.user = request.user plurk.oauth_token = oauth_token plurk.oauth_secret = oauth_token_secret plurk.save() return HttpResponseRedirect(_get_next(request)) else: try: plurk_user = PlurkUser.objects.get(username=content["nick_name"]) user = plurk_user.authenticate() login(request, user, 'plurk') return HttpResponseRedirect(_get_next(request)) except PlurkUser.DoesNotExist: username = content["nick_name"].lower() username = re.sub(r'([^a-zA-Z0-9_-]*)', '', username) try: User.objects.get(username=username) d = User.objects.only('username') while True: ran = random.randint(0, 1000) username = username+str(ran) if not username in d: break except User.DoesNotExist: pass user = User(username=username) if user.display_name is None: user.display_name = content["full_name"] user.display_name = username user.save() plurk = PlurkUser(username=content["nick_name"]) plurk.user_id = str(content["id"]) plurk.user = user plurk.oauth_token = oauth_token plurk.oauth_secret = oauth_token_secret plurk.save() user = plurk.authenticate() login(request, user, 'plurk') return HttpResponseRedirect(_get_next(request))