Example #1
0
def sendQQWeibo(self,text,imgno=None):
    userAccessToken=UserAccessToken().all().fetch(1) 
    if userAccessToken and userAccessToken[0].qqisright:
        useracc=userAccessToken[0]
    else:
        return True
    self.auth = qqOAuthHandler(webSetting.qqconsumer_key, webSetting.qqconsumer_secret)
    self.auth.setToken(useracc.qqToken, useracc.qqSecret)
    self.api = qqAPI(self.auth)



    try:
        if imgno:
#                image = urlfetch.fetch(
#                    url =setting[0].dbphotoWebSite+'/s/'+imgno,
#                    payload = {},
#                    method = urlfetch.GET,
#                    headers = {'Content-Type':'application/x-www-form-urlencoded',
#                               'User-Agent':'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2) Gecko/20100115 Firefox/3.6'},
#                    follow_redirects = True,deadline=10)
#                if image.status_code==200:
#                    bf=db.Blob(image.content)
            result=self.api._t_add_pic(filename=imgno,content=text.encode('utf-8'),clientip='64.233.172.33')
#                else:
#                    result=self.api.update_status(status=text[:139].encode('utf-8'))
        else:
            result=self.api._t_add(content=text.encode('utf-8'),clientip='64.233.172.33')
    except Exception,e:
        logging.info('qq'+str(e))
        if str(e).find('40025')==-1:
            self.error(500)
            return False
Example #2
0
def sendQQWeibo(request,text,imgno=None):
    weiboquery=WeiBo.objects.filter(user=request.user).filter(type="teng")
    if 0==weiboquery.count():
        return True
    weibo=weiboquery[0]
    auth = qqOAuthHandler(qqconsumer_key, qqconsumer_secret)
    auth.setToken(weibo.token1, weibo.token0)
    api = qqAPI(auth)



    try:
        if imgno:
#                image = urlfetch.fetch(
#                    url =setting[0].dbphotoWebSite+'/s/'+imgno,
#                    payload = {},
#                    method = urlfetch.GET,
#                    headers = {'Content-Type':'application/x-www-form-urlencoded',
#                               'User-Agent':'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2) Gecko/20100115 Firefox/3.6'},
#                    follow_redirects = True,deadline=10)
#                if image.status_code==200:
#                    bf=db.Blob(image.content)
            result=api._t_add_pic(filename=imgno,content=text.encode('utf-8'),clientip='64.233.172.33')
#                else:
#                    result=self.api.update_status(status=text[:139].encode('utf-8'))
        else:
            result=api._t_add(content=text.encode('utf-8'),clientip='64.233.172.33')
    except Exception,e:
        logging.info('qq'+str(e))
        if str(e).find('40025')==-1:
            return False
Example #3
0
def weiboLogin(request):
    # 保存最初的登录url,以便认证成功后跳转回来
#    back_to_url = _get_referer_url(request)
#    request.session['login_back_to_url'] = back_to_url
    website=request.REQUEST.get('website')
    if hasattr(request,'environ'):
        host_url='http://'+request.environ.get('HTTP_HOST','/')
    if hasattr(request,'META'):
        host_url='http://'+request.META.get('HTTP_HOST','/')
    fromurl=request.REQUEST.get('fromurl',None)
    if not fromurl:
        if hasattr(request,'environ'):
            fromurl=request.environ.get('HTTP_REFERER','/')
        if hasattr(request,'META'):
            fromurl=request.META.get('HTTP_REFERER','/')
#    fromurl=''
    fromurl=urllib.urlencode({'fromurl':fromurl})
    # 获取oauth认证url
#    setting=Setting().all().fetch(1)
#    if setting:
#        setting=setting[0]
#    else:
#        return
    if 'sina'==website:
        return
