1111from urlparse import parse_qs
1212
1313#BASE_URL = "http://10.30.239.237:8080/oauth"
14- BASE_URL = 'http://localhost :8080/v1'
15- BASE_URL_OAUTH = "http://10.30.233.214 :8080/oauth"
14+ BASE_URL = 'http://10.30.238.232 :8080/v1'
15+ BASE_URL_OAUTH = "http://10.30.238.232 :8080/oauth"
1616CLIENT_KEY = "b3af4e669daf880fb16563e6f36051b105188d413"
1717CLIENT_SECRET = "c168e65c18d75b35d8999b534a3776cf"
1818REQUEST_TOKEN_ENDPOINT = "/request_token"
2424 client_secret = CLIENT_SECRET ,
2525 signature_type = SIGNATURE_TYPE_QUERY ,
2626 signature_method = SIGNATURE_PLAINTEXT ,
27- resource_owner_key = 'GmOFBjhSzC0A2rxrnM6gQWKnm6m3Ew ' ,
28- resource_owner_secret = 'RtA8hMYzgxnpoMxd8kBUtVQmcSvM4D ' )
27+ resource_owner_key = 'jBA2wUcPgCUezpPNSNnhOA4h5ZWJyZ ' ,
28+ resource_owner_secret = 'o2NyFGYnk7JqOOwDeMAXrNMZBzARgo ' )
2929
3030
3131
3232
3333# Main definition - constants
34- menu_actions = {}
35-
34+ menu_actions = {}
35+
3636# =======================
3737# MENUS FUNCTIONS
3838# =======================
39-
39+
4040# Main menu
4141def main_menu ():
4242 os .system ('clear' )
43-
43+
4444 print "Welcome,\n "
4545 print "Please choose the menu you want to start:"
4646 print "1. Menu 1"
4747 print "\n 0. Quit"
4848 choice = raw_input (" >> " )
4949 exec_menu (choice )
50-
50+
5151 return
52-
52+
5353# Execute menu
5454def exec_menu (choice ):
5555 os .system ('clear' )
@@ -63,7 +63,7 @@ def exec_menu(choice):
6363 print "Invalid selection, please try again.\n "
6464 menu_actions ['main_menu' ]()
6565 return
66-
66+
6767# Menu 1
6868def menu1 ():
6969 while True :
@@ -79,11 +79,12 @@ def menu1():
7979 print "10. Update folder metadata"
8080 print "11. Delete a file"
8181 print "12. Get folder"
82+ print "13. Upload a new File"
8283 print "0. Quit"
8384 choice = raw_input (" >> " )
8485 exec_menu (choice )
8586 return
86-
87+
8788# Back to main menu
8889def back ():
8990 menu_actions ['main_menu' ]()
@@ -97,7 +98,7 @@ def create_new_file():
9798 else :
9899 url = BASE_URL + "/file?name=" + name
99100 uri , headers , _ = client .sign (url , http_method = 'GET' )
100-
101+
101102 content_file = raw_input ("Content file: " )
102103 headers ['StackSync-API' ] = "v2"
103104 headers ['Content-Type' ] = "text/plain"
@@ -108,6 +109,27 @@ def create_new_file():
108109 else :
109110 print 'Can not create a new file without name'
110111
112+ def upload_new_file ():
113+ name = raw_input ("File name: " )
114+ if name :
115+ parent = raw_input ("Parent id: " )
116+ if parent :
117+ url = BASE_URL + "/file?name=" + name + "&parent=" + parent
118+ else :
119+ url = BASE_URL + "/file?name=" + name
120+ uri , headers , _ = client .sign (url , http_method = 'GET' )
121+ path = raw_input ("Absolute path of the file: " )
122+ #with open (path, "r") as myfile:
123+ # data=myfile.read()
124+ files = {'file' : open (path , 'rb' )}
125+ headers ['StackSync-API' ] = "v2"
126+ r = requests .post (uri , files = files , headers = headers )
127+ print 'response' , r
128+ print 'response' , r .text
129+ else :
130+ print 'Can not create a new file without name'
131+
132+
111133def update_file_data ():
112134 file_id = raw_input ("File id: " )
113135 url = BASE_URL + '/file/' + str (file_id )+ '/data'
@@ -126,7 +148,7 @@ def update_file_metadata():
126148 uri , headers , _ = client .sign (url , http_method = 'GET' )
127149 new_name = raw_input ("New name: " )
128150 new_parent = raw_input ("New parent id: " )
129- if not new_name and not new_parent :
151+ if not new_name and not new_parent :
130152 print 'Can not update metadata without any parameter'
131153 else :
132154 if not new_parent :
@@ -156,7 +178,7 @@ def get_file_data():
156178 file_id = raw_input ("File id: " )
157179 url = BASE_URL + '/file/' + str (file_id )+ '/data'
158180 uri , headers , _ = client .sign (url , http_method = 'GET' )
159- headers ['StackSync-API' ] = "v2"
181+ headers ['StackSync-API' ] = "v2"
160182 headers ['Content-Type' ] = "application/json"
161183 r = requests .get (uri , headers = headers )
162184 print 'response' , r
@@ -166,7 +188,7 @@ def create_new_folder():
166188 uri , headers , _ = client .sign (url , http_method = 'GET' )
167189 new_name = raw_input ("Name: " )
168190 new_parent = raw_input ("Parent id: " )
169- if not new_name :
191+ if not new_name :
170192 print 'Can not create folder without name'
171193 else :
172194 if not new_parent :
@@ -182,32 +204,32 @@ def share_folder():
182204 file_id = raw_input ("File id: " )
183205 url = BASE_URL + '/folder/' + str (file_id )+ '/share'
184206 uri , headers , _ = client .sign (url , http_method = 'GET' )
185- headers ['StackSync-API' ] = "v2"
207+ headers ['StackSync-API' ] = "v2"
186208 headers ['Content-Type' ] = "application/json"
187209 emails = raw_input ("mails to share (separated by comma): " )
188210 shared_to = emails .split ("," )
189211 r = requests .post (uri , json .dumps (shared_to ), headers = headers )
190212 print 'response' , r
191- print 'response' , r .text
213+ print 'response' , r .text
192214def unshare_folder ():
193215 file_id = raw_input ("File id: " )
194216 url = BASE_URL + '/folder/' + str (file_id )+ '/unshare'
195217 uri , headers , _ = client .sign (url , http_method = 'GET' )
196- headers ['StackSync-API' ] = "v2"
218+ headers ['StackSync-API' ] = "v2"
197219 headers ['Content-Type' ] = "application/json"
198220 emails = raw_input ("mails to unshare (separated by comma): " )
199221 shared_to = emails .split ("," )
200222 r = requests .post (uri , json .dumps (shared_to ), headers = headers )
201223 print 'response' , r
202- print 'response' , r .text
224+ print 'response' , r .text
203225
204226def update_folder_metadata ():
205227 folder_id = raw_input ("Folder id: " )
206228 url = BASE_URL + '/folder/' + str (folder_id )
207229 uri , headers , _ = client .sign (url , http_method = 'GET' )
208230 new_name = raw_input ("New name: " )
209231 new_parent = raw_input ("New parent id: " )
210- if not new_name and not new_parent :
232+ if not new_name and not new_parent :
211233 print 'Can not update metadata without any parameter'
212234 else :
213235 if not new_parent :
@@ -242,7 +264,7 @@ def get_folder():
242264 uri , headers , _ = client .sign (url ,
243265 http_method = 'GET' )
244266 headers ['StackSync-API' ] = "v2"
245-
267+
246268 headers ['Content-Type' ] = "text/plain"
247269 r = requests .get (uri , headers = headers )
248270 print 'response status' , r
@@ -252,11 +274,11 @@ def get_folder():
252274# Exit program
253275def exit ():
254276 sys .exit ()
255-
277+
256278# =======================
257279# MENUS DEFINITIONS
258280# =======================
259-
281+
260282# Menu definition
261283menu_actions = {
262284 'main_menu' : main_menu ,
@@ -272,13 +294,14 @@ def exit():
272294 '10' : update_folder_metadata ,
273295 '11' : delete_file ,
274296 '12' : get_folder ,
297+ '13' : upload_new_file ,
275298 '0' : exit ,
276299}
277-
300+
278301# =======================
279302# MAIN PROGRAM
280303# =======================
281-
304+
282305# Main Program
283306if __name__ == "__main__" :
284307 # Launch main menu
0 commit comments