mediafire 1.2.1 → 1.3.0
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.
- 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)
|