2012-01-18 110 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

相关问题