Exemplo n.º 1
0
 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()
Exemplo n.º 2
0
    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)