44# tango-cli.py - Command line client for the RESTful Tango.
55#
66
7+ from __future__ import print_function
8+ from builtins import range
9+ from future import standard_library
10+ standard_library .install_aliases ()
11+ from builtins import map
12+ from builtins import str
713import os
814import sys
915
1218import argparse
1319import requests
1420import json
15- import urllib
21+ import urllib . request , urllib . parse , urllib . error
1622
1723#
1824#
95101
96102def checkKey ():
97103 if (args .key is None ):
98- print "Key must be specified with -k"
104+ print ( "Key must be specified with -k" )
99105 return - 1
100106 return 0
101107
102108
103109def checkCourselab ():
104110 if (args .courselab is None ):
105- print "Courselab must be specified with -l"
111+ print ( "Courselab must be specified with -l" )
106112 return - 1
107113 return 0
108114
109115
110116def checkFilename ():
111117 if (args .filename is None ):
112- print "Filename must be specified with --filename"
118+ print ( "Filename must be specified with --filename" )
113119 return - 1
114120 return 0
115121
116122
117123def checkInfiles ():
118124 if (args .infiles is None ):
119- print "Input files must be specified with --infiles"
125+ print ( "Input files must be specified with --infiles" )
120126 return - 1
121127 return 0
122128
123129
124130def checkDeadjobs ():
125131 if (args .deadJobs is None ):
126- print "Deadjobs must be specified with --deadJobs"
132+ print ( "Deadjobs must be specified with --deadJobs" )
127133 return - 1
128134 return 0
129135
@@ -139,11 +145,11 @@ def tango_open():
139145 response = requests .get (
140146 'http://%s:%d/open/%s/%s/' %
141147 (args .server , args .port , args .key , args .courselab ))
142- print "Sent request to %s:%d/open/%s/%s/" % (args .server , args .port , args .key , args .courselab )
143- print response .content
148+ print ( "Sent request to %s:%d/open/%s/%s/" % (args .server , args .port , args .key , args .courselab ) )
149+ print ( response .text )
144150
145151 except Exception as err :
146- print "Failed to send request to %s:%d/open/%s/%s/" % (args .server , args .port , args .key , args .courselab )
152+ print ( "Failed to send request to %s:%d/open/%s/%s/" % (args .server , args .port , args .key , args .courselab ) )
147153 print (str (err ))
148154 sys .exit (0 )
149155
@@ -170,11 +176,11 @@ def tango_upload():
170176 data = f .read (),
171177 headers = header )
172178 f .close ()
173- print "Sent request to %s:%d/upload/%s/%s/ filename=%s" % (args .server , args .port , args .key , args .courselab , args .filename )
174- print response .content
179+ print ( "Sent request to %s:%d/upload/%s/%s/ filename=%s" % (args .server , args .port , args .key , args .courselab , args .filename ) )
180+ print ( response .text )
175181
176182 except Exception as err :
177- print "Failed to send request to %s:%d/upload/%s/%s/ filename=%s" % (args .server , args .port , args .key , args .courselab , args .filename )
183+ print ( "Failed to send request to %s:%d/upload/%s/%s/ filename=%s" % (args .server , args .port , args .key , args .courselab , args .filename ) )
178184 print (str (err ))
179185 sys .exit (0 )
180186
@@ -208,11 +214,11 @@ def tango_addJob():
208214 args .key ,
209215 args .courselab ),
210216 data = json .dumps (requestObj ))
211- print "Sent request to %s:%d/addJob/%s/%s/ \t jobObj=%s" % (args .server , args .port , args .key , args .courselab , json .dumps (requestObj ))
212- print response .content
217+ print ( "Sent request to %s:%d/addJob/%s/%s/ \t jobObj=%s" % (args .server , args .port , args .key , args .courselab , json .dumps (requestObj ) ))
218+ print ( response .text )
213219
214220 except Exception as err :
215- print "Failed to send request to %s:%d/addJob/%s/%s/ \t jobObj=%s" % (args .server , args .port , args .key , args .courselab , json .dumps (requestObj ))
221+ print ( "Failed to send request to %s:%d/addJob/%s/%s/ \t jobObj=%s" % (args .server , args .port , args .key , args .courselab , json .dumps (requestObj ) ))
216222 print (str (err ))
217223 sys .exit (0 )
218224
@@ -231,13 +237,13 @@ def tango_poll():
231237 args .port ,
232238 args .key ,
233239 args .courselab ,
234- urllib .quote (
240+ urllib .parse . quote (
235241 args .outputFile )))
236- print "Sent request to %s:%d/poll/%s/%s/%s/" % (args .server , args .port , args .key , args .courselab , urllib .quote (args .outputFile ))
237- print response .content
242+ print ( "Sent request to %s:%d/poll/%s/%s/%s/" % (args .server , args .port , args .key , args .courselab , urllib .parse . quote (args .outputFile ) ))
243+ print ( response .text )
238244
239245 except Exception as err :
240- print "Failed to send request to %s:%d/poll/%s/%s/%s/" % (args .server , args .port , args .key , args .courselab , urllib .quote (args .outputFile ))
246+ print ( "Failed to send request to %s:%d/poll/%s/%s/%s/" % (args .server , args .port , args .key , args .courselab , urllib .parse . quote (args .outputFile ) ))
241247 print (str (err ))
242248 sys .exit (0 )
243249
@@ -252,11 +258,11 @@ def tango_info():
252258
253259 response = requests .get (
254260 'http://%s:%d/info/%s/' % (args .server , args .port , args .key ))
255- print "Sent request to %s:%d/info/%s/" % (args .server , args .port , args .key )
256- print response .content
261+ print ( "Sent request to %s:%d/info/%s/" % (args .server , args .port , args .key ) )
262+ print ( response .text )
257263
258264 except Exception as err :
259- print "Failed to send request to %s:%d/info/%s/" % (args .server , args .port , args .key )
265+ print ( "Failed to send request to %s:%d/info/%s/" % (args .server , args .port , args .key ) )
260266 print (str (err ))
261267 sys .exit (0 )
262268
@@ -272,11 +278,11 @@ def tango_jobs():
272278 response = requests .get (
273279 'http://%s:%d/jobs/%s/%d/' %
274280 (args .server , args .port , args .key , args .deadJobs ))
275- print "Sent request to %s:%d/jobs/%s/%d/" % (args .server , args .port , args .key , args .deadJobs )
276- print response .content
281+ print ( "Sent request to %s:%d/jobs/%s/%d/" % (args .server , args .port , args .key , args .deadJobs ) )
282+ print ( response .text )
277283
278284 except Exception as err :
279- print "Failed to send request to %s:%d/jobs/%s/%d/" % (args .server , args .port , args .key , args .deadJobs )
285+ print ( "Failed to send request to %s:%d/jobs/%s/%d/" % (args .server , args .port , args .key , args .deadJobs ) )
280286 print (str (err ))
281287 sys .exit (0 )
282288
@@ -291,11 +297,11 @@ def tango_pool():
291297
292298 response = requests .get ('http://%s:%d/pool/%s/%s/' %
293299 (args .server , args .port , args .key , args .image ))
294- print "Sent request to %s:%d/pool/%s/%s/" % (args .server , args .port , args .key , args .image )
295- print response .content
300+ print ( "Sent request to %s:%d/pool/%s/%s/" % (args .server , args .port , args .key , args .image ) )
301+ print ( response .text )
296302
297303 except Exception as err :
298- print "Failed to send request to %s:%d/pool/%s/%s/" % (args .server , args .port , args .key , args .image )
304+ print ( "Failed to send request to %s:%d/pool/%s/%s/" % (args .server , args .port , args .key , args .image ) )
299305 print (str (err ))
300306 sys .exit (0 )
301307
@@ -321,11 +327,11 @@ def tango_prealloc():
321327 args .image ,
322328 args .num ),
323329 data = json .dumps (vmObj ))
324- print "Sent request to %s:%d/prealloc/%s/%s/%s/ \t vmObj=%s" % (args .server , args .port , args .key , args .image , args .num , json .dumps (vmObj ))
325- print response .content
330+ print ( "Sent request to %s:%d/prealloc/%s/%s/%s/ \t vmObj=%s" % (args .server , args .port , args .key , args .image , args .num , json .dumps (vmObj ) ))
331+ print ( response .text )
326332
327333 except Exception as err :
328- print "Failed to send request to %s:%d/prealloc/%s/%s/%s/ \t vmObj=%s" % (args .server , args .port , args .key , args .image , args .num , json .dumps (vmObj ))
334+ print ( "Failed to send request to %s:%d/prealloc/%s/%s/%s/ \t vmObj=%s" % (args .server , args .port , args .key , args .image , args .num , json .dumps (vmObj ) ))
329335 print (str (err ))
330336 sys .exit (0 )
331337
@@ -343,31 +349,31 @@ def file_to_dict(file):
343349
344350def tango_runJob ():
345351 if args .runJob is None :
346- print "Invalid usage: [runJob]"
352+ print ( "Invalid usage: [runJob]" )
347353 sys .exit (0 )
348354
349355 dir = args .runJob
350356 infiles = [file for file in os .listdir (
351357 dir ) if os .path .isfile (os .path .join (dir , file ))]
352358 files = [os .path .join (dir , file ) for file in infiles ]
353- args .infiles = map (file_to_dict , infiles )
359+ args .infiles = list ( map (file_to_dict , infiles ) )
354360
355361 args .jobname += "-0"
356362 args .outputFile += "-0"
357- for i in xrange (1 , args .numJobs + 1 ):
358- print "----------------------------------------- STARTING JOB " + str (i ) + " -----------------------------------------"
359- print "----------- OPEN"
363+ for i in range (1 , args .numJobs + 1 ):
364+ print ( "----------------------------------------- STARTING JOB " + str (i ) + " -----------------------------------------" )
365+ print ( "----------- OPEN" )
360366 tango_open ()
361- print "----------- UPLOAD"
367+ print ( "----------- UPLOAD" )
362368 for file in files :
363369 args .filename = file
364370 tango_upload ()
365- print "----------- ADDJOB"
371+ print ( "----------- ADDJOB" )
366372 length = len (str (i - 1 ))
367373 args .jobname = args .jobname [:- length ] + str (i )
368374 args .outputFile = args .outputFile [:- length ] + str (i )
369375 tango_addJob ()
370- print "--------------------------------------------------------------------------------------------------\n "
376+ print ( "--------------------------------------------------------------------------------------------------\n " )
371377
372378
373379def router ():
@@ -403,7 +409,7 @@ def router():
403409try :
404410 response = requests .get ('http://%s:%d/' % (args .server , args .port ))
405411except :
406- print 'Tango not reachable on %s:%d!\n ' % (args .server , args .port )
412+ print ( 'Tango not reachable on %s:%d!\n ' % (args .server , args .port ) )
407413 sys .exit (0 )
408414
409415router ()
0 commit comments