def get()

in jupyter-gcs-contents-manager/gcs_contents_manager.py [0:0]


  def get(self, path, content=True, type=None, format=None):
    if path in ['', '/']:
      dir_obj = {}
      dir_obj['path'] = ''
      dir_obj['name'] = ''
      dir_obj['type'] = 'directory'
      dir_obj['mimetype'] = None
      dir_obj['writable'] = False
      dir_obj['format'] = None
      dir_obj['content'] = None
      dir_obj['format'] = 'json'
      contents = []
      for path_prefix in self._content_managers:
        child_obj = self._content_managers[path_prefix].get('', content=False)
        child_obj['path'] = path_prefix
        child_obj['name'] = path_prefix
        child_obj['writable'] = False
        contents.append(child_obj)
      dir_obj['content'] = contents
      dir_obj['created'] = contents[0]['created']
      dir_obj['last_modified'] = contents[0]['last_modified']
      return dir_obj
    try:
      cm, relative_path, path_prefix = self._content_manager_for_path(path)
      if not cm:
        raise HTTPError(404, 'No content manager defined for "{}"'.format(path))
      model = cm.get(relative_path, content=content, type=type, format=format)
      self._make_model_relative(model, path_prefix)
      return model
    except HTTPError as err:
      raise err
    except Exception as ex:
      raise HTTPError(
          500, 'Internal server error: [{}] {}'.format(type(ex), str(ex)))