docs: def _read_notebook(self, os_path, as_version=4):
          """Read a notebook from an os path."""
          with self.open(os_path, 'r', encoding='utf-8') as f:
              try:
                  if ftdetect(os_path) == 'notebook':
                      return nbformat.read(f, as_version=as_version)
                  elif ftdetect(os_path) == 'markdown':
                      nbjson = convert(os_path,
                                       informat='markdown',
                                       outformat='notebook')
                      return nbformat.reads(nbjson, as_version=as_version)
              except Exception as e:
                  raise web.HTTPError(
                      400,
                      u"Unreadable Notebook: %s %r" % (os_path, e),
                  )