grumblr 2.2.0 → 2.3.0

Sign up to get free protection for your applications and to get access to all the features.
data/Changelog CHANGED
@@ -1,3 +1,8 @@
1
+ version 2.3.0 (2010-07-04)
2
+
3
+ * Fixed layout of video panel
4
+ * Fixed authentication to work with rest-client 1.6.0
5
+
1
6
  version 2.2.0 (2010-03-03)
2
7
 
3
8
  * Fixed authentication to work with rest-client 1.3.0+
data/README CHANGED
@@ -19,7 +19,7 @@ Grumblr is a tool to post messages to your Tumblr blog from GNOME.
19
19
  http://libxml.rubyforge.org/
20
20
 
21
21
  * REST Client
22
- http://github.com/adamwiggins/rest-client/
22
+ http://github.com/archiloque/rest-client
23
23
 
24
24
 
25
25
  === Installation ===
data/VERSION CHANGED
@@ -1 +1 @@
1
- 2.2.0
1
+ 2.3.0
data/grumblr.gemspec ADDED
@@ -0,0 +1,20 @@
1
+ Gem::Specification.new do |s|
2
+ s.name = 'grumblr'
3
+ s.version = File.open('VERSION') { |f| f.read }
4
+ s.author = 'Paul Philippov'
5
+ s.description = "Grumblr is a message poster to Tumblr blogs from GNOME"
6
+ s.email = 'themactep@gmail.com'
7
+ s.bindir = "bin"
8
+ s.executables = ['grumblr']
9
+ s.extra_rdoc_files = ['README', 'LICENSE', 'VERSION', 'Changelog']
10
+ s.files = Dir.glob("{bin,data,lib,spec}/**/*") + \
11
+ %w(LICENSE README VERSION Changelog grumblr.gemspec)
12
+ s.homepage = 'http://themactep.com/grumblr/'
13
+ s.require_path = "lib"
14
+ s.rubyforge_project = 'grumblr'
15
+ s.summary = "Tumblr companion for GNOME"
16
+ s.has_rdoc = false
17
+ s.add_dependency "ppds-libs"
18
+ s.add_dependency "libxml-ruby"
19
+ s.add_dependency "rest-client", '>= 1.6.0'
20
+ end
data/lib/grumblr/ui.rb CHANGED
@@ -2,6 +2,7 @@ require 'gtk2'
2
2
 
3
3
  module Grumblr
4
4
 
5
+ APP_NAME = 'Grumblr'
5
6
  APP_ROOT = File.expand_path(File.join(File.dirname(__FILE__), '..', '..'))
6
7
  DATA_ROOT = File.join(APP_ROOT, 'data')
7
8
  VERSION = File.open(File.join(APP_ROOT,'VERSION')) { |f| f.read }
@@ -17,9 +18,9 @@ module Grumblr
17
18
  self.logo = Gdk::Pixbuf.new(filename, 128, 128)
18
19
 
19
20
  set_size_request 440, 340
20
- set_border_width 4
21
+ set_border_width 0
21
22
  set_allow_shrink false
22
- set_title 'Grumblr'
23
+ set_title Grumblr::APP_NAME
23
24
  set_icon self.logo
24
25
  set_default_width $cfg.get(:window_width).to_i
25
26
  set_default_height $cfg.get(:window_height).to_i
@@ -27,17 +28,19 @@ module Grumblr
27
28
  signal_connect(:destroy) { quit }
28
29
  signal_connect(:delete_event) { minimize }
29
30
  signal_connect(:check_resize) do |widget|
30
- x, y = widget.position
31
- w, h = widget.size
32
- $cfg.set :window_x_pos, x
33
- $cfg.set :window_y_pos, y
34
- $cfg.set :window_width, w
35
- $cfg.set :window_height, h
31
+ position_x, position_y = widget.position
32
+ size_w, size_h = widget.size
33
+ $cfg.set :window_x_pos, position_x
34
+ $cfg.set :window_y_pos, position_y
35
+ $cfg.set :window_width, size_w
36
+ $cfg.set :window_height, size_h
36
37
  end
37
38
  signal_connect(:window_state_event) do |widget, e|
38
39
  case e.event_type
39
40
  when Gdk::Event::WINDOW_STATE
40
41
  minimize if e.changed_mask.iconified? and e.new_window_state.iconified?
42
+ else
43
+ nil
41
44
  end
42
45
  end
43
46
  show
@@ -163,7 +166,7 @@ module Grumblr
163
166
  @video_title = Gtk::LabeledEntry.new 'Title (optional)'
164
167
 
165
168
  page.pack_start video_data, false
166
- page.pack_start @video_title, true
169
+ page.pack_start @video_title, false
167
170
  end
168
171
 
169
172
  page.pack_start @video_embed, false
@@ -217,7 +220,7 @@ module Grumblr
217
220
  toolbar.insert 3, item
218
221
 
219
222
  ### Buttons
220
- clear_button = Gtk::Button.new 'Clear'
223
+ clear_button = Gtk::Button.new ' Clear '
221
224
  clear_button.set_focus_on_click false
222
225
  clear_button.signal_connect(:clicked) do |widget|
223
226
  page = @notebook.get_nth_page @notebook.page
@@ -225,13 +228,13 @@ module Grumblr
225
228
  reset_form message_type.downcase
226
229
  end
227
230
 
228
- @private_button = Gtk::ToggleButton.new 'Private'
231
+ @private_button = Gtk::ToggleButton.new ' Private '
229
232
  @private_button.signal_connect(:toggled) do |widget|
230
233
  $cfg.set :private, widget.active?
231
234
  end
232
235
  @private_button.set_active $cfg.get(:private)
233
236
 
234
- submit_button = Gtk::Button.new 'Send'
237
+ submit_button = Gtk::Button.new ' Send '
235
238
  submit_button.signal_connect(:released) do |widget|
236
239
  post
237
240
  end
@@ -251,7 +254,7 @@ module Grumblr
251
254
  button_box.pack_start @private_button, false
252
255
  button_box.pack_start @tags, true
253
256
  button_box.pack_start format_box, false
254
- button_box.pack_start submit_button, true
257
+ button_box.pack_start submit_button, false
255
258
 
256
259
  ### Layout
257
260
  pack_start toolbar, false
@@ -310,9 +313,10 @@ module Grumblr
310
313
 
311
314
  def collect_data_for(fieldset, message_type)
312
315
  data = {}
313
- for key in fieldset[message_type]
316
+ fieldset[message_type].each do |key|
314
317
  name = "@#{message_type}_#{key.gsub(/-/,'_')}"
315
- if var = instance_variable_get(name)
318
+ var = instance_variable_get(name)
319
+ if var
316
320
  value = var.get_value
317
321
  data.merge!({ key => value })
318
322
  end
@@ -334,7 +338,7 @@ module Grumblr
334
338
  end
335
339
 
336
340
  def reset_fields_for(fieldset, message_type)
337
- for key in fieldset[message_type]
341
+ fieldset[message_type].each do |key|
338
342
  name = "@#{message_type}_#{key.gsub(/-/,'_')}"
339
343
  var = instance_variable_get(name)
340
344
  var.clear if var
@@ -451,7 +455,7 @@ module Grumblr
451
455
  end
452
456
  super
453
457
  self.logo = $gui.logo
454
- self.program_name = 'Grumblr'
458
+ self.program_name = Grumblr::APP_NAME
455
459
  self.version = Grumblr::VERSION
456
460
  self.copyright = "Copyright (c)2009, Paul Philippov"
457
461
  self.comments = "Tumblr companion for GNOME"
@@ -483,7 +487,7 @@ module Grumblr
483
487
 
484
488
  def menu
485
489
  menu = Gtk::Menu.new
486
- for item in [ ontop, sep, destroy_account, sep, about, sep, quit ]
490
+ [ ontop, sep, destroy_account, sep, about, sep, quit ].each do |item|
487
491
  menu.append item
488
492
  end
489
493
  menu.show_all
@@ -633,6 +637,7 @@ module Gtk
633
637
  self.set_left_margin 5
634
638
  self.modify_text Gtk::STATE_NORMAL, PALE
635
639
  self.buffer.set_text @label
640
+
636
641
  self.signal_connect(:focus_in_event) do |widget, type|
637
642
  if widget.buffer.text == @label
638
643
  widget.modify_text Gtk::STATE_NORMAL, DARK
@@ -640,12 +645,14 @@ module Gtk
640
645
  end
641
646
  report_length
642
647
  false
643
- end
648
+ end
649
+
644
650
  self.signal_connect(:focus_out_event) do |widget, type|
645
651
  self.clear if widget.buffer.text == ''
646
652
  $statusbar.push 0, $app.blog.title
647
653
  false
