def serve_django_app(settings_name): os.listdir = lambda path: [] os.environ['DJANGO_SETTINGS_MODULE'] = settings_name import django args = ['manage.py', 'runserver', '0:9191', '--noreload'] from django.conf import settings #settings.configure() django.setup() from django.core.management.commands import runserver runserver.Command().run_from_argv(args)
async def get_files_from_recipes_async(self, recipes, el, cookie): cmd = runserver.Command() browser = await launch( handleSIGINT=False, handleSIGTERM=False, handleSIGHUP=False, ignoreHTTPSErrors=True, ) cookies = { 'domain': cmd.default_addr, 'name': 'sessionid', 'value': cookie['sessionid'], } options = { 'format': 'letter', 'margin': { 'top': '0.75in', 'bottom': '0.75in', 'left': '0.75in', 'right': '0.75in', } } files = [] for recipe in recipes: page = await browser.newPage() await page.emulateMedia('print') await page.setCookie(cookies) await page.goto( 'http://' + cmd.default_addr + ':' + cmd.default_port + '/view/recipe/' + str(recipe.id), {'waitUntil': 'domcontentloaded'}) await page.waitForSelector('#printReady') files.append([recipe.name + '.pdf', await page.pdf(options)]) await page.close() el.exported_recipes += 1 el.msg += self.get_recipe_processed_msg(recipe) await sync_to_async(el.save, thread_sensitive=True)() await browser.close() return files
def run(self): options = dict(self.options, use_reloader=False) command = runserver.Command() # see http://code.djangoproject.com/changeset/13319 command.stdout, command.stderr = sys.stdout, sys.stderr command.handle(self.addrport, *self.args, **options)
PING_MESSAGE = '{app} is ready!' FRAMEWORKS = { 'aiohttp': lambda app: aioserver([ f'{AIOHTTP_DEV_CLIENT}', '--host', HOST, '--port', PORT, '--debug-toolbar' if DEBUG else '--no-debug-toolbar', '--livereload' if RELOAD else '--no-livereload' ]), 'bottle': lambda app: app.run(host=HOST, port=PORT, debug=DEBUG, reloader=RELOAD), 'cherrypy': lambda app: cherrypy.server.start(), 'django': lambda app: djserver.Command().handle(addrport=f'{HOST}:{PORT}', use_reloader=RELOAD, use_threading=True, use_ipv6=False), 'falcon': lambda app: run_simple( HOST, PORT, app, use_debugger=DEBUG, use_reloader=RELOAD), 'flask': lambda app: app.run(HOST, PORT, debug=DEBUG, use_reloader=RELOAD), 'hypercorn': lambda app: run.run_single(app, Config.from_mapping({ 'host': HOST, 'port': PORT, 'debug': DEBUG, 'use_reloader': RELOAD }), loop=asyncio.get_event_loop()),
def run(self): options = dict(self.options, use_reloader=False) runserver.Command().handle(self.addrport, *self.args, **options)
import os import uuid import sys from task.models import Task from nutanix_foundation import FoundationOps, EulaOps, SetupOps from nutanix_cluster import CheckStatusOps, ClusterStartOps, ClusterStopOps try: last_arg = sys.argv[-1] words = last_arg.split(':') PORT = int(words[1]) except Exception as e: print(e) import django.core.management.commands.runserver as runserver cmd = runserver.Command() PORT = cmd.default_port print('Running on Port: {}'.format(PORT)) def send_task_update(task_uuid, status, finished=False): self_url = 'http://127.0.0.1:{}/api/task_status/{}'.format(PORT, task_uuid) d = {'status': status, 'finished': finished} request_body = json.dumps(d, indent=2) response = requests.put(self_url, request_body) class AnsibleTask(threading.Thread): def __init__(self, task_uuid, hosts, user, password, playbook_body): threading.Thread.__init__(self) self.task_uuid = task_uuid