def test_check_sites(self): self.assertEqual( utils.check_sites({ 'website': [ 'https://unsplash.com/new', 'https://www.reddit.com/r/wallpapers/', 'https://www.reddit.com/r/wallpaper/', 'https://www.reddit.com/r/EarthPorn/', 'https://www.reddit.com/r/VillagePorn/', 'https://www.reddit.com/r/pics/', 'https://api.desktoppr.co/1/wallpapers', ] }), { 'desktoppr': True, 'unsplash': True, 'reddit': [ 'https://www.reddit.com/r/wallpapers/', 'https://www.reddit.com/r/wallpaper/', 'https://www.reddit.com/r/EarthPorn/', 'https://www.reddit.com/r/VillagePorn/', 'https://www.reddit.com/r/pics/' ] })
def update_settings_view(appObj, mainFrame, settings): """Update and view default settings when Reset is pressed.""" appObj.pics_folder.set(settings['pics-folder']) appObj.fav_pics_folder.set(settings['fav-pics-folder']) appObj.sites_list = check_sites(settings) appObj.unsplash.set(appObj.sites_list['unsplash']) appObj.desktoppr.set(appObj.sites_list['desktoppr']) if appObj.sites_list['reddit']: appObj.reddit.set(True) toggle_subreddit(appObj, mainFrame) else: appObj.reddit.set(False) toggle_subreddit(appObj, mainFrame) appObj.timeout_val.set(int(int(settings['timeout']) / 60)) appObj.count_val.set(settings["no-of-images"]) appObj.root.update_idletasks() update_settings(settings)
def create_settings_tab(appObj): """Method to create settings tab.""" appObj.new_settings = {} settings_tab = Frame(appObj.notebook) appObj.notebook.add(settings_tab, text="Settings") mainFrame = Frame(settings_tab) mainFrame.grid(row=0, column=0, sticky=W) # Add pics-folder setting pics_folder_label = Label(mainFrame, text="Where pics are stored:") pics_folder_label.grid(row=0, padx=10, pady=10, sticky=W) appObj.pics_folder = StringVar() input_browse = Button( mainFrame, text="Browse", command=lambda: file_open_helper(appObj, appObj.pics_folder)) input_browse.grid(row=0, column=1, padx=10, pady=10, sticky=W) appObj.pics_folder.set(appObj.settings['pics-folder']) choice_label = Label(mainFrame, textvariable=appObj.pics_folder) choice_label.grid(row=0, column=2, padx=10, pady=10, sticky=W) # Add fav-pics-folder setting fav_pics_folder_label = Label(mainFrame, text="Where fav-pics are stored:") fav_pics_folder_label.grid(row=1, padx=10, pady=10, sticky=W) appObj.fav_pics_folder = StringVar() input_browse1 = Button(mainFrame, text="Browse", command=lambda: (file_open_helper(appObj, appObj.fav_pics_folder))) input_browse1.grid(row=1, column=1, padx=10, pady=10, sticky=W) appObj.fav_pics_folder.set(appObj.settings['fav-pics-folder']) choice_label1 = Label(mainFrame, textvariable=appObj.fav_pics_folder) choice_label1.grid(row=1, column=2, padx=10, pady=10, sticky=W) # Add sites. appObj.unsplash = BooleanVar() appObj.reddit = BooleanVar() appObj.desktoppr = BooleanVar() appObj.sites_list = check_sites(appObj.settings) appObj.unsplash.set(appObj.sites_list['unsplash']) appObj.desktoppr.set(appObj.sites_list['desktoppr']) if appObj.sites_list['reddit']: appObj.reddit.set(True) toggle_subreddit(appObj, mainFrame) else: appObj.reddit.set(False) sites_label = Label(mainFrame, text="Where to download from:") sites_label.grid(row=2, padx=10, pady=1, sticky=W) unsplash_radio = Checkbutton(mainFrame, text="Unsplash", var=appObj.unsplash) reddit_radio = Checkbutton(mainFrame, text="Reddit", var=appObj.reddit, command=lambda: (toggle_subreddit(appObj, mainFrame))) desktoppr_radio = Checkbutton(mainFrame, text="Desktoppr", var=appObj.desktoppr) unsplash_radio.grid(row=2, column=1, padx=10, pady=10, sticky=W) reddit_radio.grid(row=3, column=1, padx=10, pady=10, sticky=W) desktoppr_radio.grid(row=4, column=1, padx=10, pady=10, sticky=W) # Timout appObj.timeout_val = StringVar() appObj.timeout_val.set(int(int(appObj.settings['timeout']) / 60)) timeout_label = Label(mainFrame, text="Change Wallpaper in:") timeout = Entry(mainFrame, textvariable=appObj.timeout_val) timeout_label.grid(row=5, padx=10, pady=10, sticky=W) timeout.grid(row=5, column=1, sticky=W) minute_label = Label(mainFrame, text="minutes") minute_label.grid(row=5, column=2, padx=10, pady=10, sticky=W) # Number of images per site appObj.count_val = StringVar() appObj.count_val.set(appObj.settings["no-of-images"]) count_label = Label(mainFrame, text="No. images per site:") count = Entry(mainFrame, textvariable=appObj.count_val) count_label.grid(row=6, padx=10, pady=10, sticky=W) count.grid(row=6, column=1, sticky=W) # Apply apply_button = Button(mainFrame, text="Apply", command=lambda: handle_settings(appObj)) apply_button.grid(row=7, column=1, pady=10, sticky=W) # Reset default_button = Button( mainFrame, text="Reset", command=lambda: (update_settings_view(appObj, mainFrame, DEFAULT_SETTINGS))) default_button.grid(row=7, column=2, pady=10, sticky=W)
def create_settings_tab(self): """Method to create settings tab.""" self.new_settings = {} settings_tab = Frame(self.notebook) self.notebook.add(settings_tab, text="Settings") mainFrame = Frame(settings_tab) mainFrame.grid(row=0, column=0, sticky=W) # Add pics-folder setting pics_folder_label = Label(mainFrame, text="Where pics are stored:") pics_folder_label.grid(row=0, padx=10, pady=10, sticky=W) input_browse = Button(mainFrame, text="Browse", command=self.file_open_helper) input_browse.grid(row=0, column=1, padx=10, pady=10, sticky=W) self.pics_folder = StringVar() self.pics_folder.set(self.settings['pics-folder']) choice_label = Label(mainFrame, textvariable=self.pics_folder) choice_label.grid(row=0, column=2, padx=10, pady=10, sticky=W) # Add sites. self.unsplash = BooleanVar() self.reddit = BooleanVar() self.desktoppr = BooleanVar() self.sites_list = check_sites(self.settings) self.unsplash.set(self.sites_list['unsplash']) self.desktoppr.set(self.sites_list['desktoppr']) if self.sites_list['reddit']: self.reddit.set(True) self.toggle_subreddit(mainFrame) else: self.reddit.set(False) sites_label = Label(mainFrame, text="Where to download from:") sites_label.grid(row=1, padx=10, pady=1, sticky=W) sites = ('unsplash', 'reddit', 'desktoppr') unsplash_radio = Checkbutton(mainFrame, text="Unsplash", var=self.unsplash) reddit_radio = Checkbutton(mainFrame, text="Reddit", var=self.reddit, command=lambda: (self.toggle_subreddit(mainFrame))) desktoppr_radio = Checkbutton(mainFrame, text="Desktoppr", var=self.desktoppr) unsplash_radio.grid(row=1, column=1, padx=10, pady=10, sticky=W) reddit_radio.grid(row=2, column=1, padx=10, pady=10, sticky=W) desktoppr_radio.grid(row=3, column=1, padx=10, pady=10, sticky=W) # Timout self.timeout_val = StringVar() self.timeout_val.set(int(self.settings['timeout']) / 60) timeout_label = Label(mainFrame, text="Change Wallpaper in:") timeout = Entry(mainFrame, textvariable=self.timeout_val) timeout_label.grid(row=4, padx=10, pady=10, sticky=W) timeout.grid(row=4, column=1, sticky=W) minute_label = Label(mainFrame, text="minutes") minute_label.grid(row=4, column=2, padx=10, pady=10, sticky=W) # Number of images per site self.count_val = StringVar() self.count_val.set(self.settings["no-of-images"]) count_label = Label(mainFrame, text="No. images per site:") count = Entry(mainFrame, textvariable=self.count_val) count_label.grid(row=5, padx=10, pady=10, sticky=W) count.grid(row=5, column=1, sticky=W) # Apply apply_button = Button(mainFrame, text="Apply", command=self.handle_settings) apply_button.grid(row=6, column=1, pady=20, sticky=W)