rendered paste bodyimport 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()