divshare 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- data/History.txt +4 -0
- data/License.txt +20 -0
- data/Manifest.txt +35 -0
- data/README.txt +50 -0
- data/Rakefile +4 -0
- data/config/hoe.rb +72 -0
- data/config/requirements.rb +17 -0
- data/lib/divshare.rb +4 -0
- data/lib/divshare/client.rb +192 -0
- data/lib/divshare/divshare_file.rb +112 -0
- data/lib/divshare/errors.rb +11 -0
- data/lib/divshare/post_args.rb +16 -0
- data/lib/divshare/user.rb +13 -0
- data/lib/divshare/version.rb +9 -0
- data/log/debug.log +0 -0
- data/script/destroy +14 -0
- data/script/generate +14 -0
- data/script/test_run_client +59 -0
- data/script/txt2html +74 -0
- data/setup.rb +1585 -0
- data/spec/client_spec.rb +221 -0
- data/spec/divshare_file_spec.rb +186 -0
- data/spec/fixtures/divshare_mock_valid_audio.html +299 -0
- data/spec/fixtures/divshare_mock_valid_video.html +294 -0
- data/spec/post_args_spec.rb +54 -0
- data/spec/spec_helper.rb +153 -0
- data/spec/user_spec.rb +18 -0
- data/tasks/deployment.rake +34 -0
- data/tasks/environment.rake +7 -0
- data/tasks/website.rake +17 -0
- data/website/index.html +93 -0
- data/website/index.txt +39 -0
- data/website/javascripts/rounded_corners_lite.inc.js +285 -0
- data/website/stylesheets/screen.css +138 -0
- data/website/template.rhtml +48 -0
- metadata +92 -0
@@ -0,0 +1,294 @@
|
|
1
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
2
|
+
<html xmlns="http://www.w3.org/1999/xhtml">
|
3
|
+
<head>
|
4
|
+
<meta content="text/html; charset=iso-8859-1" http-equiv="Content-Type" />
|
5
|
+
|
6
|
+
<meta name="description" content="DivShare is a free file hosting service for everyone. No registration required!" />
|
7
|
+
<meta name="keywords" content="CHROMIUM_2.mpg, free file host, free file hosting, free file sharing, flash mp3 player, photo sharing, photo galleries, image galleries, file host, file sharing, image host, image sharing, upload, free, DivShare" />
|
8
|
+
|
9
|
+
<title>CHROMIUM_2.mpg - DivShare</title>
|
10
|
+
|
11
|
+
<link href="http://www.divshare.com/styles/v2/global.css" rel="stylesheet" /><link href="/styles/v2/download.css" rel="stylesheet" /><script language="javascript" src="/scripts/prototype-1_4.js"></script><script language="javascript" src="/scripts/prototype.js"></script><script src="/scripts/scriptaculous/scriptaculous.js?load=effects" type="text/javascript"></script><script language="javascript" src="/scripts/global.js"></script><script language="javascript" type="text/javascript" src="/scripts/download.js"></script><script language="javascript" type="text/javascript" src="/scripts/swfobject.js"></script>
|
12
|
+
|
13
|
+
|
14
|
+
|
15
|
+
</head>
|
16
|
+
|
17
|
+
<body>
|
18
|
+
<address>Bogus</address>
|
19
|
+
|
20
|
+
<center>
|
21
|
+
|
22
|
+
<div id="header">
|
23
|
+
<div class="wrapper">
|
24
|
+
|
25
|
+
|
26
|
+
<table cellspacing="0" border="0" cellpadding="0" width="100%">
|
27
|
+
<tr>
|
28
|
+
|
29
|
+
<td rowspan="2" width="190"><a href="http://www.divshare.com/"><img title="DivShare" class="logo" src="http://www.divshare.com/images/v2/logo.png" border="0" alt="DivShare" /></a></td>
|
30
|
+
<td valign="middle" align="right">
|
31
|
+
|
32
|
+
</td>
|
33
|
+
</tr>
|
34
|
+
<tr>
|
35
|
+
<td class="tabs">
|
36
|
+
<ul>
|
37
|
+
<!-- NOTE: These appear in reverse order! -->
|
38
|
+
|
39
|
+
|
40
|
+
|
41
|
+
|
42
|
+
<li><a href="http://www.divshare.com/" style="border:none;">home</a></li>
|
43
|
+
|
44
|
+
<li><a href="http://www.divshare.com/page/about">about us</a></li>
|
45
|
+
|
46
|
+
<li><a href="http://www.divshare.com/signup">sign up</a></li>
|
47
|
+
|
48
|
+
|
49
|
+
<li><a href="http://www.divshare.com/login">log in</a></li>
|
50
|
+
|
51
|
+
|
52
|
+
|
53
|
+
|
54
|
+
</ul>
|
55
|
+
</td>
|
56
|
+
|
57
|
+
</tr>
|
58
|
+
</table>
|
59
|
+
|
60
|
+
|
61
|
+
</div><!--wrapper-->
|
62
|
+
</div><!--header-->
|
63
|
+
|
64
|
+
<div class="wrapper">
|
65
|
+
|
66
|
+
|
67
|
+
|
68
|
+
<script language="javascript" type="text/javascript">
|
69
|
+
|
70
|
+
function updateInfo(){ return "updated"; }
|
71
|
+
//
|
72
|
+
</script>
|
73
|
+
|
74
|
+
|
75
|
+
|
76
|
+
|
77
|
+
|
78
|
+
<div style="margin:5px 0 20px 0; text-align:center;">
|
79
|
+
<script type="text/javascript">
|
80
|
+
google_ad_client = "pub-8392263506318316";
|
81
|
+
google_ad_width = 728;
|
82
|
+
google_ad_height = 90;
|
83
|
+
google_ad_format = "728x90_as";
|
84
|
+
google_ad_type = "text_image";
|
85
|
+
//2007-09-10: DivShare
|
86
|
+
google_ad_channel = "4464379279";
|
87
|
+
google_color_border = "FFFFFF";
|
88
|
+
google_color_bg = "FFFFFF";
|
89
|
+
google_color_link = "0033CC";
|
90
|
+
google_color_text = "7F7F7F";
|
91
|
+
google_color_url = "008000";
|
92
|
+
//
|
93
|
+
</script>
|
94
|
+
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
|
95
|
+
</script> </div>
|
96
|
+
|
97
|
+
<!-- MAIN -->
|
98
|
+
|
99
|
+
|
100
|
+
<div style="margin-bottom:10px;">
|
101
|
+
|
102
|
+
|
103
|
+
<h2 class="above" style="border:none; padding-bottom:0; margin-bottom:5px;">
|
104
|
+
CHROMIUM_2.mpg
|
105
|
+
</h2>
|
106
|
+
|
107
|
+
<table cellspacing="0" border="0" cellpadding="0" width="100%">
|
108
|
+
<tr>
|
109
|
+
<td class="video_td" valign="top">
|
110
|
+
|
111
|
+
|
112
|
+
<object id="fullscreen" height="455" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,18,0" width="560">
|
113
|
+
|
114
|
+
<param name="movie" value="http://www.divshare.com/flash/video?myId=2173654-e71&autoplay=true" />
|
115
|
+
|
116
|
+
<param name="allowFullScreen" value="true" />
|
117
|
+
|
118
|
+
<param name="allowScriptAccess" value="always" />
|
119
|
+
|
120
|
+
<embed name="fullscreen" src="http://www.divshare.com/flash/video?myId=2173654-e71&autoplay=true" allowfullscreen="true" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" allowscriptaccess="always" height="455" width="560"></embed>
|
121
|
+
</object>
|
122
|
+
|
123
|
+
|
124
|
+
|
125
|
+
<div style="padding-top:5px;"></div>
|
126
|
+
|
127
|
+
<center>
|
128
|
+
<div style="text-align:left; margin:5px 25px 10px 25px;">
|
129
|
+
|
130
|
+
<div class="icon_container" style="background:url('/images/icons/folder.gif') no-repeat top left;">
|
131
|
+
<h3>Films <small class="gray unbold">— 4 files</small></h3>
|
132
|
+
|
133
|
+
<table cellspacing="0" border="0" cellpadding="0">
|
134
|
+
|
135
|
+
<tr><td><div class="folder_file_list" style="background:url('/images/icons/files_16/file_video.gif') no-repeat left center;"><a href="/download/2173631-31a" title="midnight_outtake.mov">midnight_outtake.mov</a></div></td><td><div class="folder_file_list" style="background:url('/images/icons/files_16/file_video.gif') no-repeat left center;"><a href="/download/2173648-fdc" title="CHROMIUM_2.mov">CHROMIUM_2.mov</a></div></td></tr><tr><td><div class="folder_file_list" style="background:url('/images/icons/files_16/file_video.gif') no-repeat left center;"><a href="/download/2173654-e71" title="CHROMIUM_2.mpg">CHROMIUM_2.mpg</a></div></td><td><div class="folder_file_list" style="background:url('/images/icons/files_16/file_generic.gif') no-repeat left center;"><a href="/download/2173748-fab" title="CH1.mp4">CH1.mp4</a></div></td></tr>
|
136
|
+
|
137
|
+
</table>
|
138
|
+
|
139
|
+
</div>
|
140
|
+
|
141
|
+
</div>
|
142
|
+
</center>
|
143
|
+
|
144
|
+
|
145
|
+
|
146
|
+
</td>
|
147
|
+
<td class="sider_td" valign="top">
|
148
|
+
|
149
|
+
|
150
|
+
<div style="line-height:13pt;">
|
151
|
+
|
152
|
+
» Downloads: 74 <br />
|
153
|
+
|
154
|
+
» Last DL: Oct. 1, 2007<br />
|
155
|
+
|
156
|
+
» Uploaded: Sep. 30, 2007<br />
|
157
|
+
|
158
|
+
» File Size: 2.35 <span class="tiny">MB</span><br />
|
159
|
+
|
160
|
+
|
161
|
+
</div>
|
162
|
+
|
163
|
+
|
164
|
+
<div style="margin-top:8px; padding-top:10px; border-top:1px dotted #ccc;">
|
165
|
+
|
166
|
+
<span class="icon_span" style="background-image:url('/images/icons/files_16/file_video.gif'); padding-top:4px; padding-bottom:4px; font-size:8pt;">
|
167
|
+
|
168
|
+
<a href="http://s08.divshare.com/launch.php?f=2173654&s=e71" class="action" title="Download Original">Download Original</a>
|
169
|
+
|
170
|
+
</span>
|
171
|
+
|
172
|
+
</div>
|
173
|
+
|
174
|
+
<div class="sider_divider">
|
175
|
+
|
176
|
+
<table cellspacing="0" border="0" cellpadding="0">
|
177
|
+
|
178
|
+
<tr>
|
179
|
+
|
180
|
+
<td style="padding-bottom:5px;"><strong>Embed:</strong></td>
|
181
|
+
|
182
|
+
<td style="padding:0 0 5px 5px;"><input class="center_sharing_text_field" type="text" value="<object classid=\"clsid:d27cdb6e-ae6d-11cf-96b8-444553540000\" codebase=\"http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,18,0\" width=\"425\" height=\"374\" id=\"divflv\"><param name=\"movie\" value=\"http://www.divshare.com/flash/video?myId=2173654-e71\" /><param name=\"allowFullScreen\" value=\"true\" /><embed src=\"http://www.divshare.com/flash/video?myId=2173654-e71\" width=\"425\" height=\"374\" name=\"divflv\" allowfullscreen=\"true\" type=\"application/x-shockwave-flash\" pluginspage=\"http://www.macromedia.com/go/getflashplayer\"></embed></object>" onclick="this.select();" style="width:118px;" /></td>
|
183
|
+
|
184
|
+
</tr>
|
185
|
+
|
186
|
+
|
187
|
+
|
188
|
+
<tr>
|
189
|
+
|
190
|
+
<td style="padding-bottom:5px;"><strong>Forum:</strong></td>
|
191
|
+
|
192
|
+
<td style="padding:0 0 5px 5px;"><input class="center_sharing_text_field" type="text" value="[url=http://www.divshare.com/download/2173654-e71]DivShare File - CHROMIUM_2.mpg[/url]" onclick="this.select();" style="width:118px;" /></td>
|
193
|
+
|
194
|
+
</tr>
|
195
|
+
|
196
|
+
<tr>
|
197
|
+
|
198
|
+
<td><strong>Link:</strong></td>
|
199
|
+
|
200
|
+
<td style="padding-left:5px;"><input class="center_sharing_text_field" type="text" value="http://www.divshare.com/download/2173654-e71" onclick="this.select();" style="width:118px;" /></td>
|
201
|
+
|
202
|
+
</tr>
|
203
|
+
|
204
|
+
</table>
|
205
|
+
|
206
|
+
|
207
|
+
</div>
|
208
|
+
|
209
|
+
<div class="sider_divider">
|
210
|
+
|
211
|
+
<table cellspacing="0" border="0" cellpadding="0">
|
212
|
+
<tr>
|
213
|
+
<td><strong>Post To:</strong></td>
|
214
|
+
<td class="post_icon"><a href="javascript:myspace_popup('http://www.divshare.com/scripts/social/post_to_myspace.php?f=2173654&s=e71');"><img title="MySpace" src="/images/icons/myspace_16.gif" border="0" alt="MySpace" /></a></td>
|
215
|
+
<td class="post_icon"><a href="javascript:fb_popup('http://www.facebook.com/sharer.php?u=http://www.divshare.com/download/2173654-e71');"><img title="Facebook" src="/images/icons/facebook_16.gif" border="0" alt="Facebook" /></a></td>
|
216
|
+
<td class="post_icon"><a href="http://del.icio.us/post" onclick="window.open('http://del.icio.us/post?v=4&noui&jump=close&url='+encodeURIComponent(location.href)+'&title='+encodeURIComponent(document.title), 'delicious','toolbar=no,width=700,height=400'); return false;"><img title="del.icio.us" src="/images/icons/delicious_16.gif" border="0" alt="del.icio.us" /></a></td>
|
217
|
+
</tr>
|
218
|
+
</table>
|
219
|
+
|
220
|
+
</div>
|
221
|
+
|
222
|
+
<div class="sider_divider flag_text">
|
223
|
+
|
224
|
+
Inappropriate content? Report this file to <a href="/page/support">DivShare Support</a>.
|
225
|
+
</div>
|
226
|
+
|
227
|
+
|
228
|
+
<div class="sider_divider" style="line-height:12pt;">
|
229
|
+
|
230
|
+
|
231
|
+
Your logo, your Flash player.
|
232
|
+
|
233
|
+
<div style="margin-top:1ex;">
|
234
|
+
|
235
|
+
Take control of your Flash video with <strong><a href="/direct">DivShare Direct</a></strong>.</div>
|
236
|
+
|
237
|
+
|
238
|
+
</div>
|
239
|
+
|
240
|
+
</td>
|
241
|
+
</tr>
|
242
|
+
</table>
|
243
|
+
|
244
|
+
|
245
|
+
<div class="sider_divider" style="margin-top:5px; padding-top:15px; text-align:center; font-size:9pt;">
|
246
|
+
<script type="text/javascript">
|
247
|
+
google_ad_client = "pub-8392263506318316";
|
248
|
+
google_ad_width = 336;
|
249
|
+
google_ad_height = 280;
|
250
|
+
google_ad_format = "336x280_as";
|
251
|
+
google_ad_type = "text_image";
|
252
|
+
//2007-09-10: DivShare
|
253
|
+
google_ad_channel = "4464379279";
|
254
|
+
google_color_border = "FFFFFF";
|
255
|
+
google_color_bg = "FFFFFF";
|
256
|
+
google_color_link = "0033CC";
|
257
|
+
google_color_text = "7F7F7F";
|
258
|
+
google_color_url = "008000";
|
259
|
+
//
|
260
|
+
</script>
|
261
|
+
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
|
262
|
+
</script> </div>
|
263
|
+
|
264
|
+
</div>
|
265
|
+
|
266
|
+
|
267
|
+
|
268
|
+
|
269
|
+
|
270
|
+
|
271
|
+
</div><!--wrapper-->
|
272
|
+
|
273
|
+
<div class="buffer"></div>
|
274
|
+
|
275
|
+
<div id="footer">
|
276
|
+
|
277
|
+
<a href="http://www.divshare.com/page/about">about us</a> | <a href="http://www.divshare.com/page/support">support</a> | <a href="http://blog.divshare.com">blog</a> | <a href="http://www.divshare.com/integrate">integrate</a> | <a href="http://www.divshare.com/page/terms">terms of use</a> | <a href="http://www.divshare.com/page/privacy">privacy policy</a> | <a href="http://www.divshare.com/direct">divshare direct</a> | <a href="http://www.divshare.com/page/enterprise">enterprise</a>
|
278
|
+
<div class="copyright">
|
279
|
+
Copyright 2007 DivShare Corporation. All Rights Reserved.
|
280
|
+
</div>
|
281
|
+
|
282
|
+
</div>
|
283
|
+
|
284
|
+
</center>
|
285
|
+
|
286
|
+
<script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
|
287
|
+
</script>
|
288
|
+
<script type="text/javascript">
|
289
|
+
_uacct = "UA-1051809-1";
|
290
|
+
urchinTracker();
|
291
|
+
</script>
|
292
|
+
|
293
|
+
</body>
|
294
|
+
</html>
|
@@ -0,0 +1,54 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/spec_helper'
|
2
|
+
require 'divshare/client'
|
3
|
+
require 'divshare/post_args'
|
4
|
+
include Divshare
|
5
|
+
|
6
|
+
module PostArgsSpecHelper
|
7
|
+
def basic_args(to_merge={})
|
8
|
+
{'api_key' => 'api_key', "api_sig" => 'api_sig', "api_session_key" => 'api_session_key'}.merge(to_merge)
|
9
|
+
end
|
10
|
+
|
11
|
+
def login_args(to_merge={})
|
12
|
+
strip_key_and_sig(to_merge).merge({'method' => 'login'})
|
13
|
+
end
|
14
|
+
|
15
|
+
def logout_args(to_merge={})
|
16
|
+
strip_key_and_sig(to_merge).merge({'method' => 'logout'})
|
17
|
+
end
|
18
|
+
|
19
|
+
def strip_key_and_sig(to_merge={})
|
20
|
+
basic_args(to_merge).reject { |k,v| %w(api_session_key api_sig).include? k }
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
describe "A PostArgs" do
|
25
|
+
include PostArgsSpecHelper
|
26
|
+
before(:each) do
|
27
|
+
@client = mock('client')
|
28
|
+
@client.should_receive(:api_key).and_return('api_key')
|
29
|
+
@login = {'user_email' => 'email', 'user_password' => 'password'}
|
30
|
+
end
|
31
|
+
|
32
|
+
it "should generate appropriate arguments for login" do
|
33
|
+
@client.should_receive(:api_session_key).and_return(nil)
|
34
|
+
PostArgs.new(@client,'login',@login).should == login_args(@login)
|
35
|
+
end
|
36
|
+
|
37
|
+
it "should generate appropriate arguments for logout" do
|
38
|
+
@client.should_receive(:api_session_key).twice.and_return('api_session_key')
|
39
|
+
@client.should_receive(:sign).and_return('api_sig')
|
40
|
+
PostArgs.new(@client,:logout,{}).should == basic_args({'method' => 'logout'})
|
41
|
+
end
|
42
|
+
|
43
|
+
it "should convert symbol keys to strings" do
|
44
|
+
@client.should_receive(:api_session_key).and_return(nil)
|
45
|
+
symbol_keys = {}
|
46
|
+
@login.each { |k,v| symbol_keys[k.to_sym] = v }
|
47
|
+
PostArgs.new(@client,'login',symbol_keys).should == login_args(@login)
|
48
|
+
end
|
49
|
+
|
50
|
+
it "should convert symbol values to strings" do
|
51
|
+
@client.should_receive(:api_session_key).and_return(nil)
|
52
|
+
PostArgs.new(@client,:login,@login).should == login_args(@login)
|
53
|
+
end
|
54
|
+
end
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,153 @@
|
|
1
|
+
lib_path = File.join(File.dirname(__FILE__), '..', 'lib')
|
2
|
+
$:.unshift(lib_path) unless $:.include?(lib_path)
|
3
|
+
|
4
|
+
# From http://www.divshare.com/integrate/api
|
5
|
+
module DivshareMockXML
|
6
|
+
def get_user_info_xml
|
7
|
+
<<-EOS
|
8
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
9
|
+
<response status="1">
|
10
|
+
<user_info>
|
11
|
+
<user_fname>Rob</user_fname>
|
12
|
+
<user_email>support@divshare.com</user_email>
|
13
|
+
</user_info>
|
14
|
+
</response>
|
15
|
+
EOS
|
16
|
+
end
|
17
|
+
|
18
|
+
def get_one_file_xml
|
19
|
+
<<-EOS
|
20
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
21
|
+
<response status="1">
|
22
|
+
<files>
|
23
|
+
<file>
|
24
|
+
<file_id>123456-abc</file_id>
|
25
|
+
<file_name>My Resume.doc</file_name>
|
26
|
+
<file_description>Resume (Draft 3)</file_description>
|
27
|
+
<file_size>0.4 MB</file_size>
|
28
|
+
<downloads>4</downloads>
|
29
|
+
<last_downloaded_at>1192417863</last_downloaded_at>
|
30
|
+
<uploaded_at>1192454938</uploaded_at>
|
31
|
+
<folder_title>Job Applications</folder_title>
|
32
|
+
<folder_id>12345</folder_id>
|
33
|
+
</file>
|
34
|
+
</files>
|
35
|
+
</response>
|
36
|
+
EOS
|
37
|
+
end
|
38
|
+
|
39
|
+
def get_two_files_xml
|
40
|
+
<<-EOS
|
41
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
42
|
+
<response status="1">
|
43
|
+
<files>
|
44
|
+
<file>
|
45
|
+
<file_id>123456-abc</file_id>
|
46
|
+
<file_name>My Resume.doc</file_name>
|
47
|
+
<file_description>Resume (Draft 3)</file_description>
|
48
|
+
<file_size>0.4 MB</file_size>
|
49
|
+
<downloads>4</downloads>
|
50
|
+
<last_downloaded_at>1192417863</last_downloaded_at>
|
51
|
+
<uploaded_at>1192454938</uploaded_at>
|
52
|
+
<folder_title>Job Applications</folder_title>
|
53
|
+
<folder_id>12345</folder_id>
|
54
|
+
</file>
|
55
|
+
<file>
|
56
|
+
<file_id>456789-def</file_id>
|
57
|
+
<file_name>My Audio Resume.mp3</file_name>
|
58
|
+
<file_description>Resume (Draft 3)</file_description>
|
59
|
+
<file_size>4.4 MB</file_size>
|
60
|
+
<downloads>40</downloads>
|
61
|
+
<last_downloaded_at>1192817863</last_downloaded_at>
|
62
|
+
<uploaded_at>1192464938</uploaded_at>
|
63
|
+
<folder_title>Job Applications</folder_title>
|
64
|
+
<folder_id>12345</folder_id>
|
65
|
+
</file>
|
66
|
+
</files>
|
67
|
+
</response>
|
68
|
+
EOS
|
69
|
+
end
|
70
|
+
|
71
|
+
def get_three_files_xml
|
72
|
+
<<-EOS
|
73
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
74
|
+
<response status="1">
|
75
|
+
<files>
|
76
|
+
<file>
|
77
|
+
<file_id>123456-abc</file_id>
|
78
|
+
<file_name>My Resume.doc</file_name>
|
79
|
+
<file_description>Resume (Draft 3)</file_description>
|
80
|
+
<file_size>0.4 MB</file_size>
|
81
|
+
<downloads>4</downloads>
|
82
|
+
<last_downloaded_at>1192417863</last_downloaded_at>
|
83
|
+
<uploaded_at>1192454938</uploaded_at>
|
84
|
+
<folder_title>Job Applications</folder_title>
|
85
|
+
<folder_id>12345</folder_id>
|
86
|
+
</file>
|
87
|
+
<file>
|
88
|
+
<file_id>456789-def</file_id>
|
89
|
+
<file_name>My Audio Resume.mp3</file_name>
|
90
|
+
<file_description>Resume (Draft 3)</file_description>
|
91
|
+
<file_size>4.4 MB</file_size>
|
92
|
+
<downloads>40</downloads>
|
93
|
+
<last_downloaded_at>1192817863</last_downloaded_at>
|
94
|
+
<uploaded_at>1192464938</uploaded_at>
|
95
|
+
<folder_title>Job Applications</folder_title>
|
96
|
+
<folder_id>12345</folder_id>
|
97
|
+
</file>
|
98
|
+
<file>
|
99
|
+
<file_id>789123-ghi</file_id>
|
100
|
+
<file_name>My Video Resume.mov</file_name>
|
101
|
+
<file_description>Resume (Draft 3)</file_description>
|
102
|
+
<file_size>14.4 MB</file_size>
|
103
|
+
<downloads>44</downloads>
|
104
|
+
<last_downloaded_at>1192817864</last_downloaded_at>
|
105
|
+
<uploaded_at>1192464939</uploaded_at>
|
106
|
+
<folder_title>Job Applications</folder_title>
|
107
|
+
<folder_id>12345</folder_id>
|
108
|
+
</file>
|
109
|
+
</files>
|
110
|
+
</response>
|
111
|
+
EOS
|
112
|
+
end
|
113
|
+
|
114
|
+
def successful_login_xml
|
115
|
+
<<-EOS
|
116
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
117
|
+
<response status="1">
|
118
|
+
<api_session_key>123-abcdefghijkl</api_session_key>
|
119
|
+
</response>
|
120
|
+
EOS
|
121
|
+
end
|
122
|
+
|
123
|
+
def successful_logout_xml
|
124
|
+
<<-EOS
|
125
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
126
|
+
<response status="1">
|
127
|
+
<logged_out>true</logged_out>
|
128
|
+
</response>
|
129
|
+
EOS
|
130
|
+
end
|
131
|
+
|
132
|
+
def error_xml(message)
|
133
|
+
<<-EOS
|
134
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
135
|
+
<response status="0">
|
136
|
+
<error>#{message}</error>
|
137
|
+
</response>
|
138
|
+
EOS
|
139
|
+
end
|
140
|
+
|
141
|
+
def get_upload_ticket_xml
|
142
|
+
<<-EOS
|
143
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
144
|
+
<response status="1">
|
145
|
+
<upload_ticket>123-abcdefghijkl</upload_ticket>
|
146
|
+
</response>
|
147
|
+
EOS
|
148
|
+
end
|
149
|
+
|
150
|
+
end
|
151
|
+
|
152
|
+
|
153
|
+
|