def _glob(self, query, **kwargs): if self.local_server: return self.local_server.glob(query, **kwargs) else: # todo: make the json serialization more robust. Not priority b/c this' client-side. json = GlobEntry(query, **kwargs)._asdict() res = self.session.post(self.glob_url, json=json).result() return res.json()
async def glob_handler(self, req): import sanic if not req.json: msg = f'request json is empty: {req.text}' print(msg) return sanic.response.text(msg) glob_entry = GlobEntry(**req.json) print("globbing: work directory {} query: {} is_recursive: {} start: {}, stop: {}".format( glob_entry.wd, glob_entry.query, glob_entry.recursive, glob_entry.start, glob_entry.stop)) try: file_paths = self.glob(query=glob_entry.query, wd=glob_entry.wd, recursive=glob_entry.recursive, start=glob_entry.start, stop=glob_entry.stop, ) return sanic.response.json(file_paths, status=200) # note: do we need this? sanic doesn't already do this? except FileNotFoundError as e: return sanic.response.text(e, status=404)