bingwallpaper 0.5.4 → 0.5.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- MDY0Y2MwYTA0ZDlhNDNhMjg1NzA1MDA3Yzk5ZGY1NmFkZTFlYzM1NQ==
4
+ ZGJjZDcwY2Y1YzU5MjBjMTAzNTA0YzEwZWY4ZTY4MGYwZTc3NWMzZg==
5
5
  data.tar.gz: !binary |-
6
- ODBiODFjMDI1NzkwNmI0NmQ4ODZiNjhkNzlkMDIyN2Y1ZmZhZmE1MQ==
6
+ OTQ0NmU5MzU3YTBiMTlmMjA5OThkMzMyYzE5NWE2NmE3NTkwMmMzMA==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- OGM2NGM5NmIwZTAzYTFlMjlhMWE5MzA4ZDY4ZDI2Y2NlOGYwODAxNzYzYmEy
10
- YjJiOTAyOTcwNDNiMTUzYWEwMzQwMmVlYjY1YTg1Mzc2ZGYyMDdmNThiZWFi
11
- MDk1ZGJiNGQ4MDIyNzFjOTJmMjcyYTcwMDBhOWRjYzk4MDgyN2E=
9
+ OTE2MjM1MDM0ZWQ5ZTRmODNkMmNiMzdkM2Q3ZTFmODc2NDM3ZTI0MjliYmZl
10
+ MjliYzYxNWM4MTk5MjE2MTk5OTNiZmJmNmQ1OTU5NDlhMWUxNWE0NWM3NTZj
11
+ MmU2NmJiMjQ3ZGMyYTVhZTVlM2I1OGY4ZDAyN2RkOWQ0ODMzZTM=
12
12
  data.tar.gz: !binary |-
13
- YTAwNWEwZmFmNmJkZjA2NzZhMzRkMjY4NzU0ODJmODcwNTVmYTQwYjczYmZl
14
- NWQyNzE2MTRmZTMxYmQ5NzAxNjQzNDk3YmRhMDVkN2Q1OTI5OWJkZGRkNGYx
15
- OGZmMTUxMWNmYmRmZDFhMmM4ZDk4NWY3OWU4NjU1ODRmZTUzMTI=
13
+ ZWJkYjE5MDRiMzU2MWZiMjNiYjRiMzk5Yzc0NmZmZGVmOWEyY2MxOGNiYzU2
14
+ OGQwOTk0ZTRjMjgzOWQyNmJlMDE3YjQ5YjAwZWQwOWRlMThhMGVhOGVlYzA0
15
+ N2QwMTlmODUxY2ZlNjRlZWY3MjdhYWU5YjdmNTUwZGJkNzkxZWI=
data/bin/bingwallpaper CHANGED
@@ -26,21 +26,41 @@ begin
26
26
  image_data = bingImage.parse_xml data_url
27
27
 
28
28
  # decide where we'll save today's image
29
- image_path = bingImage.image_storage_path image_data[0]
29
+ image_path = bingImage.image_storage_path image_data[0][:file_name]
30
+ fallback_image_path = bingImage.image_storage_path image_data[0][:fallback_file_name]
30
31
 
31
32
  # only download the wallpaper once
32
- if !image_path.exist?
33
+ if !(image_path.exist? || fallback_image_path.exist?)
33
34
 
34
- # download the image and set the wallpaper
35
- bingImage.download_image image_data[0]
35
+ begin
36
+ # download the image and set the wallpaper
37
+ bingImage.download_image image_data[0]
38
+ rescue Exception => exception
39
+ logger.info "Sorry, couldn't download the image of the day. :'("
40
+ logger.info "I couldn't load " + image_data[0][:links][:url]
41
+ logger.info image_data[0]
42
+ logger.error "The problem was: " + exception.message
43
+ end
36
44
  else
37
45
  logger.info "Today's wallpaper already downloaded. ;-)"
38
46
  end
39
47
 
40
48
  # set the wallpaper
41
- `feh --bg-fill #{image_path}`
49
+ if image_path.exist?
50
+
51
+ # set the wallpaper
52
+ logger.info "Wallpaper set to #{image_path}"
53
+ `feh --bg-fill #{image_path}`
54
+ else fallback_image_path.exist?
55
+
56
+ # set the wallpaper
57
+ logger.info "Sorry, only the low-resolution image was available today. :-("
58
+ logger.info "Wallpaper set to #{image_path}"
59
+ `feh --bg-fill #{fallback_image_path}`
60
+ end
42
61
  rescue Exception => exception
43
62
  logger.info "Sorry, I couldn't set today's Bing Image of the Day Wallpaper. :'("
44
63
  logger.error "The problems was: " + exception.message
64
+ logger.error exception.backtrace
45
65
  exit 1
46
66
  end
@@ -82,10 +82,15 @@ module Bingwallpaper
82
82
  image_path = image.xpath('url').text.sub(image.xpath('url').text.rpartition("_").
83
83
  last, '1920x1200.jpg')
84
84
 
85
+ # store the other path as fallback
86
+ image_fallback_path = image.xpath('url').text.to_s
87
+
85
88
  # build our hash of image data
86
89
  {:links => {:url => build_url(image_path),
90
+ :fallback_url => image_fallback_path,
87
91
  :copyright_url => image.xpath('copyrightlink').text},
88
92
  :file_name => Pathname.new(image_path).basename.to_s,
93
+ :fallback_file_name => Pathname.new(image_fallback_path).basename.to_s,
89
94
  :copyright => image.xpath('copyright').text}
90
95
  end
91
96
  end
@@ -93,9 +98,9 @@ module Bingwallpaper
93
98
  # Returns a Pathname with location where the image from the
94
99
  # provided Bing image hash will be stored.
95
100
  #
96
- # image_data:: Hash of Bing image data
97
- def image_storage_path(image_data)
98
- Pathname.new @storage_path + "/" + image_data[:file_name]
101
+ # file_name:: Path to the file storage location
102
+ def image_storage_path(file_name)
103
+ Pathname.new @storage_path + "/" + file_name
99
104
  end
100
105
 
101
106
  # Downloads the Bing image from the provided image hash.
@@ -104,12 +109,22 @@ module Bingwallpaper
104
109
  def download_image(image_data)
105
110
 
106
111
  begin
107
- open(image_storage_path(image_data), 'wb') do |file|
112
+ open(image_storage_path(image_data[:file_name]), 'wb') do |file|
108
113
  file << open(image_data[:links][:url]).read
109
114
  end
110
115
  rescue Exception => exception
111
- FileUtils.rm(image_storage_path(image_data))
112
- raise exception
116
+
117
+ FileUtils.rm(image_storage_path(image_data[:file_name]))
118
+
119
+ begin
120
+ open(image_storage_path(image_data[:fallback_file_name]), 'wb') do |file|
121
+ file << open(image_data[:links][:fallback_url]).read
122
+ end
123
+ rescue
124
+
125
+ FileUtils.rm(image_storage_path(image_data[:fallback_file_name]))
126
+ raise exception
127
+ end
113
128
  end
114
129
  end
115
130
  end
@@ -1,3 +1,3 @@
1
1
  module Bingwallpaper
2
- VERSION = "0.5.4"
2
+ VERSION = "0.5.5"
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.4
4
+ version: 0.5.5
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-17 00:00:00.000000000 Z
11
+ date: 2014-06-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: nokogiri