parameters: (parentdir_prefix, root, verbose)
docstring: Try to determine the version from the parent directory name.
  
      Source tarballs conventionally unpack into a directory that includes both
      the project name and a version string. We will also support searching up
      two directory levels for an appropriately named parent directory
docstring_summary: Try to determine the version from the parent directory name.
docstring_tokens: Try to determine the version from the parent directory name .
function: def versions_from_parentdir(parentdir_prefix, root, verbose):
      """Try to determine the version from the parent directory name.
  
      Source tarballs conventionally unpack into a directory that includes both
      the project name and a version string. We will also support searching up
      two directory levels for an appropriately named parent directory
      """
      rootdirs = []
  
      for i in range(3):
          dirname = os.path.basename(root)
          if dirname.startswith(parentdir_prefix):
              return {
                  "version": dirname[len(parentdir_prefix) :],
                  "full-revisionid": None,
                  "dirty": False,
                  "error": None,
                  "date": None,
              }
          else:
              rootdirs.append(root)
              root = os.path.dirname(root)  # up a level
  
      if verbose:
          print(
              "Tried directories %s but none started with prefix %s"
              % (str(rootdirs), parentdir_prefix)
          )
      raise NotThisMethod("rootdir doesn't start with parentdir_prefix")
function_tokens: def versions_from_parentdir ( parentdir_prefix , root , verbose ) : rootdirs = [ ] for i in range ( 3 ) : dirname = os . path . basename ( root ) if dirname . startswith ( parentdir_prefix ) : return { "version" : dirname [ len ( parentdir_prefix ) : ] , "full-revisionid" : None , "dirty" : False , "error" : None , "date" : None , } else : rootdirs . append ( root ) root = os . path . dirname ( root ) # up a level if verbose : print ( "Tried directories %s but none started with prefix %s" % ( str ( rootdirs ) , parentdir_prefix ) ) raise NotThisMethod ( "rootdir doesn't start with parentdir_prefix" )