imagevenue 0.0.1 → 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- data/bin/image_venue +111 -0
- data/{image_venue.rb → lib/image_venue.rb} +6 -4
- data/{image_venue → lib/image_venue}/authenticate.rb +2 -2
- data/{image_venue → lib/image_venue}/directory.rb +2 -2
- data/{image_venue → lib/image_venue}/file.rb +0 -0
- data/{image_venue → lib/image_venue}/net_http_get_extensions.rb +0 -0
- data/{image_venue → lib/image_venue}/net_http_post_extensions.rb +0 -0
- data/{image_venue → lib/image_venue}/upload.rb +3 -3
- data/{image_venue → lib/image_venue}/upload_file.rb +0 -0
- metadata +16 -15
data/bin/image_venue
ADDED
@@ -0,0 +1,111 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
$LOAD_PATH.push(File.expand_path(File.dirname(__FILE__) + '/../lib'))
|
4
|
+
|
5
|
+
require 'getoptlong'
|
6
|
+
#require 'rubygems'
|
7
|
+
require 'image_venue'
|
8
|
+
|
9
|
+
|
10
|
+
options = GetoptLong.new(
|
11
|
+
['-c', '--cookie', GetoptLong::OPTIONAL_ARGUMENT],
|
12
|
+
['-p', '--password', GetoptLong::REQUIRED_ARGUMENT],
|
13
|
+
['-u', '--username', GetoptLong::REQUIRED_ARGUMENT]
|
14
|
+
)
|
15
|
+
options_hash = {}
|
16
|
+
options.each do |option, argument|
|
17
|
+
options_hash[option] = argument
|
18
|
+
end
|
19
|
+
command = ARGV.shift
|
20
|
+
cookie = nil
|
21
|
+
|
22
|
+
if command == 'list'
|
23
|
+
ImageVenue.authenticate(options_hash['-u'], options_hash['-p'], cookie)
|
24
|
+
if ImageVenue.authenticate.login
|
25
|
+
ImageVenue.directory.list.each do |directory|
|
26
|
+
puts directory
|
27
|
+
end
|
28
|
+
exit(0)
|
29
|
+
else
|
30
|
+
exit(-10)
|
31
|
+
end
|
32
|
+
|
33
|
+
elsif command == 'files'
|
34
|
+
directory = ARGV.shift
|
35
|
+
unless directory.nil? or directory.empty?
|
36
|
+
ImageVenue.authenticate(options_hash['-u'], options_hash['-p'], cookie)
|
37
|
+
if ImageVenue.authenticate.login
|
38
|
+
ImageVenue.directory.files(directory).each do |file|
|
39
|
+
puts file.basename
|
40
|
+
end
|
41
|
+
exit(0)
|
42
|
+
else
|
43
|
+
exit(-10)
|
44
|
+
end
|
45
|
+
else
|
46
|
+
exit(-20)
|
47
|
+
end
|
48
|
+
|
49
|
+
elsif command == 'create'
|
50
|
+
directory = ARGV.shift
|
51
|
+
unless directory.nil? or directory.empty?
|
52
|
+
ImageVenue.authenticate(options_hash['-u'], options_hash['-p'], cookie)
|
53
|
+
if ImageVenue.authenticate.login
|
54
|
+
if ImageVenue.directory.create(directory)
|
55
|
+
exit(0)
|
56
|
+
else
|
57
|
+
exit(-30)
|
58
|
+
end
|
59
|
+
else
|
60
|
+
exit(-10)
|
61
|
+
end
|
62
|
+
else
|
63
|
+
exit(-20)
|
64
|
+
end
|
65
|
+
|
66
|
+
elsif command == 'upload'
|
67
|
+
directory = ARGV.shift
|
68
|
+
files = ARGV.clone
|
69
|
+
unless directory.nil? or directory.empty? or files.nil? or files.empty?
|
70
|
+
ImageVenue.authenticate(options_hash['-u'], options_hash['-p'], cookie)
|
71
|
+
if ImageVenue.authenticate.login
|
72
|
+
if ImageVenue.directory.select_or_create(directory)
|
73
|
+
upload = ImageVenue::Upload.new
|
74
|
+
files.each do |file|
|
75
|
+
upload_file = ImageVenue::UploadFile.from_local_path(file)
|
76
|
+
upload.add(upload_file)
|
77
|
+
end
|
78
|
+
upload.debug = true
|
79
|
+
upload.process
|
80
|
+
exit(0)
|
81
|
+
else
|
82
|
+
exit(-30)
|
83
|
+
end
|
84
|
+
else
|
85
|
+
exit(-10)
|
86
|
+
end
|
87
|
+
else
|
88
|
+
exit(-20)
|
89
|
+
end
|
90
|
+
|
91
|
+
elsif command == 'delete'
|
92
|
+
directory = ARGV.shift
|
93
|
+
unless directory.nil? or directory.empty?
|
94
|
+
ImageVenue.authenticate(options_hash['-u'], options_hash['-p'], cookie)
|
95
|
+
if ImageVenue.authenticate.login
|
96
|
+
if ImageVenue.directory.delete(directory)
|
97
|
+
exit(0)
|
98
|
+
else
|
99
|
+
exit(-30)
|
100
|
+
end
|
101
|
+
else
|
102
|
+
exit(-10)
|
103
|
+
end
|
104
|
+
else
|
105
|
+
exit(-20)
|
106
|
+
end
|
107
|
+
|
108
|
+
else
|
109
|
+
puts "USAGE: #{$0} -u <USERNAME> -p <PASSWORD> <COMMAND> [<ARGUMENT>]"
|
110
|
+
exit(-1)
|
111
|
+
end
|
@@ -7,6 +7,11 @@ require 'uri' unless defined?(URI)
|
|
7
7
|
require 'rubygems' unless defined?(Gem)
|
8
8
|
require 'hpricot' unless defined?(Hpricot)
|
9
9
|
|
10
|
+
module Kernel
|
11
|
+
class File < File
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
10
15
|
module ImageVenue
|
11
16
|
def self.base_url
|
12
17
|
@base_url ||= 'http://users.imagevenue.com'
|
@@ -17,7 +22,7 @@ module ImageVenue
|
|
17
22
|
end
|
18
23
|
|
19
24
|
def self.version
|
20
|
-
@version ||= [0, 0,
|
25
|
+
@version ||= [0, 0, 2]
|
21
26
|
end
|
22
27
|
|
23
28
|
def self.debug
|
@@ -46,6 +51,3 @@ require 'image_venue/directory'
|
|
46
51
|
require 'image_venue/file'
|
47
52
|
require 'image_venue/upload'
|
48
53
|
require 'image_venue/upload_file'
|
49
|
-
|
50
|
-
if $0 == __FILE__
|
51
|
-
end
|
@@ -64,12 +64,12 @@ module ImageVenue
|
|
64
64
|
def login
|
65
65
|
puts_debug "Trying to login ..."
|
66
66
|
response = Net::HTTP.post_form(self.class.login_uri, self.login_params)
|
67
|
-
unless response.header['Set-Cookie'].
|
67
|
+
unless response.header['Set-Cookie'].nil? or response.header['Set-Cookie'].empty?
|
68
68
|
self.cookie = {}
|
69
69
|
self.cookie[self.class.cookie_user_key] = $1 if response.header['Set-Cookie'] =~ /#{Regexp.escape(self.class.cookie_user_key)}=(.+?)[,;]/
|
70
70
|
self.cookie[self.class.cookie_root_key] = $1 if response.header['Set-Cookie'] =~ /#{Regexp.escape(self.class.cookie_root_key)}=(\d+)/
|
71
71
|
response_timestamp = Net::HTTP.get_response(ImageVenue.base_uri)
|
72
|
-
unless response_timestamp.header['Set-Cookie'].
|
72
|
+
unless response_timestamp.header['Set-Cookie'].nil? or response_timestamp.header['Set-Cookie'].empty?
|
73
73
|
self.cookie[self.class.cookie_timestamp_key] = $1 if response_timestamp.header['Set-Cookie'] =~ /#{Regexp.escape(self.class.cookie_timestamp_key)}=(.+?)[,;]/
|
74
74
|
puts_debug "Login successfull!"
|
75
75
|
return true
|
@@ -143,7 +143,7 @@ module ImageVenue
|
|
143
143
|
response = Net::HTTP.start(self.class.select_uri.host, self.class.select_uri.port) do |http|
|
144
144
|
http.request(request)
|
145
145
|
end
|
146
|
-
if response.is_a?(Net::HTTPFound) and not response.header['Set-Cookie'].
|
146
|
+
if response.is_a?(Net::HTTPFound) and not (response.header['Set-Cookie'].nil? or response.header['Set-Cookie'].empty?)
|
147
147
|
self.selected_directory = directory
|
148
148
|
ImageVenue.authenticate.cookie[self.class.cookie_directory_key] = directory
|
149
149
|
puts_debug "Directory successfully selected!"
|
@@ -173,7 +173,7 @@ module ImageVenue
|
|
173
173
|
response = Net::HTTP.start(self.class.create_uri.host, self.class.create_uri.port) do |http|
|
174
174
|
http.request(request)
|
175
175
|
end
|
176
|
-
if response.is_a?(Net::HTTPSuccess) and not response.header['Set-Cookie'].
|
176
|
+
if response.is_a?(Net::HTTPSuccess) and not (response.header['Set-Cookie'].nil? or response.header['Set-Cookie'].empty?)
|
177
177
|
self.selected_directory = directory
|
178
178
|
self.directories.insert(0, directory)
|
179
179
|
ImageVenue.authenticate.cookie[self.class.cookie_directory_key] = directory
|
File without changes
|
File without changes
|
File without changes
|
@@ -73,9 +73,9 @@ module ImageVenue
|
|
73
73
|
end
|
74
74
|
end
|
75
75
|
|
76
|
-
def add(
|
77
|
-
if
|
78
|
-
self.files.push(
|
76
|
+
def add(upload_file)
|
77
|
+
if upload_file.is_a?(ImageVenue::UploadFile)
|
78
|
+
self.files.push(upload_file)
|
79
79
|
return true
|
80
80
|
else
|
81
81
|
return false
|
File without changes
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: imagevenue
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Michael Nowak
|
@@ -9,8 +9,8 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2009-02-
|
13
|
-
default_executable:
|
12
|
+
date: 2009-02-20 00:00:00 +01:00
|
13
|
+
default_executable: image_venue
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: hpricot
|
@@ -24,28 +24,29 @@ dependencies:
|
|
24
24
|
version:
|
25
25
|
description: Accessing your ImageVenue account via a Ruby-Library. With support for listing, creating, deleting directories and listing, uploading and deleting files. Generates BB-Code or HTML-Code four you, too.
|
26
26
|
email: michael.nowak@thexsystem.de
|
27
|
-
executables:
|
28
|
-
|
27
|
+
executables:
|
28
|
+
- image_venue
|
29
29
|
extensions: []
|
30
30
|
|
31
31
|
extra_rdoc_files: []
|
32
32
|
|
33
33
|
files:
|
34
|
-
- image_venue
|
35
|
-
- image_venue/authenticate.rb
|
36
|
-
- image_venue/directory.rb
|
37
|
-
- image_venue/file.rb
|
38
|
-
- image_venue/net_http_get_extensions.rb
|
39
|
-
- image_venue/net_http_post_extensions.rb
|
40
|
-
- image_venue/upload.rb
|
41
|
-
- image_venue/upload_file.rb
|
34
|
+
- bin/image_venue
|
35
|
+
- lib/image_venue/authenticate.rb
|
36
|
+
- lib/image_venue/directory.rb
|
37
|
+
- lib/image_venue/file.rb
|
38
|
+
- lib/image_venue/net_http_get_extensions.rb
|
39
|
+
- lib/image_venue/net_http_post_extensions.rb
|
40
|
+
- lib/image_venue/upload.rb
|
41
|
+
- lib/image_venue/upload_file.rb
|
42
|
+
- lib/image_venue.rb
|
42
43
|
has_rdoc: false
|
43
|
-
homepage:
|
44
|
+
homepage: http://imagevenue.rubyforge.org/
|
44
45
|
post_install_message:
|
45
46
|
rdoc_options: []
|
46
47
|
|
47
48
|
require_paths:
|
48
|
-
-
|
49
|
+
- lib
|
49
50
|
required_ruby_version: !ruby/object:Gem::Requirement
|
50
51
|
requirements:
|
51
52
|
- - ">="
|