diff --git a/bin/gistr b/bin/gistr index 5a0dcd9..c46cadf 100755 --- a/bin/gistr +++ b/bin/gistr @@ -23,6 +23,10 @@ op = OptionParser.new do |o| o.on "-b", "--blog=BLOG", "Tumblr blog" do |blog| opts.blog = blog end + + o.on "-r", "--private=1", "Private post?" do |private| + opts.private = private + end end gist_id = *op.parse!(ARGV) @@ -32,7 +36,7 @@ unless gist_id exit(1) end -g = Gistr.new(gist_id) +g = Gistr.new(gist_id, { :private => opts.private }) g.post opts.email, opts.password, opts.title, opts.blog diff --git a/lib/gistr.rb b/lib/gistr.rb index 54162d7..66a3bc8 100644 --- a/lib/gistr.rb +++ b/lib/gistr.rb @@ -1,9 +1,9 @@ require 'open-uri' -require 'hpricot' class Gistr - def initialize(gist_id) + def initialize(gist_id, options = {}) @gist_id = gist_id + @post_private = options[:private] || 1 end def post(email, password, title, blog) @@ -14,29 +14,18 @@ def gist_code return @gist_code if @gist_code # Use the secret .pibb format - code = open("http://gist.github.com/#{@gist_id}.pibb").read + code = open("https://gist.github.com/#{@gist_id}.pibb").read - # Remove the
tag - # - # Tumblr wrap lines at of HTML at times and having the additional - # whitespace in ais very undesirable. - h = Hpricot(code) - - h.search('pre').each do |pre| - pre.swap(pre.inner_html) if pre.inner_html.length > 0 - end - - @gist_code = h.to_html + @gist_code = code end private def post_to_tumblr(email, password, title, blog, body) - post_private = 1 Net::HTTP.start("www.tumblr.com") do |http| req = Net::HTTP::Post.new("/api/write") req.set_form_data :email => email, :password => password, :title => title, :body => body, :format => 'html', - :private => post_private, :group => blog + :private => @post_private, :group => blog http.request(req) end