rbarcode 0.0.1 → 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- data/Rakefile +19 -112
- data/lib/rbarcode/base.rb +1 -1
- metadata +1 -1
data/Rakefile
CHANGED
@@ -4,7 +4,7 @@ require 'rake'
|
|
4
4
|
require 'rake/testtask'
|
5
5
|
require 'rake/rdoctask'
|
6
6
|
require 'rake/gempackagetask'
|
7
|
-
require '
|
7
|
+
require 'rubyforge'
|
8
8
|
require File.dirname(__FILE__) + '/lib/rbarcode'
|
9
9
|
|
10
10
|
PKG_VERSION = RBarcode::VERSION
|
@@ -92,123 +92,30 @@ task :upload => [:package] do
|
|
92
92
|
files = ["gem", "tgz", "zip"].map { |ext| "pkg/#{PKG_FILE_NAME}.#{ext}" }
|
93
93
|
|
94
94
|
if RUBY_FORGE_PROJECT then
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
if ENV["RUBY_FORGE_PASSWORD"]
|
105
|
-
password = ENV["RUBY_FORGE_PASSWORD"]
|
106
|
-
else
|
107
|
-
password = Proc.new do
|
108
|
-
sync = STDOUT.sync
|
109
|
-
begin
|
110
|
-
echo false
|
111
|
-
STDOUT.sync = true
|
112
|
-
print "#{RUBY_FORGE_USER}@rubyforge.org's password: "
|
113
|
-
STDIN.gets.chomp
|
114
|
-
ensure
|
115
|
-
echo true
|
116
|
-
STDOUT.sync = sync
|
117
|
-
puts
|
118
|
-
end
|
119
|
-
end.call
|
95
|
+
rubyforge = RubyForge.new
|
96
|
+
group_id, package_id, release_name = [RUBY_FORGE_PROJECT, PKG_NAME, RELEASE_NAME]
|
97
|
+
rubyforge.scrape_config
|
98
|
+
|
99
|
+
ac = rubyforge.autoconfig
|
100
|
+
if ! ac["package_ids"].include?(PKG_NAME)
|
101
|
+
rubyforge.create_package(RUBY_FORGE_PROJECT, PKG_NAME)
|
102
|
+
puts "Updating package_id for #{RUBY_FORGE_PROJECT}"
|
103
|
+
rubyforge.scrape_project(RUBY_FORGE_PROJECT)
|
120
104
|
end
|
121
105
|
|
122
|
-
login_response = Net::HTTP.start("rubyforge.org", 80) do |http|
|
123
|
-
data = [
|
124
|
-
"login=1",
|
125
|
-
"form_loginname=#{RUBY_FORGE_USER}",
|
126
|
-
"form_pw=#{password}"
|
127
|
-
].join("&")
|
128
|
-
http.post("/account/login.php", data)
|
129
|
-
end
|
130
|
-
|
131
|
-
cookie = login_response["set-cookie"]
|
132
|
-
raise "Login failed" unless cookie
|
133
|
-
headers = { "Cookie" => cookie }
|
134
|
-
|
135
|
-
release_uri = "http://rubyforge.org/frs/admin/?group_id=#{group_id}"
|
136
|
-
release_data = open(release_uri, headers) { |data| data.read }
|
137
|
-
package_id = release_data[/[?&]package_id=(\d+)/, 1]
|
138
|
-
raise "Couldn't get package id" unless package_id
|
139
|
-
|
140
106
|
first_file = true
|
141
|
-
release_id = ""
|
142
|
-
|
143
107
|
files.each do |filename|
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
release_date = Time.now.strftime("%Y-%m-%d %H:%M")
|
153
|
-
type_map = {
|
154
|
-
".zip" => "3000",
|
155
|
-
".tgz" => "3110",
|
156
|
-
".gz" => "3110",
|
157
|
-
".gem" => "1400"
|
158
|
-
}; type_map.default = "9999"
|
159
|
-
type = type_map[file_ext]
|
160
|
-
boundary = "rubyqMY6QN9bp6e4kS21H4y0zxcvoor"
|
161
|
-
|
162
|
-
query_hash = if first_file then {
|
163
|
-
"group_id" => group_id,
|
164
|
-
"package_id" => package_id,
|
165
|
-
"release_name" => RELEASE_NAME,
|
166
|
-
"release_date" => release_date,
|
167
|
-
"type_id" => type,
|
168
|
-
"processor_id" => "8000", # Any
|
169
|
-
"release_notes" => "",
|
170
|
-
"release_changes" => "",
|
171
|
-
"preformatted" => "1",
|
172
|
-
"submit" => "1"
|
173
|
-
} else {
|
174
|
-
"group_id" => group_id,
|
175
|
-
"release_id" => release_id,
|
176
|
-
"package_id" => package_id,
|
177
|
-
"step2" => "1",
|
178
|
-
"type_id" => type,
|
179
|
-
"processor_id" => "8000", # Any
|
180
|
-
"submit" => "Add This File"
|
181
|
-
}
|
182
|
-
end
|
183
|
-
|
184
|
-
query = "?" + query_hash.map do |(name, value)|
|
185
|
-
[name, URI.encode(value)].join("=")
|
186
|
-
end.join("&")
|
187
|
-
|
188
|
-
data = [
|
189
|
-
"--" + boundary,
|
190
|
-
"Content-Disposition: form-data; name=\"userfile\"; filename=\"#{basename}\"",
|
191
|
-
"Content-Type: application/octet-stream",
|
192
|
-
"Content-Transfer-Encoding: binary",
|
193
|
-
"", file_data, ""
|
194
|
-
].join("\x0D\x0A")
|
195
|
-
|
196
|
-
release_headers = headers.merge(
|
197
|
-
"Content-Type" => "multipart/form-data; boundary=#{boundary}"
|
198
|
-
)
|
199
|
-
|
200
|
-
target = first_file ? "/frs/admin/qrs.php" : "/frs/admin/editrelease.php"
|
201
|
-
http.post(target + query, data, release_headers)
|
202
|
-
end
|
203
|
-
|
204
|
-
if first_file then
|
205
|
-
#puts release_response.body
|
206
|
-
release_id = release_response.body[/release_id=(\d+)/, 1]
|
207
|
-
raise("Couldn't get release id") unless release_id
|
108
|
+
group_id = Integer(group_id) rescue group_id
|
109
|
+
package_id = Integer(package_id) rescue package_id
|
110
|
+
|
111
|
+
if first_file
|
112
|
+
rubyforge.add_release group_id, package_id, release_name, filename
|
113
|
+
first_file = false
|
114
|
+
else
|
115
|
+
rubyforge.add_file group_id, package_id, release_name, filename
|
208
116
|
end
|
209
|
-
|
210
|
-
first_file = false
|
211
117
|
end
|
118
|
+
|
212
119
|
end
|
213
120
|
end
|
214
121
|
|
data/lib/rbarcode/base.rb
CHANGED