X-Git-Url: https://git.distorted.org.uk/~mdw/hippotat/blobdiff_plain/0256fc104ccd33103127dffb48b449aca8d46fae..eed788f8959bb06e7631f2d2bbb57d0783314727:/hippotatd diff --git a/hippotatd b/hippotatd index 06f98ec..e9b62b7 100755 --- a/hippotatd +++ b/hippotatd @@ -237,38 +237,38 @@ class IphttpResource(NotStupidResource): hippotat

-source available +source +(and that of dependency packages) +available ''' -class SourceResource(twisted.web.static.File): - def __init__(self): - td = tempfile.mkdtemp() - - def cleanup(): - try: shutil.rmtree(td) - except FileNotFoundError: pass - - cleanups.append(cleanup) - - self._ssp = SourceShipmentPreparer(td) - self._ssp.logger = self.log - self._ssp.generate() - - super().__init__(self._ssp.output_path) - - def log(self, m): - log_debug(DBG.OWNSOURCE, m) - def start_http(): resource = IphttpResource() - resource.putChild(b'source',SourceResource()) site = twisted.web.server.Site(resource) + for sa in c.saddrs: ep = sa.make_endpoint() crash_on_defer(ep.listen(site)) log_debug(DBG.INIT, 'listening on %s' % sa) + td = tempfile.mkdtemp() + + def cleanup(): + try: shutil.rmtree(td) + except FileNotFoundError: pass + + cleanups.append(cleanup) + + ssp = SourceShipmentPreparer(td) + ssp.logger = partial(log_debug, DBG.OWNSOURCE) + ssp.generate() + + resource.putChild(b'source', twisted.web.static.File(ssp.output_paths[0])) + resource.putChild(b'srcpkgs', twisted.web.static.File(ssp.output_paths[1])) + + reactor.callLater(0.1, (lambda: log.info('hippotatd started', dflag=False))) + #---------- config and setup ---------- def process_cfg(putative_servers, putative_clients):