648
654
  end
655
+
649
656
  self.signal_connect(:key_release_event) do |widget, type|
650
657
  report_length
651
658
  false
@@ -654,6 +661,7 @@ module Gtk
654
661
 
655
662
  def report_length
656
663
  $statusbar.push 0, "Length: #{self.buffer.text.chars.count}"
664
+ self.buffer.text.strip
657
665
  end
658
666
 
659
667
  def get_value
data/lib/ppds/tumblr.rb CHANGED
@@ -55,13 +55,14 @@ module Ppds
55
55
 
56
56
  def query(action, data)
57
57
  raise 'Cannot authenticate without credentials' unless data[:email] and data[:password]
58
- RestClient.post(API_URL + action, data) { |response| response.body }
58
+ response = RestClient.post(API_URL + action, data)
59
+ response.to_str
59
60
  rescue RestClient::RequestFailed => e
60
61
  raise 'Query failed: %s' % e.response.body
61
62
  rescue RestClient::RequestTimeout
62
63
  raise 'Timeout occured'
63
- rescue Exception
64
- raise $!
64
+ # rescue Exception
65
+ # raise $!
65
66
  end
66
67
 
67
68
  def authenticate(email, password)
metadata CHANGED
@@ -1,7 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: grumblr
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.2.0
4
+ hash: 3
5
+ prerelease: false
6
+ segments:
7
+ - 2
8
+ - 3
9
+ - 0
10
+ version: 2.3.0
5
11
  platform: ruby
6
12
  authors:
7
13
  - Paul Philippov
@@ -9,39 +15,53 @@ autorequire:
9
15
  bindir: bin
10
16
  cert_chain: []
11
17
 
12
- date: 2010-03-03 00:00:00 +00:00
18
+ date: 2010-07-04 00:00:00 -04:00
13
19
  default_executable:
14
20
  dependencies:
15
21
  - !ruby/object:Gem::Dependency
16
22
  name: ppds-libs
17
- type: :runtime
18
- version_requirement:
19
- version_requirements: !ruby/object:Gem::Requirement
23
+ prerelease: false
24
+ requirement: &id001 !ruby/object:Gem::Requirement
25
+ none: false
20
26
  requirements:
21
27
  - - ">="
22
28
  - !ruby/object:Gem::Version
29
+ hash: 3
30
+ segments:
31
+ - 0
23
32
  version: "0"
24
- version:
33
+ type: :runtime
34
+ version_requirements: *id001
25
35
  - !ruby/object:Gem::Dependency
26
36
  name: libxml-ruby
27
- type: :runtime
28
- version_requirement:
29
- version_requirements: !ruby/object:Gem::Requirement
37
+ prerelease: false
38
+ requirement: &id002 !ruby/object:Gem::Requirement
39
+ none: false
30
40
  requirements:
31
41
  - - ">="
32
42
  - !ruby/object:Gem::Version
43
+ hash: 3
44
+ segments:
45
+ - 0
33
46
  version: "0"
34
- version:
47
+ type: :runtime
48
+ version_requirements: *id002
35
49
  - !ruby/object:Gem::Dependency
36
50
  name: rest-client
37
- type: :runtime
38
- version_requirement:
39
- version_requirements: !ruby/object:Gem::Requirement
51
+ prerelease: false
52
+ requirement: &id003 !ruby/object:Gem::Requirement
53
+ none: false
40
54
  requirements:
41
55
  - - ">="
42
56
  - !ruby/object:Gem::Version
43
- version: "0"
44
- version:
57
+ hash: 15
58
+ segments:
59
+ - 1
60
+ - 6
61
+ - 0
62
+ version: 1.6.0
63
+ type: :runtime
64
+ version_requirements: *id003
45
65
  description: Grumblr is a message poster to Tumblr blogs from GNOME
46
66
  email: themactep@gmail.com
47
67
  executables:
@@ -51,29 +71,29 @@ extensions: []
51
71
  extra_rdoc_files:
52
72
  - README
53
73
  - LICENSE
54
- - Changelog
55
74
  - VERSION
75
+ - Changelog
56
76
  files:
57
77
  - bin/grumblr
58
- - data/pixmaps/grumblr.png
59
- - data/pixmaps/video.bmp
60
- - data/pixmaps/spinner.gif
78
+ - data/grumblr.desktop
61
79
  - data/pixmaps/photo.bmp
