parameters: (self, pattern, ondisk=True, source=False, strings=False)
return_statement: return [self.entries[_my_normcase(n)] for n in names]
docstring: Globs for and returns a list of entry names matching a single
          pattern in this directory.
  
          This searches any repositories and source directories for
          corresponding entries and returns a Node (or string) relative
          to the current directory if an entry is found anywhere.
  
          TODO: handle pattern with no wildcard
docstring_summary: Globs for and returns a list of entry names matching a single
          pattern in this directory.
docstring_tokens: Globs for and returns a list of entry names matching a single pattern in this directory .
function: def _glob1(self, pattern, ondisk=True, source=False, strings=False):
          """
          Globs for and returns a list of entry names matching a single
          pattern in this directory.
  
          This searches any repositories and source directories for
          corresponding entries and returns a Node (or string) relative
          to the current directory if an entry is found anywhere.
  
          TODO: handle pattern with no wildcard
          """
          search_dir_list = self.get_all_rdirs()
          for srcdir in self.srcdir_list():
              search_dir_list.extend(srcdir.get_all_rdirs())
  
          selfEntry = self.Entry
          names = []
          for dir in search_dir_list:
              # We use the .name attribute from the Node because the keys of
              # the dir.entries dictionary are normalized (that is, all upper
              # case) on case-insensitive systems like Windows.
              node_names = [ v.name for k, v in dir.entries.items()
                             if k not in ('.', '..') ]
              names.extend(node_names)
              if not strings:
                  # Make sure the working directory (self) actually has
                  # entries for all Nodes in repositories or variant dirs.
                  for name in node_names: selfEntry(name)
              if ondisk:
                  try:
                      disk_names = os.listdir(dir._abspath)
                  except os.error:
                      continue
                  names.extend(disk_names)
                  if not strings:
                      # We're going to return corresponding Nodes in
                      # the local directory, so we need to make sure
                      # those Nodes exist.  We only want to create
                      # Nodes for the entries that will match the
                      # specified pattern, though, which means we
                      # need to filter the list here, even though
                      # the overall list will also be filtered later,
                      # after we exit this loop.
                      if pattern[0] != '.':
                          disk_names = [x for x in disk_names if x[0] != '.']
                      disk_names = fnmatch.filter(disk_names, pattern)
                      dirEntry = dir.Entry
                      for name in disk_names:
                          # Add './' before disk filename so that '#' at
                          # beginning of filename isn't interpreted.
                          name = './' + name
                          node = dirEntry(name).disambiguate()
                          n = selfEntry(name)
                          if n.__class__ != node.__class__:
                              n.__class__ = node.__class__
                              n._morph()
  
          names = set(names)
          if pattern[0] != '.':
              names = [x for x in names if x[0] != '.']
          names = fnmatch.filter(names, pattern)
  
          if strings:
              return names
  
          return [self.entries[_my_normcase(n)] for n in names]
function_tokens: def _glob1 ( self , pattern , ondisk = True , source = False , strings = False ) : search_dir_list = self . get_all_rdirs ( ) for srcdir in self . srcdir_list ( ) : search_dir_list . extend ( srcdir . get_all_rdirs ( ) ) selfEntry = self . Entry names = [ ] for dir in search_dir_list : # We use the .name attribute from the Node because the keys of # the dir.entries dictionary are normalized (that is, all upper # case) on case-insensitive systems like Windows. node_names = [ v . name for k , v in dir . entries . items ( ) if k not in ( '.' , '..' ) ] names . extend ( node_names ) if not strings : # Make sure the working directory (self) actually has # entries for all Nodes in repositories or variant dirs. for name in node_names : selfEntry ( name ) if ondisk : try : disk_names = os . listdir ( dir . _abspath ) except os . error : continue names . extend ( disk_names ) if not strings : # We're going to return corresponding Nodes in # the local directory, so we need to make sure # those Nodes exist.  We only want to create # Nodes for the entries that will match the # specified pattern, though, which means we # need to filter the list here, even though # the overall list will also be filtered later, # after we exit this loop. if pattern [ 0 ] != '.' : disk_names = [ x for x in disk_names if x [ 0 ] != '.' ] disk_names = fnmatch . filter ( disk_names , pattern ) dirEntry = dir . Entry for name in disk_names : # Add './' before disk filename so that '#' at # beginning of filename isn't interpreted. name = './' + name node = dirEntry ( name ) . disambiguate ( ) n = selfEntry ( name ) if n . __class__ != node . __class__ : n . __class__ = node . __class__ n . _morph ( ) names = set ( names ) if pattern [ 0 ] != '.' : names = [ x for x in names if x [ 0 ] != '.' ] names = fnmatch . filter ( names , pattern ) if strings : return names return [ self . entries [ _my_normcase ( n ) ] for n in names ]