use path join and create the destination folder

This commit is contained in:
Pierre Geeraert
2025-12-02 17:13:25 +00:00
parent 54349b4e8a
commit b0b9ae068a
+20 -5
View File
@@ -14,13 +14,14 @@ import ruamel.yaml
import yaml import yaml
from urllib import request as urlrequest from urllib import request as urlrequest
proxy_host = "gluetun-svc.gluetun.svc:8888"
proxy_url = 'http://gluetun-svc.gluetun.svc:8888' proxy_url = 'http://gluetun-svc.gluetun.svc:8888'
proxy = urlrequest.ProxyHandler({ proxy = urlrequest.ProxyHandler({
'http': proxy_url, 'http': proxy_url,
'https': proxy_url # Add the handler for HTTPS 'https': proxy_url # Add the handler for HTTPS
}) })
destination_folder = "/tmp/stash"
def hello(request): def hello(request):
return HttpResponse('<h1>Hello stash!</h1>') return HttpResponse('<h1>Hello stash!</h1>')
def form(request): def form(request):
@@ -30,20 +31,20 @@ def fapello(request):
return render(request, 'fapello_form.html',{}) return render(request, 'fapello_form.html',{})
def fapello_form(request): def fapello_form(request):
stash_folder = "/tmp/stash" #stash_folder = "/tmp/stash"
name = request.GET.get('name') name = request.GET.get('name')
url = request.GET.get('url') url = request.GET.get('url')
url_suffix = request.GET.get('url_suffix') url_suffix = request.GET.get('url_suffix')
maximum_increment = int(request.GET.get('maximum_increment')) maximum_increment = int(request.GET.get('maximum_increment'))
minimum_increment = request.GET.get('minimum_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" text_generated = "successfully sent to celery"
return HttpResponse(text_generated, content_type="text/plain") return HttpResponse(text_generated, content_type="text/plain")
@shared_task() @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: if minimum_increment == None:
minimum_increment = 1 minimum_increment = 1
@@ -51,6 +52,16 @@ def increment_and_download(minimum_increment,maximum_increment,url,url_suffix,st
minimum_increment = int(minimum_increment) minimum_increment = int(minimum_increment)
maximum_increment = int(maximum_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): for increment in range(minimum_increment,maximum_increment):
if len(str(increment)) == 3: if len(str(increment)) == 3:
increment_generated ='0' + str(increment) 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: elif len(str(increment)) == 1:
increment_generated ='000' + str(increment) 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) opener = urlrequest.build_opener(proxy)
urlrequest.install_opener(opener) 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 text_generated = "\n downloading for "+name+" "+url+increment_generated+url_suffix
return text_generated return text_generated