parameters: (self, directive)
docstring: Process a directive which either adds some files from ``allfiles`` to
          ``files``, or removes some files from ``files``.
  
          :param directive: The directive to process. This should be in a format
                       compatible with distutils ``MANIFEST.in`` files:
  
                       http://docs.python.org/distutils/sourcedist.html#commands
docstring_summary: Process a directive which either adds some files from ``allfiles`` to
          ``files``, or removes some files from ``files``.
docstring_tokens: Process a directive which either adds some files from allfiles to files or removes some files from files .
function: def process_directive(self, directive):
          """
          Process a directive which either adds some files from ``allfiles`` to
          ``files``, or removes some files from ``files``.
  
          :param directive: The directive to process. This should be in a format
                       compatible with distutils ``MANIFEST.in`` files:
  
                       http://docs.python.org/distutils/sourcedist.html#commands
          """
          # Parse the line: split it up, make sure the right number of words
          # is there, and return the relevant words.  'action' is always
          # defined: it's the first word of the line.  Which of the other
          # three are defined depends on the action; it'll be either
          # patterns, (dir and patterns), or (dirpattern).
          action, patterns, thedir, dirpattern = self._parse_directive(directive)
  
          # OK, now we know that the action is valid and we have the
          # right number of words on the line for that action -- so we
          # can proceed with minimal error-checking.
          if action == 'include':
              for pattern in patterns:
                  if not self._include_pattern(pattern, anchor=True):
                      logger.warning('no files found matching %r', pattern)
  
          elif action == 'exclude':
              for pattern in patterns:
                  found = self._exclude_pattern(pattern, anchor=True)
                  #if not found:
                  #    logger.warning('no previously-included files '
                  #                   'found matching %r', pattern)
  
          elif action == 'global-include':
              for pattern in patterns:
                  if not self._include_pattern(pattern, anchor=False):
                      logger.warning('no files found matching %r '
                                     'anywhere in distribution', pattern)
  
          elif action == 'global-exclude':
              for pattern in patterns:
                  found = self._exclude_pattern(pattern, anchor=False)
                  #if not found:
                  #    logger.warning('no previously-included files '
                  #                   'matching %r found anywhere in '
                  #                   'distribution', pattern)
  
          elif action == 'recursive-include':
              for pattern in patterns:
                  if not self._include_pattern(pattern, prefix=thedir):
                      logger.warning('no files found matching %r '
                                     'under directory %r', pattern, thedir)
  
          elif action == 'recursive-exclude':
              for pattern in patterns:
                  found = self._exclude_pattern(pattern, prefix=thedir)
                  #if not found:
                  #    logger.warning('no previously-included files '
                  #                   'matching %r found under directory %r',
                  #                   pattern, thedir)
  
          elif action == 'graft':
              if not self._include_pattern(None, prefix=dirpattern):
                  logger.warning('no directories found matching %r',
                                 dirpattern)
  
          elif action == 'prune':
              if not self._exclude_pattern(None, prefix=dirpattern):
                  logger.warning('no previously-included directories found '
                                 'matching %r', dirpattern)
          else:   # pragma: no cover
              # This should never happen, as it should be caught in
              # _parse_template_line
              raise DistlibException(
                  'invalid action %r' % action)
function_tokens: def process_directive ( self , directive ) : # Parse the line: split it up, make sure the right number of words # is there, and return the relevant words.  'action' is always # defined: it's the first word of the line.  Which of the other # three are defined depends on the action; it'll be either # patterns, (dir and patterns), or (dirpattern). action , patterns , thedir , dirpattern = self . _parse_directive ( directive ) # OK, now we know that the action is valid and we have the # right number of words on the line for that action -- so we # can proceed with minimal error-checking. if action == 'include' : for pattern in patterns : if not self . _include_pattern ( pattern , anchor = True ) : logger . warning ( 'no files found matching %r' , pattern ) elif action == 'exclude' : for pattern in patterns : found = self . _exclude_pattern ( pattern , anchor = True ) #if not found: #    logger.warning('no previously-included files ' #                   'found matching %r', pattern) elif action == 'global-include' : for pattern in patterns : if not self . _include_pattern ( pattern , anchor = False ) : logger . warning ( 'no files found matching %r ' 'anywhere in distribution' , pattern ) elif action == 'global-exclude' : for pattern in patterns : found = self . _exclude_pattern ( pattern , anchor = False ) #if not found: #    logger.warning('no previously-included files ' #                   'matching %r found anywhere in ' #                   'distribution', pattern) elif action == 'recursive-include' : for pattern in patterns : if not self . _include_pattern ( pattern , prefix = thedir ) : logger . warning ( 'no files found matching %r ' 'under directory %r' , pattern , thedir ) elif action == 'recursive-exclude' : for pattern in patterns : found = self . _exclude_pattern ( pattern , prefix = thedir ) #if not found: #    logger.warning('no previously-included files ' #                   'matching %r found under directory %r', #                   pattern, thedir) elif action == 'graft' : if not self . _include_pattern ( None , prefix = dirpattern ) : logger . warning ( 'no directories found matching %r' , dirpattern ) elif action == 'prune' : if not self . _exclude_pattern ( None , prefix = dirpattern ) : logger . warning ( 'no previously-included directories found ' 'matching %r' , dirpattern ) else : # pragma: no cover # This should never happen, as it should be caught in # _parse_template_line raise DistlibException ( 'invalid action %r' % action )