#        login_backurl =host_url+'/weibo/login_check?website=sina'
#        login_backurl+="&uid=%s&%s"%(request.user.pk,fromurl)
#        auth_client = APIClient(xlconsumer_key,xlconsumer_secret,login_backurl)
#        auth_url = auth_client.get_authorize_url()
#        # 保存request_token,用户登录后需要使用它来获取access_token
##        user_request_token=request.session.get(website+"_request_token1","")
##        if not user_request_token:
##            user_request_token= auth_client.request_token
##            request.session[website+"_request_token1"]=user_request_token
#        # 跳转到登录页面
#        return HttpResponseRedirect(auth_url)
    elif 'wy'==website:
        return
#        login_backurl =host_url+'/weibo/login_check?website=wy'
#        login_backurl+="&uid=%s&%s"%(request.user.pk,fromurl)
#        t = TBlog(wyconsumer_key, wyconsumer_secret)
#        t.get_request_token()
#        url=t.get_auth_url(login_backurl)
#        # 保存request_token,用户登录后需要使用它来获取access_token
#        user_request_token=request.session.get(website+"_request_token3")
#        if not user_request_token:
#            user_request_token= t
#            request.session[website+"_request_token3"]=user_request_token
#        return HttpResponseRedirect(url)
    elif 'teng'==website:
        login_backurl=host_url+'/weibo/login_check?website=teng'
        login_backurl+="&uid=%s&%s"%(request.user.pk,fromurl)
        auth=qqOAuthHandler(qqconsumer_key,qqconsumer_secret,callback=login_backurl)
        url=auth.get_authorization_url()
        # 保存request_token,用户登录后需要使用它来获取access_token
        request.session[website+"_request_token4"]=auth
        return HttpResponseRedirect(url)
Example #4
0
  def get(self):
    # 保存最初的登录url,以便认证成功后跳转回来
#    back_to_url = _get_referer_url(request)
#    request.session['login_back_to_url'] = back_to_url
    website=self.request.get('website')
#    userAccessToken=UserAccessToken()
#    userAccessToken.sinaExpires='1522066881'
#    userAccessToken.sinaSecret='2.00HGNhqCdb1iQBb8eed27af80MRd2r'
#    userAccessToken.put()
#    logging.info(str(UserAccessToken().all().count()))

    # 获取oauth认证url
#    setting=Setting().all().fetch(1)
#    if setting:
#        setting=setting[0]
#    else:
#        return
    if 'sina'==website:
        login_backurl =webSetting.WEIBOURL+'/Admin/login_check?website=sina'
        auth_client = weibo.APIClient(webSetting.xlconsumer_key, webSetting.xlconsumer_secret, login_backurl)

        auth_url = auth_client.get_authorize_url()
        # 保存request_token,用户登录后需要使用它来获取access_token
#        user_request_token=memcache.Client().get(website+"_request_token1")
#        if not user_request_token:
#            user_request_token= auth_client.request_token
#            memcache.Client().set(website+"_request_token1",user_request_token,36000)
        # 跳转到登录页面
        return self.redirect(auth_url)
    elif 'wy'==website:
        login_backurl =self.request.host_url+'/Admin/login_check?website=wy'
        t = TBlog(webSetting.wyconsumer_key, webSetting.wyconsumer_secret)
        t.get_request_token()
        url=t.get_auth_url(login_backurl)
        # 保存request_token,用户登录后需要使用它来获取access_token
        user_request_token=memcache.Client().get(website+"_request_token3")
        if not user_request_token:
            user_request_token= t
            memcache.Client().set(website+"_request_token3",user_request_token,36000)
        return self.redirect(url)
    elif 'teng'==website:
        login_backurl=self.request.host_url+'/Admin/login_check?website=teng'
        auth=qqOAuthHandler(webSetting.qqconsumer_key,webSetting.qqconsumer_secret,callback=login_backurl)
        url=auth.get_authorization_url()
        # 保存request_token,用户登录后需要使用它来获取access_token
        memcache.Client().set(website+"_request_token4",auth,36000)
        return self.redirect(url)