@@ -434,43 +434,39 @@ def get(self):
434434
435435 return send_file (f )
436436
437- cache_upload_parser = api .parser ()
438- cache_upload_parser .add_argument ('cache.tar.snappy' , location = 'files' ,
439- type = FileStorage , required = True )
440-
441437
442438@api .route ("/api/job/cache" , doc = False )
443439class Cache (Resource ):
444440
445441 def get (self ):
442+ g .release_db ()
446443 project_id = g .token ['project' ]['id' ]
447444 job_name = g .token ['job' ]['name' ]
448-
449- template = 'project_%s_job_%s.tar.snappy '
450- key = template % (project_id , job_name )
445+ filename = request . args . get ( 'filename' , None )
446+ template = 'project_%s_job_%s_%s '
447+ key = template % (project_id , job_name , filename )
451448 key = key .replace ('/' , '_' )
452449
453- g .release_db ()
454-
455450 f = storage .download_cache (key )
456451
457452 if not f :
458453 abort (404 )
459454
460455 return send_file (f )
461456
462- @api .expect (cache_upload_parser )
463457 def post (self ):
458+ g .release_db ()
459+
464460 project_id = g .token ['project' ]['id' ]
465461 job_name = g .token ['job' ]['name' ]
466462
467- template = 'project_%s_job_%s.tar.snappy'
468- key = template % (project_id , job_name )
469- key = key .replace ('/' , '_' )
470-
471- g .release_db ()
463+ for f , _ in request .files .items ():
464+ template = 'project_%s_job_%s_%s'
465+ key = template % (project_id , job_name , f )
466+ key = key .replace ('/' , '_' )
467+ stream = request .files [f ].stream
468+ storage .upload_cache (stream , key )
472469
473- storage .upload_cache (request .files ['cache.tar.snappy' ].stream , key )
474470 return jsonify ({})
475471
476472
0 commit comments