def __init__(self, import_name, reaper_on=True, url=None, *args, **kwargs): """ Constructor method :param reaper_on: whether to run auto-reaper subprocess :type reaper_on: bool """ self.reaper_on = reaper_on self.reaper = None self.shutdown_url = build_shutdown_url(url) self.port = None super(DtaleFlask, self).__init__(import_name, *args, **kwargs)
def run(self, *args, **kwargs): """ :param args: Optional arguments to be passed to :meth:`flask:flask.run` :param kwargs: Optional keyword arguments to be passed to :meth:`flask:flask.run` """ self.port = str(kwargs.get('port')) self.shutdown_url = build_shutdown_url(self.port) if kwargs.get('debug', False): self.reaper_on = False self.build_reaper() super(DtaleFlask, self).run(use_reloader=kwargs.get('debug', False), *args, **kwargs)
def _setup_url_props(self, url): self.base_url = url self.shutdown_url = build_shutdown_url(url)
def kill(base): """ This function fires a request to this instance's 'shutdown' route to kill it """ requests.get(build_shutdown_url(base))