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
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('<h1>Hello stash!</h1>')
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