diff --git a/django_code/stash_management/apps.py b/django_code/stash_management/apps.py index 92322a9..541395c 100644 --- a/django_code/stash_management/apps.py +++ b/django_code/stash_management/apps.py @@ -14,13 +14,14 @@ import ruamel.yaml import yaml from urllib import request as urlrequest -proxy_host = "gluetun-svc.gluetun.svc:8888" proxy_url = 'http://gluetun-svc.gluetun.svc:8888' proxy = urlrequest.ProxyHandler({ 'http': proxy_url, 'https': proxy_url # Add the handler for HTTPS }) +destination_folder = "/tmp/stash" + def hello(request): return HttpResponse('

Hello stash!

') def form(request): @@ -30,20 +31,20 @@ def fapello(request): return render(request, 'fapello_form.html',{}) def fapello_form(request): - stash_folder = "/tmp/stash" + #stash_folder = "/tmp/stash" name = request.GET.get('name') url = request.GET.get('url') url_suffix = request.GET.get('url_suffix') maximum_increment = int(request.GET.get('maximum_increment')) minimum_increment = request.GET.get('minimum_increment') - increment_and_download.delay(minimum_increment=minimum_increment,maximum_increment=maximum_increment,url=url,url_suffix=url_suffix,stash_folder=stash_folder,name=name) + increment_and_download.delay(minimum_increment=minimum_increment,maximum_increment=maximum_increment,url=url,url_suffix=url_suffix,name=name) text_generated = "successfully sent to celery" return HttpResponse(text_generated, content_type="text/plain") @shared_task() -def increment_and_download(minimum_increment,maximum_increment,url,url_suffix,stash_folder,name): +def increment_and_download(minimum_increment,maximum_increment,url,url_suffix,name): if minimum_increment == None: minimum_increment = 1 @@ -51,6 +52,16 @@ def increment_and_download(minimum_increment,maximum_increment,url,url_suffix,st minimum_increment = int(minimum_increment) maximum_increment = int(maximum_increment) + #check if the output directory exist and create if not + if not os.path.isdir(destination_folder): + os.makedirs(destination_folder) + + #check if the named directory exist and create if not + destination_named_folder = os.path.join(destination_folder,name) + if not os.path.isdir(destination_named_folder): + os.makedirs(destination_named_folder) + + for increment in range(minimum_increment,maximum_increment): if len(str(increment)) == 3: increment_generated ='0' + str(increment) @@ -59,9 +70,13 @@ def increment_and_download(minimum_increment,maximum_increment,url,url_suffix,st elif len(str(increment)) == 1: increment_generated ='000' + str(increment) + url_generated = url+increment_generated+url_suffix + destination_filename = increment_generated+url_suffix + destination_file = os.path.join(destination_named_folder,destination_filename) + opener = urlrequest.build_opener(proxy) urlrequest.install_opener(opener) - urlrequest.urlretrieve(url+increment_generated+url_suffix, stash_folder+"/"+increment_generated+url_suffix) + urlrequest.urlretrieve(url_generated, destination_file ) text_generated = "\n downloading for "+name+" "+url+increment_generated+url_suffix return text_generated