parameters: (modname, relpath=None, attr_name='DATAPATH')
docstring: Return module *modname* data path
      Note: relpath is ignored if module has an attribute named *attr_name*
      
      Handles py2exe/cx_Freeze distributions
docstring_summary: Return module *modname* data path
      Note: relpath is ignored if module has an attribute named *attr_name*
      
      Handles py2exe/cx_Freeze distributions
docstring_tokens: Return module * modname * data path Note : relpath is ignored if module has an attribute named * attr_name * Handles py2exe / cx_Freeze distributions
function: def get_module_data_path(modname, relpath=None, attr_name='DATAPATH'):
      """Return module *modname* data path
      Note: relpath is ignored if module has an attribute named *attr_name*
      
      Handles py2exe/cx_Freeze distributions"""
      datapath = getattr(sys.modules[modname], attr_name, '')
      if datapath:
          return datapath
      else:
          datapath = get_module_path(modname)
          parentdir = osp.join(datapath, osp.pardir)
          if osp.isfile(parentdir):
              # Parent directory is not a directory but the 'library.zip' file:
              # this is either a py2exe or a cx_Freeze distribution
              datapath = osp.abspath(osp.join(osp.join(parentdir, osp.pardir),
                                              modname))
          if relpath is not None:
              datapath = osp.abspath(osp.join(datapath, relpath))
          return datapath
function_tokens: def get_module_data_path ( modname , relpath = None , attr_name = 'DATAPATH' ) : datapath = getattr ( sys . modules [ modname ] , attr_name , '' ) if datapath : return datapath else : datapath = get_module_path ( modname ) parentdir = osp . join ( datapath , osp . pardir ) if osp . isfile ( parentdir ) : # Parent directory is not a directory but the 'library.zip' file: # this is either a py2exe or a cx_Freeze distribution datapath = osp . abspath ( osp . join ( osp . join ( parentdir , osp . pardir ) , modname ) ) if relpath is not None : datapath = osp . abspath ( osp . join ( datapath , relpath ) ) return datapath