Blux 0.0.4 → 0.0.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.
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 0
8
- - 4
9
- version: 0.0.4
8
+ - 5
9
+ version: 0.0.5
10
10
  platform: ruby
11
11
  authors:
12
12
  - Louis Salin
@@ -35,7 +35,7 @@ cert_chain:
35
35
  1GuoIVBODMvF3w==
36
36
  -----END CERTIFICATE-----
37
37
 
38
- date: 2010-10-23 00:00:00 -05:00
38
+ date: 2010-11-06 00:00:00 -05:00
39
39
  default_executable:
40
40
  dependencies:
41
41
  - !ruby/object:Gem::Dependency
@@ -169,12 +169,13 @@ extra_rdoc_files:
169
169
  - README.markdown
170
170
  - bin/blux
171
171
  - lib/textile_to_html.rb
172
- - lib/wp_publish.rb
173
172
  - lib/blog_manager.rb
174
173
  - lib/blux_config_reader.rb
175
174
  - lib/blux_option_parser.rb
176
175
  - lib/draft_manager.rb
177
176
  - lib/indexer.rb
177
+ - lib/publishing/wp_publish.rb
178
+ - lib/publishing/wp_options.rb
178
179
  files:
179
180
  - COPYING
180
181
  - Manifest
@@ -182,12 +183,13 @@ files:
182
183
  - Rakefile
183
184
  - bin/blux
184
185
  - lib/textile_to_html.rb
185
- - lib/wp_publish.rb
186
186
  - lib/blog_manager.rb
187
187
  - lib/blux_config_reader.rb
188
188
  - lib/blux_option_parser.rb
189
189
  - lib/draft_manager.rb
190
190
  - lib/indexer.rb
191
+ - lib/publishing/wp_publish.rb
192
+ - lib/publishing/wp_options.rb
191
193
  - spec/blog_manager_spec.rb
192
194
  - spec/blux_config_reader_spec.rb
193
195
  - spec/draft_manager_spec.rb
metadata.gz.sig CHANGED
Binary file
@@ -1,149 +0,0 @@
1
- #!/usr/bin/env ruby
2
- ## Copyright (c) 2007 John Mettraux
3
- ## Released under the MIT license
4
- ## http://www.opensource.org/licenses/mit-license.php
5
- ##
6
- ## Modifications by Louis Salin, October 2010
7
- ## => reading blog information from the configuration file
8
-
9
- require 'optparse'
10
- require 'net/http'
11
- require 'atom/entry' # sudo gem install atom-tools
12
- require 'atom/collection'
13
- require "#{File.dirname(__FILE__)}/blux_config_reader"
14
-
15
-
16
- #
17
- # parse options
18
-
19
- tags = []
20
- title = nil
21
- type = 'html'
22
- bluxrc = nil
23
- command = :post
24
- entry_id = nil
25
-
26
- opts = OptionParser.new
27
- opts.banner = "Usage: post.rb [options]"
28
- opts.separator ""
29
- opts.separator "options :"
30
-
31
- opts.on(
32
- "-c",
33
- "--categories {list}",
34
- "comma separated list of tags/categories") do |v|
35
-
36
- tags = v.split ","
37
- end
38
-
39
- opts.on(
40
- "-t",
41
- "--title {title}",
42
- "title for the post") do |v|
43
-
44
- title = v
45
- end
46
-
47
- opts.on(
48
- "-T",
49
- "--type {html|xhtml|text}",
50
- "type of the content. ('html' is the default).") do |v|
51
-
52
- type = v
53
- end
54
-
55
- opts.on(
56
- "--config {config_file}",
57
- "blux config file path") do |f|
58
- bluxrc = f
59
- end
60
-
61
- opts.on(
62
- "--update {entry_id}",
63
- "update an existing post") do |id|
64
- command = :put
65
- entry_id = id
66
- end
67
-
68
- opts.on(
69
- "-h",
70
- "--help",
71
- "displays this help") do
72
-
73
- puts
74
- puts opts.to_s
75
- puts
76
- exit 0
77
- end
78
-
79
- opts.parse ARGV
80
-
81
- raise "please specify a title for the post with the -t option" unless title
82
-
83
- # a great thanks to the devs of all the libs used here
84
- #
85
- # some info about you and your blog
86
-
87
- config = BluxConfigurationReader.new
88
- config.load_config bluxrc
89
-
90
- blog = config.blog
91
- authorname = config.author_name
92
- username = config.user_name
93
- password = config.password
94
-
95
- bloguri = "http://#{blog}.wordpress.com"
96
- base = "https://#{blog}.wordpress.com/wp-app.php"
97
-
98
- #
99
- # gather content
100
-
101
- content = ""
102
- loop do
103
- line = STDIN.gets
104
- break unless line
105
- content += line
106
- end
107
-
108
- # create entry
109
-
110
- entry = Atom::Entry.new
111
- entry.title = title
112
- entry.updated!
113
-
114
- author = Atom::Author.new
115
- author.name = authorname
116
- author.uri = bloguri
117
- entry.authors << author
118
-
119
- tags.each do |t|
120
- c = Atom::Category.new
121
- c["scheme"] = bloguri
122
- c["term"] = t.strip
123
- entry.categories << c
124
- end
125
-
126
- entry.content = content
127
- entry.content["type"] = type if type
128
-
129
- h = Atom::HTTP.new
130
- h.user = username
131
- h.pass = password
132
- h.always_auth = :basic
133
-
134
- c = Atom::Collection.new(base + "/posts", h)
135
- if command == :post
136
- res = c.post! entry
137
- puts "--entry--"
138
- puts entry
139
-
140
- puts "--response--"
141
- puts res
142
-
143
- puts "--url--"
144
- puts Atom::Entry.parse(res.read_body).edit_url
145
- elsif command == :put
146
- entry.edit_url = entry_id
147
- res = c.put! entry
148
- end
149
-