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
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)