import threading import config import rss import wx class main_window(wx.Frame): def __init__(self,parent,id, title): "Create the controls" wx.Frame.__init__(self,parent, wx.ID_ANY, title, wx.Point(350, 175), size = (240, 375)) sizer_main = wx.BoxSizer(wx.VERTICAL) self.label_rss_url = wx.StaticText(self, -1, "RSS Feed:") self.text_rss_url = wx.TextCtrl(self, 1, "") sizer_url = wx.BoxSizer(wx.VERTICAL) sizer_main.Add(sizer_url, 0, wx.TOP | wx.EXPAND, 0) sizer_url.Add(self.label_rss_url, 0, wx.TOP | wx.LEFT | wx.RIGHT | wx.EXPAND, 5) sizer_url.Add(self.text_rss_url, 0, wx.TOP | wx.LEFT | wx.RIGHT | wx.EXPAND, 5) self.label_keywords = wx.StaticText(self, -1, "Keywords:") self.text_edit_keywords = wx.TextCtrl(self, -1, "") self.list_keywords = wx.ListBox(self, 2) sizer_keywords_1 = wx.BoxSizer(wx.VERTICAL) sizer_main.Add(sizer_keywords_1, 1, wx.TOP | wx.EXPAND, 0) sizer_keywords_1.Add(self.label_keywords, 0, wx.TOP | wx.LEFT | wx.RIGHT | wx.EXPAND, 5) sizer_keywords_1.Add(self.text_edit_keywords, 0, wx.TOP | wx.LEFT | wx.RIGHT | wx.EXPAND, 5) sizer_keywords_1.Add(self.list_keywords, 1, wx.TOP | wx.LEFT | wx.RIGHT | wx.EXPAND, 5) self.button_add_keyword = wx.Button(self, 3, "Add") wx.EVT_BUTTON(self, 3, self.button_add_click) self.button_edit_keyword = wx.Button(self, 4, "Edit") wx.EVT_BUTTON(self, 4, self.button_edit_click) self.button_delete_keyword = wx.Button(self, 5, "Delete") wx.EVT_BUTTON(self, 5, self.button_del_click) sizer_keywords_2 = wx.BoxSizer(wx.HORIZONTAL) sizer_main.Add(sizer_keywords_2, 0, wx.TOP | wx.EXPAND, 0) sizer_keywords_2.Add(self.button_add_keyword, 1, wx.EXPAND | wx.ALL, 5) sizer_keywords_2.Add(self.button_edit_keyword, 1, wx.EXPAND | wx.ALL, 5) sizer_keywords_2.Add(self.button_delete_keyword, 1, wx.EXPAND | wx.ALL, 5) self.label_downloaded = wx.StaticText(self, -1, "Downloaded:") self.list_downloaded = wx.ListBox(self, 6) sizer_downloaded = wx.BoxSizer(wx.VERTICAL) sizer_main.Add(sizer_downloaded, 1, wx.TOP | wx.EXPAND, 0) sizer_downloaded.Add(self.label_downloaded, 0, wx.TOP | wx.LEFT | wx.RIGHT | wx.EXPAND, 5) sizer_downloaded.Add(self.list_downloaded, 1, wx.TOP | wx.LEFT | wx.RIGHT | wx.BOTTOM | wx.EXPAND, 5) self.SetAutoLayout(True) self.SetSizer(sizer_main) self.Layout() self.Show(True) self.load_config() self.start_timer() def button_add_click(self, event): text = self.text_edit_keywords.GetValue() if text <> '': self.list_keywords.InsertItems([text], 0) self.text_edit_keywords.SetValue('') def button_edit_click(self, event): selected = self.list_keywords.GetSelections()[0] self.text_edit_keywords.SetValue(self.list_keywords.GetString(selected)) self.list_keywords.Delete(selected) def button_del_click(self, event): selected = self.list_keywords.GetSelections()[0] self.list_keywords.Delete(selected) def add_downloaded(self, name): self.list_downloaded.InsertItems([name], 0) def start_timer(self): self.update_rss_feed() self.timer = threading.Timer(5 * 60, update_rss_feed) self.timer.start() def update_rss_feed(self): self.torrents = rss.get_list() self.check_torrents() def check_torrents(): self.downloaded = [] downloaded = open('./downloaded', 'r') for line in downloaded: self.downloaded.append(line) print self.downloaded def load_config(self): config.check_exist() self.text_rss_url.AppendText(config.get_rss_url()) self.list_keywords.InsertItems(config.get_keywords_list(), 0) app = wx.PySimpleApp() frame = main_window(None, -1, "SuperTorrents Notify") app.MainLoop()