62
- - data/pixmaps/link.bmp
80
+ - data/pixmaps/text.bmp
81
+ - data/pixmaps/audio.bmp
63
82
  - data/pixmaps/chat.bmp
64
83
  - data/pixmaps/quote.bmp
84
+ - data/pixmaps/grumblr.png
65
85
  - data/pixmaps/grumblr.svg
66
- - data/pixmaps/audio.bmp
67
- - data/pixmaps/text.bmp
68
- - data/grumblr.desktop
69
- - lib/grumblr/ui.rb
70
- - lib/grumblr/core.rb
86
+ - data/pixmaps/link.bmp
87
+ - data/pixmaps/spinner.gif
88
+ - data/pixmaps/video.bmp
71
89
  - lib/ppds/tumblr.rb
90
+ - lib/grumblr/core.rb
91
+ - lib/grumblr/ui.rb
72
92
  - LICENSE
73
93
  - README
74
- - Rakefile
75
- - Changelog
76
94
  - VERSION
95
+ - Changelog
96
+ - grumblr.gemspec
77
97
  has_rdoc: true
78
98
  homepage: http://themactep.com/grumblr/
79
99
  licenses: []
@@ -84,21 +104,27 @@ rdoc_options: []
84
104
  require_paths:
85
105
  - lib
86
106
  required_ruby_version: !ruby/object:Gem::Requirement
107
+ none: false
87
108
  requirements:
88
109
  - - ">="
89
110
  - !ruby/object:Gem::Version
111
+ hash: 3
112
+ segments:
113
+ - 0
90
114
  version: "0"
91
- version:
92
115
  required_rubygems_version: !ruby/object:Gem::Requirement
116
+ none: false
93
117
  requirements:
94
118
  - - ">="
95
119
  - !ruby/object:Gem::Version
120
+ hash: 3
121
+ segments:
122
+ - 0
96
123
  version: "0"
97
- version:
98
124
  requirements: []
99
125
 
100
126
  rubyforge_project: grumblr
101
- rubygems_version: 1.3.5
127
+ rubygems_version: 1.3.7
102
128
  signing_key:
103
129
  specification_version: 3
104
130
  summary: Tumblr companion for GNOME
data/Rakefile DELETED
@@ -1,51 +0,0 @@
1
- require 'rubygems'
2
- require 'rake'
3
- require 'rake/clean'
4
- require 'rake/gempackagetask'
5
- require 'rake/rdoctask'
6
- require 'rake/testtask'
7
- require 'spec/rake/spectask'
8
-
9
- spec = Gem::Specification.new do |s|
10
- s.name = 'grumblr'
11
- s.version = File.open('VERSION') { |f| f.read }
12
- s.has_rdoc = false
13
- s.extra_rdoc_files = ['README', 'LICENSE', 'Changelog', 'VERSION']
14
- s.summary = "Tumblr companion for GNOME"
15
- s.description = "Grumblr is a message poster to Tumblr blogs from GNOME"
16
- s.author = 'Paul Philippov'
17
- s.email = 'themactep@gmail.com'
18
- s.homepage = 'http://themactep.com/grumblr/'
19
- s.rubyforge_project = 'grumblr'
20
- s.executables = ['grumblr']
21
- s.files = Dir.glob("{bin,data,lib,spec}/**/*") + \
22
- %w(LICENSE README Rakefile Changelog VERSION)
23
- s.require_path = "lib"
24
- s.bindir = "bin"
25
- s.add_dependency "ppds-libs"
26
- s.add_dependency "libxml-ruby"
27
- s.add_dependency "rest-client"
28
- end
29
-
30
- Rake::GemPackageTask.new(spec) do |p|
31
- p.gem_spec = spec
32
- p.need_tar = true
33
- p.need_zip = true
34
- end
35
-
36
- Rake::RDocTask.new do |rdoc|
37
- files =['README', 'LICENSE', 'lib/**/*.rb']
38
- rdoc.rdoc_files.add(files)
39
- rdoc.main = "README" # page to start on
40
- rdoc.title = "grumblr Docs"
41
- rdoc.rdoc_dir = 'doc/rdoc' # rdoc output folder
42
- rdoc.options << '--line-numbers'
43
- end
44
-
45
- Rake::TestTask.new do |t|
46
- t.test_files = FileList['test/**/*.rb']
47
- end
48
-
49
- Spec::Rake::SpecTask.new do |t|
50
- t.spec_files = FileList['spec/**/*.rb']
51
- end