(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
Process a directive which either adds some files from ``allfiles`` to
        ``files``, or removes some files from ``files``.
Process a directive which either adds some files from allfiles to files or removes some files from files .
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)
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 )