All pastes #136834 Raw Edit

Someone

public text v1 · immutable
#136834 ·published 2006-08-17 23:03 UTC
rendered paste body
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()