rbarcode 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. data/Rakefile +19 -112
  2. data/lib/rbarcode/base.rb +1 -1
  3. 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 'rake/contrib/rubyforgepublisher'
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
- require 'net/http'
96
- require 'open-uri'
97
-
98
- project_uri = "http://rubyforge.org/projects/#{RUBY_FORGE_PROJECT}/"
99
- project_data = open(project_uri) { |data| data.read }
100
- group_id = project_data[/[?&]group_id=(\d+)/, 1]
101
- raise "Couldn't get group id" unless group_id
102
-
103
- # This echos password to shell which is a bit sucky
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
- puts "FILENAME: #{filename}"
145
- basename = File.basename(filename)
146
- file_ext = File.extname(filename)
147
- file_data = File.open(filename, "rb") { |file| file.read }
148
-
149
- puts "Releasing #{basename}..."
150
-
151
- release_response = Net::HTTP.start("rubyforge.org", 80) do |http|
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
 
@@ -4,7 +4,7 @@
4
4
 
5
5
  module RBarcode
6
6
 
7
- VERSION = "0.0.1"
7
+ VERSION = "0.0.2"
8
8
 
9
9
  class RBarcodeError < StandardError; end
10
10
  class RBarcodeRequiredFieldError < StandardError; end
metadata CHANGED
@@ -3,7 +3,7 @@ rubygems_version: 0.9.4
3
3
  specification_version: 1
4
4
  name: rbarcode
5
5
  version: !ruby/object:Gem::Version
6
- version: 0.0.1
6
+ version: 0.0.2
7
7
  date: 2007-10-05 00:00:00 -05:00
8
8
  summary: A module for code39 and USPS barcode generation.
9
9
  require_paths: