code: def get_post(self, rel_url, include_draft=False):
          
          raw_rel_url = str(rel_url)
          if rel_url.endswith('/index.html'):
              rel_url = rel_url.rsplit('/', 1)[
                            0] + '/'  # remove the trailing 'index.html'
          post_filename = rel_url[:-1].replace('/', '-')
  
          post_file_path, post_file_ext = FileStorage.search_instance_file(
              'posts', post_filename)
          if post_file_path is None or post_file_ext is None or \
                  get_standard_format_name(post_file_ext) is None:
              # no such post
              return None
  
          # construct the post object
          post = Post()
          post.rel_url = raw_rel_url
          # 'rel_url' contains no trailing 'index.html'
          post.unique_key = '/post/' + rel_url
          post.format = get_standard_format_name(post_file_ext)
          post.meta, post.raw_content = FileStorage.read_file(post_file_path)
          return post if include_draft or not post.is_draft else None
docs: Get post for given relative url from filesystem.
  
          Possible input:
          - 2017/01/01/my-post/
          - 2017/01/01/my-post/index.html
  
          :param rel_url: relative url
          :param include_draft: return draft post or not
          :return: a Post object