2012-01-18 202 views
0

我正在嘗試使用Gtk3和Python開發桌面應用程序。它基本上是一個Twitter客戶端。我本打算將認證設置(訪問令牌和訪問令牌密鑰)存儲在XML文件中。現在我希望在應用程序發佈時閱讀它們。從XML文件讀取Gtk3應用程序的配置設置

我遇到的問題是放置讀取XML文件的代碼的位置。

認證需要以下步驟:

auth = tweepy.OAuthHandler(cons_key,cons_secret) 
auth.set_access_token(access_token,access_token_secret) 
api = tweepy.API(auth) 

我不能把讀取的代碼在主窗口的構造函數,該窗口打開時一樣,爲獲得鳴叫方法被調用。我已將我的代碼放在github上。

的XML文件如下:

<?xml version="1.0" ?> 
<credentials> 
<access_token> 
    76611638-TSnLa31lRXEp3qBNpxKmi2gyiW0jCLpOKeEsK5i6A 
</access_token> 
<access_token_secret> 
    wgC9xwGpCMOQQtDazOZF7wtvCA5MrtcaLT6gLv1vdE 
</access_token_secret> 
</credentials> 

回答

0

UPDATE

嘗試在你的程序開始讀取XML(與lxm)。 使用從xml讀取的數據初始化您的api

MainWindow.__init__()

申報/創建self.myapi=api

使用self.myapi在你的類方法(MainWindow的方法)和api在你的函數。

OLD

你爲什麼不嘗試移動:

auth=tweepy.OAuthHandler(cons_key,cons_secret) 
auth.set_access_token(access_token,access_token_secret) 
api=tweepy.API(auth) 

到:

#Class of the main window 
class MainWindow(): 
    #Main Window constructor 
    def __init__(self): 
     message=['','','','','','','','','',''] 
     users=['','','','','','','','','',''] 
     image_url=['','','','','','','','','',''] 

     #read xml here (with lxml) 
     #get credentials 
     #get auth 

     statuses=api.home_timeline() 
     loader=GdkPixbuf.PixbufLoader() 

如果這不起作用,請讓我知道。

+0

我無法推送文件的閱讀,因爲我的推文和流的方法是在類之外,他們使用api對象。爲了避免錯誤,我嘗試在類之前初始化api對象,並將token值設置爲null,然後使用從文件讀取的實際值重新初始化api對象,但正因爲如此,令牌過期。 – 2012-01-18 18:45:04

+0

我已經更新了我上面的答案。 – aayoubi 2012-01-18 20:07:02

+0

它不會工作,就好像沒有訪問令牌一樣,會出現錯誤。無論如何,我設法形成與班級本身和現在工作的職能。只需拿到授權部分,當訪問令牌不存在 – 2012-01-18 20:07:24

相關問題