mediafire 1.2.1 → 1.3.0
Sign up to get free protection for your applications and to get access to all the features.
- data/README.md +4 -1
- data/examples/create_folder.rb +5 -4
- data/examples/delete_file.rb +8 -10
- data/examples/download.rb +8 -9
- data/examples/download_image.rb +5 -8
- data/examples/downloads.rb +10 -20
- data/examples/dropbox_setup.rb +7 -4
- data/examples/dropbox_setup_option.rb +4 -4
- data/examples/dropbox_upload.rb +4 -3
- data/examples/edit_fileoption.rb +8 -17
- data/examples/get_myfile_list.rb +10 -3
- data/examples/image_rotation.rb +8 -9
- data/examples/move_file.rb +9 -7
- data/examples/save_file.rb +6 -3
- data/examples/toggle_acl.rb +4 -4
- data/examples/update.rb +7 -17
- data/examples/upload_file.rb +8 -10
- data/examples/upload_file_with_upload-progress.rb +2 -2
- data/lib/mediafire.rb +1 -0
- data/lib/mediafire/api.rb +388 -161
- data/lib/mediafire/connection.rb +1 -0
- data/lib/mediafire/store_object.rb +118 -86
- data/lib/mediafire/version.rb +1 -1
- data/mediafire.gemspec +1 -0
- metadata +19 -10
- data/examples/common.rb +0 -27
- data/examples/edit_note.rb +0 -16
data/lib/mediafire/connection.rb
CHANGED
@@ -31,6 +31,7 @@ module Mediafire
|
|
31
31
|
request.set_form_data(options)
|
32
32
|
end
|
33
33
|
end
|
34
|
+
request['User-Agent'] = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/535.2 (KHTML, like Gecko) Chrome/15.0.874.120 Safari/535.2'
|
34
35
|
request['Cookie'] = cookie
|
35
36
|
|
36
37
|
if has_multipart? options
|
@@ -1,144 +1,176 @@
|
|
1
1
|
module Mediafire
|
2
2
|
class StoreObject
|
3
|
-
L = {
|
4
|
-
# ??? => 0,
|
5
|
-
:objecttype => 1,
|
6
|
-
:filetype => 2,
|
7
|
-
:quickkey => 3,
|
8
|
-
:folderkey => 4,
|
9
|
-
:filename => 5,
|
10
|
-
:filesize => 6,
|
11
|
-
:readable_filesize => 7,
|
12
|
-
:readable_filesize_unit => 8,
|
13
|
-
:downloads => 9,
|
14
|
-
:upload_date => 10,
|
15
|
-
:access_type => 11,
|
16
|
-
:tags => 12,
|
17
|
-
:description => 13,
|
18
|
-
:password => 14,
|
19
|
-
:imagekey => 15, :folder_quickkey => 15,
|
20
|
-
:dropbox_enabled => 16,
|
21
|
-
:image_rotation => 17, :custom_url => 17,
|
22
|
-
# ??? => 0,
|
23
|
-
:note_subject => 19,
|
24
|
-
:note_description => 20,
|
25
|
-
}
|
26
|
-
|
27
3
|
def initialize(d)
|
28
4
|
data(d)
|
29
5
|
end
|
30
6
|
|
31
7
|
def data(d)
|
32
|
-
|
33
|
-
|
8
|
+
@created = d['created'] || ''
|
9
|
+
@tags = d['tags'] || ''
|
10
|
+
@description = d['desc'] || ''
|
11
|
+
@privacy = d['privacy'] || ''
|
12
|
+
end
|
13
|
+
|
14
|
+
def is_folder?
|
15
|
+
if @data.key?('folder_key')
|
16
|
+
true
|
17
|
+
else
|
18
|
+
false
|
34
19
|
end
|
35
20
|
end
|
36
21
|
|
37
|
-
def
|
38
|
-
@
|
22
|
+
def date
|
23
|
+
@created
|
39
24
|
end
|
40
25
|
|
41
|
-
def
|
42
|
-
|
43
|
-
return true
|
44
|
-
end
|
45
|
-
return false
|
26
|
+
def tags
|
27
|
+
@tags
|
46
28
|
end
|
47
29
|
|
48
|
-
def
|
49
|
-
|
50
|
-
# 9 : compress file
|
51
|
-
# 0 : other
|
52
|
-
@data[L[:filetype]]
|
30
|
+
def description
|
31
|
+
@description
|
53
32
|
end
|
54
33
|
|
55
|
-
def
|
56
|
-
if
|
57
|
-
|
34
|
+
def is_public?
|
35
|
+
if @privacy == 'public'
|
36
|
+
true
|
37
|
+
else
|
38
|
+
false
|
58
39
|
end
|
59
|
-
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
43
|
+
class StoreFolder < StoreObject
|
44
|
+
def data(d)
|
45
|
+
super(d)
|
46
|
+
|
47
|
+
folders = []
|
48
|
+
files = []
|
49
|
+
|
50
|
+
if d.key?('folders')
|
51
|
+
d['folders'].each do |f|
|
52
|
+
folders << StoreFolder.new(f)
|
53
|
+
end
|
54
|
+
end
|
55
|
+
|
56
|
+
if d.key?('files')
|
57
|
+
d['files'].each do |f|
|
58
|
+
files << StoreFile.new(f)
|
59
|
+
end
|
60
|
+
end
|
61
|
+
|
62
|
+
@folders = folders
|
63
|
+
@files = files
|
64
|
+
|
65
|
+
@name = d['name'] || ''
|
66
|
+
@key = d['folderkey'] || ''
|
67
|
+
@dropbox_enabled = d['dropbox_enabled'] || ''
|
68
|
+
@custom_url = d['custom_url'] || ''
|
69
|
+
@revision = d['revision'].to_i
|
70
|
+
@file_count = d['file_count'].to_i
|
60
71
|
end
|
61
72
|
|
62
|
-
def
|
63
|
-
|
73
|
+
def is_folder?
|
74
|
+
true
|
64
75
|
end
|
65
76
|
|
66
|
-
def
|
67
|
-
@
|
77
|
+
def folder_key
|
78
|
+
@key
|
68
79
|
end
|
80
|
+
alias :folderkey :folder_key
|
81
|
+
alias :key :folder_key
|
69
82
|
|
70
83
|
def name
|
71
|
-
@
|
84
|
+
@name
|
72
85
|
end
|
73
86
|
|
74
|
-
def
|
75
|
-
|
87
|
+
def dropbox_enabled?
|
88
|
+
if @dropbox_enabled == 'yes'
|
89
|
+
true
|
90
|
+
else
|
91
|
+
false
|
92
|
+
end
|
76
93
|
end
|
77
94
|
|
78
|
-
def
|
79
|
-
@
|
95
|
+
def revision
|
96
|
+
@revision
|
80
97
|
end
|
81
98
|
|
82
|
-
def
|
83
|
-
@
|
99
|
+
def file_count
|
100
|
+
@file_count
|
84
101
|
end
|
85
102
|
|
86
|
-
def
|
87
|
-
@
|
103
|
+
def custom_url
|
104
|
+
@custom_url
|
88
105
|
end
|
89
106
|
|
90
|
-
def
|
91
|
-
@
|
107
|
+
def folders
|
108
|
+
@folders
|
92
109
|
end
|
93
110
|
|
94
|
-
def
|
95
|
-
@
|
111
|
+
def files
|
112
|
+
@files
|
113
|
+
end
|
114
|
+
end
|
115
|
+
|
116
|
+
class StoreFile < StoreObject
|
117
|
+
def data(d)
|
118
|
+
super(d)
|
119
|
+
|
120
|
+
@filetype = d['filetype'] || ''
|
121
|
+
@key = d['quickkey'] || ''
|
122
|
+
@name = d['filename'] || ''
|
123
|
+
@password_protected = d['password_protected'] || ''
|
124
|
+
@hash = d['hash'] || ''
|
125
|
+
@size = d['size'].to_i
|
126
|
+
@downloads = d['downloads'].to_i
|
96
127
|
end
|
97
128
|
|
98
|
-
def
|
99
|
-
@
|
129
|
+
def filetype
|
130
|
+
@filetype
|
100
131
|
end
|
101
132
|
|
102
|
-
def
|
103
|
-
|
133
|
+
def is_folder?
|
134
|
+
false
|
104
135
|
end
|
105
136
|
|
106
|
-
def
|
107
|
-
if @
|
108
|
-
|
137
|
+
def is_picture?
|
138
|
+
if @filetype == 'image'
|
139
|
+
true
|
140
|
+
else
|
141
|
+
false
|
109
142
|
end
|
110
|
-
return false
|
111
143
|
end
|
112
144
|
|
113
|
-
def
|
114
|
-
@
|
145
|
+
def quick_key
|
146
|
+
@key
|
115
147
|
end
|
148
|
+
alias :quickkey :quick_key
|
149
|
+
alias :key :quick_key
|
116
150
|
|
117
|
-
def
|
118
|
-
|
119
|
-
return true
|
120
|
-
end
|
121
|
-
return false
|
151
|
+
def name
|
152
|
+
@name
|
122
153
|
end
|
123
154
|
|
124
|
-
def
|
125
|
-
|
126
|
-
# 90
|
127
|
-
# 180
|
128
|
-
# 270
|
129
|
-
@data[L[:image_rotation]]
|
155
|
+
def size
|
156
|
+
@size
|
130
157
|
end
|
131
158
|
|
132
|
-
def
|
133
|
-
@
|
159
|
+
def downloads
|
160
|
+
@downloads
|
134
161
|
end
|
135
162
|
|
136
|
-
def
|
137
|
-
@
|
163
|
+
def protected?
|
164
|
+
if @password_protected == 'yes'
|
165
|
+
true
|
166
|
+
else
|
167
|
+
false
|
168
|
+
end
|
138
169
|
end
|
139
170
|
|
140
|
-
def
|
141
|
-
@
|
171
|
+
def hash
|
172
|
+
@hash
|
142
173
|
end
|
174
|
+
alias :imagekey :hash
|
143
175
|
end
|
144
176
|
end
|
data/lib/mediafire/version.rb
CHANGED
data/mediafire.gemspec
CHANGED
@@ -19,6 +19,7 @@ Gem::Specification.new do |s|
|
|
19
19
|
s.require_paths = ["lib"]
|
20
20
|
|
21
21
|
s.add_runtime_dependency "nokogiri", ">= 1.5.0"
|
22
|
+
s.add_runtime_dependency "json", ">= 1.6.1"
|
22
23
|
s.add_runtime_dependency "multipart-post", ">= 1.1.3"
|
23
24
|
s.add_runtime_dependency "net-http-uploadprogress", ">= 1.0.0"
|
24
25
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mediafire
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.3.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2011-
|
12
|
+
date: 2011-11-22 00:00:00.000000000Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: nokogiri
|
16
|
-
requirement: &
|
16
|
+
requirement: &70193817921980 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,21 @@ dependencies:
|
|
21
21
|
version: 1.5.0
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70193817921980
|
25
|
+
- !ruby/object:Gem::Dependency
|
26
|
+
name: json
|
27
|
+
requirement: &70193817921480 !ruby/object:Gem::Requirement
|
28
|
+
none: false
|
29
|
+
requirements:
|
30
|
+
- - ! '>='
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: 1.6.1
|
33
|
+
type: :runtime
|
34
|
+
prerelease: false
|
35
|
+
version_requirements: *70193817921480
|
25
36
|
- !ruby/object:Gem::Dependency
|
26
37
|
name: multipart-post
|
27
|
-
requirement: &
|
38
|
+
requirement: &70193817951980 !ruby/object:Gem::Requirement
|
28
39
|
none: false
|
29
40
|
requirements:
|
30
41
|
- - ! '>='
|
@@ -32,10 +43,10 @@ dependencies:
|
|
32
43
|
version: 1.1.3
|
33
44
|
type: :runtime
|
34
45
|
prerelease: false
|
35
|
-
version_requirements: *
|
46
|
+
version_requirements: *70193817951980
|
36
47
|
- !ruby/object:Gem::Dependency
|
37
48
|
name: net-http-uploadprogress
|
38
|
-
requirement: &
|
49
|
+
requirement: &70193817951520 !ruby/object:Gem::Requirement
|
39
50
|
none: false
|
40
51
|
requirements:
|
41
52
|
- - ! '>='
|
@@ -43,7 +54,7 @@ dependencies:
|
|
43
54
|
version: 1.0.0
|
44
55
|
type: :runtime
|
45
56
|
prerelease: false
|
46
|
-
version_requirements: *
|
57
|
+
version_requirements: *70193817951520
|
47
58
|
description: A Ruby wrapper for the unofficial Mediafire API
|
48
59
|
email:
|
49
60
|
- m@skahack.com
|
@@ -56,7 +67,6 @@ files:
|
|
56
67
|
- MIT_LICENSE
|
57
68
|
- README.md
|
58
69
|
- Rakefile
|
59
|
-
- examples/common.rb
|
60
70
|
- examples/create_folder.rb
|
61
71
|
- examples/delete_file.rb
|
62
72
|
- examples/download.rb
|
@@ -66,7 +76,6 @@ files:
|
|
66
76
|
- examples/dropbox_setup_option.rb
|
67
77
|
- examples/dropbox_upload.rb
|
68
78
|
- examples/edit_fileoption.rb
|
69
|
-
- examples/edit_note.rb
|
70
79
|
- examples/get_myfile_list.rb
|
71
80
|
- examples/image_rotation.rb
|
72
81
|
- examples/move_file.rb
|
data/examples/common.rb
DELETED
@@ -1,27 +0,0 @@
|
|
1
|
-
require '../lib/mediafire'
|
2
|
-
require 'uuidtools'
|
3
|
-
|
4
|
-
def login
|
5
|
-
account = ''
|
6
|
-
password = ''
|
7
|
-
|
8
|
-
m = Mediafire.new
|
9
|
-
m.login(account, password)
|
10
|
-
return m
|
11
|
-
end
|
12
|
-
|
13
|
-
def pritty_format_datafile(f)
|
14
|
-
out = "filename:#{f.name} "
|
15
|
-
out << "size:#{f.size} "
|
16
|
-
out << "link:http://www.mediafire.com/download.php?#{f.quickkey}"
|
17
|
-
end
|
18
|
-
|
19
|
-
def root_folder
|
20
|
-
key = 'b37807725fe86791'
|
21
|
-
data = ['1', '2', '0', key, key, 'myfiles', '0'].fill('', 7..20)
|
22
|
-
Mediafire::StoreObject.new(data)
|
23
|
-
end
|
24
|
-
|
25
|
-
def create_uuid
|
26
|
-
UUIDTools::UUID.random_create.to_s
|
27
|
-
end
|
data/examples/edit_note.rb
DELETED
@@ -1,16 +0,0 @@
|
|
1
|
-
require './common'
|
2
|
-
|
3
|
-
uuid = create_uuid
|
4
|
-
File.open(uuid, "w") do |f|
|
5
|
-
f.write(uuid)
|
6
|
-
end
|
7
|
-
|
8
|
-
m = login
|
9
|
-
file = m.upload(uuid)
|
10
|
-
note = {
|
11
|
-
:subject => 'edited',
|
12
|
-
:description=> 'edited',
|
13
|
-
}
|
14
|
-
m.edit_note(file, note)
|
15
|
-
|
16
|
-
File.delete(uuid)
|