from django.apps import AppConfig from django.http import HttpResponse from django.shortcuts import render from django.shortcuts import redirect from jinja2 import Environment, FileSystemLoader from django.core.files import File from kubernetes import client, config #from django.template.loader import render_to_string import time import random import mimetypes import ruamel.yaml import yaml import urllib.request def hello(request): return HttpResponse('

Hello stash!

') def form(request): return render(request, 'stash_form.html',{}) def handle_survey_form(request): config.load_kube_config(config_file='/kubeconfig/config') v1 = client.BatchV1Api() name = request.GET.get('name') url = request.GET.get('url') environment = Environment(loader=FileSystemLoader("django_code/stash_management/templates/")) template = environment.get_template("template.stash-pornpics-dowloader.job.json") template = environment.get_template("template.stash-pornpics-dowloader.job.yaml") pod_manifest_job = template.render(name=name, url=url) #filepath_manifest_path="django_code/stash_management/templates/template.stash-pornpics-dowloader.job.yaml" #filepath_manifest = open(filepath_manifest_path) with open('django_code/stash_management/templates/template.stash-pornpics-dowloader.job.yml', 'r') as file: prime_service = yaml.safe_load(file) #api_response = v1.create_namespaced_job(body=pod_manifest_job,namespace='stash') #api_response = v1.create_namespaced_job(body=prime_service,namespace='stash') prime_service['metadata']['name'] ="stash-pornpics-dowloader"+name prime_service['spec']['template']['spec']['containers'][0]['name'] ="stash-pornpics-dowloader-"+name #api_response = v1.create_namespaced_job(body=prime_service,namespace='stash') command1 = '''bash /config/download.sh --http_proxy 'http://gluetun-svc.gluetun.svc:8888' --BASE_URL ''' command2 = ''' --pornstars ''' command = command1+url+command2+name print(['bash', '/config/download.sh', '--http_proxy', 'http://gluetun-svc.gluetun.svc:8888', '--BASE_URL', 'pornstar.com/pornstar', '--pornsta> command=['bash', '/config/download.sh', '--http_proxy', 'http://gluetun-svc.gluetun.svc:8888', '--BASE_URL', url, '--pornstars', name] #command=prime_service['spec']['template']['spec']['containers'][0]['command'] prime_service['spec']['template']['spec']['containers'][0]['command']=command api_response = v1.create_namespaced_job(body=prime_service,namespace='stash') #print(prime_service['spec']['template']['spec']['containers'][0]['command']) #return HttpResponse(prime_service['spec']['template']['spec']['containers'][0]['command']) return HttpResponse(api_response)