def get_fragment_path(self, source_abspath):
        # Fragment path is relative to the fragment folder.

        # /home/james/bulbflow.com/blog/source/2012/hello.rst 
        # => /home/james/bulbflow.com/blog/source/2012, hello.rst
        head_dir, basename = os.path.split(source_abspath)

        # /home/james/bulbflow.com/blog/source/2012 => 2012 
        start = self.get_source_dir()
        fragment_folder = os.path.relpath(head_dir, start)

        # hello.rst => hello
        stub = os.path.splitext(basename)[0]  # remove the ext
        filename = "%s.html" % stub        

        # => 2012/hello.html
        fragment_path = os.path.join(fragment_folder, filename)

        return os.path.normpath(fragment_path)

    # Working Etc
dataset/ETHPy150Open espeed/lightbulb/lightbulb/config.py/Path.get_fragment_path/original