bingwallpaper 0.5.2 → 0.5.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- NjEwMTU3ZWY1ZjZlZTkyNjQxYzFhNzQ5N2U5ZDc0ZTdmMzBkYWNhYg==
4
+ ZWM1OWI4MWQ0MmEwMTY4YTY1ZDNhMTYwMWFkOWUwZjExN2I4NWZhMw==
5
5
  data.tar.gz: !binary |-
6
- ZTBjYjVlNmY3ZDY1MDY5ZDJmNWVkNmRiNTg0NDI4NTZmNmVjM2MzNg==
6
+ NGY0NDFjOTdmMTMwMTAxMzc3N2JiMTFkYzkyMDczNmM5YWJkYjIwNw==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- MGMxMjhhNzg2NGJkMmQzZjBjNDIwY2E1OGVjMmRkZjEzNTc0N2Q0YzljZGU2
10
- OTI3YmUyMjgwMjQ2OWE5NmU5NzAwZDY1NTAwMjQ1OTU4ZTViZDFlOGE3MWEw
11
- YjgxMDgyMDA4MmNmODIyODgyMjE5NWViMTkwZGEzMzYwM2NhNjU=
9
+ MDc3NTQ5OTVjZGVmMGZiYzViM2JlMzkyZTYzNWVmNzUyODViZmVjY2QxOGIx
10
+ NzMxNjc0NDEzMjVjOTRiOWJkZmZkOTViM2QwYjAwNjBhNTAxNzBkZTQzOTRi
11
+ ZTFmYTQxMTI3MjAxMjdjZDBiNjk3NzViZDlhMDQ2ZTQ3MGZmYTE=
12
12
  data.tar.gz: !binary |-
13
- MTU1MWI4M2ZlYjIxMWY3YmJhNWM0MmIxMGUwOTM2OGRhZGUyN2M0NzU4Nzg3
14
- NTFjYTFiZWQ5OGRhYzYwZjBiMjMxZjYwZGZhOTE3M2RhYmIwOTAzNmE1NjYx
15
- YzU3NTNiNmRkOTVjMTJkNjgxYmM0M2JlNzRhMDEwMzQ0ZjZiOTg=
13
+ ZTdiODE1ZjVkMDNjMzFkYmUxMjNhMGQyM2E1MzAxNDE3ODI5OGE1Y2VjY2Ew
14
+ OGIwMDc3NjNlYmU5NjVmYmY5ZTU0MTJlM2EwYTE3NGZiYjdlZjFmZTQ5OWVi
15
+ OGQ4ZTdjMzQ5YWYzMGZkMGQxZTgwZmYyMTBiNDllODk4YTlmNTA=
data/README.md CHANGED
@@ -1,3 +1,5 @@
1
+ [![Gem Version](https://badge.fury.io/rb/bingwallpaper.svg)](http://badge.fury.io/rb/bingwallpaper)
2
+
1
3
  # Bing Wallpaper
2
4
 
3
5
  This project provides a simple Ruby script that will download the
@@ -20,10 +22,10 @@ Just install the gem...
20
22
 
21
23
  And then invoke the script.
22
24
 
23
- bing-wallpaper
25
+ bingwallpaper
24
26
 
25
27
 
26
28
  ***
27
- [0]: https://www/bing.com
29
+ [0]: https://www.bing.com
28
30
  [1]: http://feh.finalrewind.org/
29
31
  [2]: http://i3wm.org/
data/bin/bingwallpaper CHANGED
@@ -5,17 +5,40 @@
5
5
  # Sets the desktop wallpaper to the current "image of the day" from the Bing
6
6
  # search engine.
7
7
  #
8
-
9
8
  require "bingwallpaper"
9
+ require "logger"
10
+
11
+ # setup a logger
12
+ logger = Logger.new(STDOUT)
13
+ logger.formatter = proc do |severity, time, progname, msg|
14
+ "%-6s %s\n" % [severity, msg]
15
+ end
10
16
 
11
17
  # create an instance and set the wallpaper
12
18
  bingImage = Bingwallpaper::Image.new
13
19
 
14
- # set the wallpaper
15
20
  begin
16
- bingImage.set_today_wallpaper
21
+
22
+ # compute the URL for the image of the data data
23
+ data_url = bingImage.get_data_url
24
+
25
+ # parse image of the day data
26
+ image_data = bingImage.parse_xml data_url
27
+
28
+ # decide where we'll save today's image
29
+ image_path = bingImage.image_storage_path image_data[0]
30
+
31
+ # only download the wallpaper once
32
+ if !image_path.exist?
33
+
34
+ # download the image and set the wallpaper
35
+ bingImage.download_image image_data[0]
36
+ `feh --bg-fill #{image_path}`
37
+ else
38
+ logger.info "Today's wallpaper already downloaded. ;-)"
39
+ end
17
40
  rescue Exception => exception
18
- puts "Sorry, I couldn't set today's Bing Imagee of the Day Wallpaper. :'("
19
- puts exception.message
41
+ logger.info "Sorry, I couldn't set today's Bing Image of the Day Wallpaper. :'("
42
+ logger.error "The problems was: " + exception.message
20
43
  exit 1
21
44
  end
@@ -90,12 +90,12 @@ module Bingwallpaper
90
90
  end
91
91
  end
92
92
 
93
- # Returns the file location where the image from the provided Bing image
94
- # hash will be stored.
93
+ # Returns a Pathname with location where the image from the
94
+ # provided Bing image hash will be stored.
95
95
  #
96
96
  # image_data:: Hash of Bing image data
97
97
  def image_storage_path(image_data)
98
- @storage_path + "/" + image_data[:file_name]
98
+ Pathname.new @storage_path + "/" + image_data[:file_name]
99
99
  end
100
100
 
101
101
  # Downloads the Bing image from the provided image hash.
@@ -103,32 +103,13 @@ module Bingwallpaper
103
103
  # image_date:: Hash of Bing image data
104
104
  def download_image(image_data)
105
105
 
106
- open(image_storage_path(image_data), 'wb') do |file|
107
- puts "Downloading: " + image_data[:links][:url]
108
- file << open(image_data[:links][:url]).read
109
- end
110
- end
111
-
112
- # Sets the current wallpaper to the provide File instance.
113
- #
114
- # file:: File instance with wallpaper data
115
- def set_wallpaper(file)
116
-
117
- puts "Setting wallpaper to " + file.path
118
- `feh --bg-fill #{file.path}`
119
- end
120
-
121
- # Sets the wallpaper to Bing's "image of the day".
122
- def set_today_wallpaper
123
-
124
- image_data = parse_xml(get_data_url)
125
- image_path = Pathname.new(image_storage_path(image_data[0]))
126
-
127
- # only download the wallpaper once
128
- if !image_path.exist?
129
- set_wallpaper(download_image(image_data[0]))
130
- else
131
- puts "Today's wallpaper already downloaded. ;-)"
106
+ begin
107
+ open(image_storage_path(image_data), 'wb') do |file|
108
+ file << open(image_data[:links][:url]).read
109
+ end
110
+ rescue Exception => exception
111
+ FileUtils.rm(image_storage_path(image_data))
112
+ raise exception
132
113
  end
133
114
  end
134
115
  end
@@ -1,3 +1,3 @@
1
1
  module Bingwallpaper
2
- VERSION = "0.5.2"
2
+ VERSION = "0.5.3"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bingwallpaper
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.2
4
+ version: 0.5.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - cmiles74
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-06-15 00:00:00.000000000 Z
11
+ date: 2014-06-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: nokogiri