diff -u variety/variety/Options.py /usr/lib/python2.7/site-packages/variety/Options.py --- variety/variety/Options.py 2014-07-17 15:33:00.000000000 +0200 +++ /usr/lib/python2.7/site-packages/variety/Options.py 2014-10-01 22:18:32.966434190 +0200 @@ -44,6 +44,7 @@ MEDIA_RSS = 10 EARTH = 11 PANORAMIO = 12 + WALLHAVEN = 13 type_to_str = { FAVORITES: "favorites", @@ -57,12 +58,13 @@ WALLBASE: "wallbase", MEDIA_RSS: "mediarss", EARTH: "earth", - PANORAMIO: "panoramio" + PANORAMIO: "panoramio", + WALLHAVEN: "wallhaven", } str_to_type = dict((v,k) for k, v in type_to_str.items()) - dl_types = [WN, DESKTOPPR, FLICKR, APOD, WALLBASE, MEDIA_RSS, EARTH, PANORAMIO] + dl_types = [WN, DESKTOPPR, FLICKR, APOD, WALLBASE, MEDIA_RSS, EARTH, PANORAMIO, WALLHAVEN] class LightnessMode: DARK = 0 @@ -457,7 +459,7 @@ self.fetched_folder = os.path.expanduser(u"~/.config/variety/Fetched") self.clipboard_enabled = False self.clipboard_use_whitelist = True - self.clipboard_hosts = "wallbase.cc,ns223506.ovh.net,wallpapers.net,flickr.com,imgur.com,deviantart.com,interfacelift.com,vladstudio.com".split(',') + self.clipboard_hosts = "alpha.wallhaven.cc,wallbase.cc,ns223506.ovh.net,wallpapers.net,flickr.com,imgur.com,deviantart.com,interfacelift.com,vladstudio.com".split(',') self.icon = "Light" @@ -507,7 +509,8 @@ [False, Options.SourceType.APOD, "NASA's Astronomy Picture of the Day"], [True, Options.SourceType.WN, "http://wallpapers.net/nature-desktop-wallpapers.html"], [True, Options.SourceType.FLICKR, "user:www.flickr.com/photos/peter-levi/;user_id:93647178@N00;"], - [True, Options.SourceType.WALLBASE, "autumn"] + [True, Options.SourceType.WALLBASE, "autumn"], + [True, Options.SourceType.WALLHAVEN, "autumn"], ] self.filters = [ diff -u variety/variety/PreferencesVarietyDialog.py /usr/lib/python2.7/site-packages/variety/PreferencesVarietyDialog.py --- variety/variety/PreferencesVarietyDialog.py 2014-07-17 15:33:00.000000000 +0200 +++ /usr/lib/python2.7/site-packages/variety/PreferencesVarietyDialog.py 2014-10-05 16:59:38.283440581 +0200 @@ -35,6 +35,7 @@ from variety.AddMediaRssDialog import AddMediaRssDialog from variety.AddPanoramioDialog import AddPanoramioDialog from variety.EditFavoriteOperationsDialog import EditFavoriteOperationsDialog +from variety.AddWallhavenDialog import AddWallhavenDialog from variety import _, _u @@ -61,6 +62,7 @@ Options.SourceType.FLICKR, Options.SourceType.MEDIA_RSS, Options.SourceType.PANORAMIO, + Options.SourceType.WALLHAVEN, ] @@ -309,6 +311,7 @@ (_("Wallbase.cc"), self.on_add_wallbase_clicked), (_("Wallpapers.net"), self.on_add_wn_clicked), (_("Media RSS"), self.on_add_mediarss_clicked), + (_("Wallhaven.cc"), self.on_add_wallhaven_clicked), ] for x in items: @@ -571,6 +574,8 @@ self.dialog = AddFlickrDialog() elif type == Options.SourceType.WALLBASE: self.dialog = AddWallbaseDialog() + elif type == Options.SourceType.WALLHAVEN: + self.dialog = AddWallhavenDialog() elif type == Options.SourceType.MEDIA_RSS: self.dialog = AddMediaRssDialog() elif type == Options.SourceType.PANORAMIO: @@ -690,6 +695,9 @@ def on_add_wallbase_clicked(self, widget=None): self.show_dialog(AddWallbaseDialog()) + def on_add_wallhaven_clicked(self, widget=None): + self.show_dialog(AddWallhavenDialog()) + def on_add_panoramio_clicked(self, widget=None): self.show_dialog(AddPanoramioDialog()) @@ -727,6 +735,13 @@ self.add_sources(Options.SourceType.WALLBASE, [wallbase_search]) self.dialog = None + def on_wallhaven_dialog_okay(self, wallhaven_search, edited_row): + if edited_row: + edited_row[2] = wallhaven_search + else: + self.add_sources(Options.SourceType.WALLHAVEN, [wallhaven_search]) + self.dialog = None + def on_panoramio_dialog_okay(self, panoramio_config, edited_row): if edited_row: edited_row[2] = panoramio_config diff -u variety/variety/VarietyWindow.py /usr/lib/python2.7/site-packages/variety/VarietyWindow.py --- variety/variety/VarietyWindow.py 2014-07-17 15:33:00.000000000 +0200 +++ /usr/lib/python2.7/site-packages/variety/VarietyWindow.py 2014-10-01 22:10:35.990219152 +0200 @@ -48,6 +48,7 @@ from variety.DominantColors import DominantColors from variety.WallpapersNetDownloader import WallpapersNetDownloader from variety.WallbaseDownloader import WallbaseDownloader +from variety.WallhavenDownloader import WallhavenDownloader from variety.PanoramioDownloader import PanoramioDownloader from variety.DesktopprDownloader import DesktopprDownloader from variety.APODDownloader import APODDownloader @@ -498,6 +499,8 @@ return FlickrDownloader(self, location) elif type == Options.SourceType.WALLBASE: return WallbaseDownloader(self, location) + elif type == Options.SourceType.WALLHAVEN: + return WallhavenDownloader(self, location) elif type == Options.SourceType.MEDIA_RSS: return MediaRssDownloader(self, location) elif type == Options.SourceType.PANORAMIO: