Esempio n. 1
0
 def onBtnUpdate(self):
     logging.info("Update status...")
     msg=self.plainTextEdit.toPlainText()
     if not msg and not self.img:
         self.alert(u"文字与图片必须输入至少一个!")
         return
     if not msg :
         msg=time.strftime("%Y-%m-%d %H:%M:%S",time.localtime())
     if os.path.isfile(self.img):
         resp=self.xkongfan.PhotosUpload(self.img,msg)
     else:
         resp=self.xkongfan.Update(msg)
     if resp['rawid']:
         self.img=""
         self.plainTextEdit.setPlainText("")
         self.btnShowSelectedImage.setText(u"")
         if os.path.isfile(self.convertedImg):
             os.remove(self.convertedImg)
         self.convertedImg=""
         self.cf.readfp(codecs.open(self.CONFIGFILE,"r","utf-8"))
         switch=self.cf.get("Manage","auto_minimize")
         if switch=="true":
             self.hide()
         logging.info("Staus Updated.")
     else:
         logging.error("Error when update status:MSG:%s"%msg)
         self.alert(u"消息更新失败……")
Esempio n. 2
0
 def apiOpen(self,url,data=None,POST=False):
     u'''ApiOpen,打开url,返回resp'''
     logging.info('ApiOpenStarted.')
     if POST :
         HTTP_METHOD='POST'
     else:
         HTTP_METHOD='GET'
     consumer = oauth.OAuthConsumer(consumer_key, consumer_secret)
     oauth_token=oauth.OAuthToken(self.key,self.secret)
     request=oauth.OAuthRequest.from_consumer_and_token(consumer,
                                                         token=oauth_token,
                                                         http_method=HTTP_METHOD,
                                                         http_url=url,
                                                         parameters=data)
     signature_method = oauth.OAuthSignatureMethod_HMAC_SHA1()
     request.sign_request(signature_method,consumer,oauth_token)
     headers=self.request_to_header(request)
     if data!=None :
         data=urllib.urlencode(data)
     else:
         data=''
     if not POST:
         url+='?'+data
         data=None
     try:
         html = urllib2.urlopen(urllib2.Request(url,data,headers=headers))
         resp = html.read()
     except urllib2.URLError,e:
         if hasattr(e,'reason'):
             error = e.reason
         else:
             error = str(e)
         logging.error('ApiOpen:URLError:%s'%error)
         self.parent.alert(u'URLError:%s'%error)
         sys.exit(0)
Esempio n. 3
0
 def getTokenByAccount(self,username,passwd):
     u'''通过用户账户获取token'''
     logging.info('Get token by user account.')
     consumer = oauth.OAuthConsumer(consumer_key, consumer_secret)
     params = {}
     params['x_auth_username'] = username
     params['x_auth_password'] = passwd
     params['x_auth_mode'] = 'client_auth'
     request = oauth.OAuthRequest.from_consumer_and_token(consumer,
                                                          http_url=access_token_url,
                                                          parameters=params)
     signature_method = oauth.OAuthSignatureMethod_HMAC_SHA1()
     request.sign_request(signature_method, consumer, None)
     headers=self.request_to_header(request)
     try:
         resp = urllib2.urlopen(urllib2.Request(access_token_url, headers=headers))
     except Exception,e:
         if hasattr(e,'code'):
             logging.error('GetTokenByAccount:Error:%s'%e.code)
             return None,None
         else:
             logging.error('GetTokenByAccount:Error:%s'%e)
             return None,None
Esempio n. 4
0
            if hasattr(e,'code'):
                logging.error('GetTokenByAccount:Error:%s'%e.code)
                return None,None
            else:
                logging.error('GetTokenByAccount:Error:%s'%e)
                return None,None
        else:
            token = resp.read()
            m = re.match(r'oauth_token=(?P<key>[^&]+)&oauth_token_secret=(?P<secret>[^&]+)', token)
            if m:
                oauth_token_key=m.group('key')
                oauth_token_secret=m.group('secret')
                logging.info('Token got.')
                return oauth_token_key,oauth_token_secret
            else:
                logging.error('Not a valid resp.Cann\'t get token.')
                return None,None

    def setToken(self,oauth_token_key,oauth_token_secret):
        u'''设置token'''
        self.key=oauth_token_key
        self.secret=oauth_token_secret

    def saveToken(self,key,secret):
        u'''保存key,secret'''
        logging.info('Save token.')
        k=Crypto().encrypt(key)
        v=Crypto().encrypt(secret)
        cf=ConfigParser.ConfigParser()
        if not os.path.isfile(CONFIGFILE):
            f=open(CONFIGFILE,'w')