<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def absolute_name(self, name):
 """ Returns the absolute form of the specified resource name. If the specified name is already absolute, that name will be returned unchanged, otherwise the given name will be prefixed with the namespace this object was configured with. Relative names starting with underscores are disallowed. '/bar' '/bar' '/' '/' Traceback (most recent call last):
 InvalidPathError: Invalid path '/_bar' Traceback (most recent call last):
 InvalidPathError: Invalid path '/_bar' '/foo/bar' '/foo/bar/' '/foo/bar1/bar2' '/bar' '/foo/' '/' Traceback (most recent call last):
 InvalidPathError: Invalid path '/foo/_bar' Traceback (most recent call last):
 InvalidPathError: Invalid path '/_bar' """

        if self.is_absolute_name(name):
            result = name
        else:
            result = self.namespace + name
        if not self.name_re.match(result):
            raise self.InvalidPathError(result)
        return result