def shell(self, *args, **kwargs):
        exceptions = kwargs.pop('exceptions', False)
        join = kwargs.pop('join', False)

        if kwargs:
            raise Exception('Unsupported kwargs provided to function.')

        log.debug(' '.join(args))

        if join:
            process = subprocess.Popen(args, cwd=self.path)
            process.communicate()
        else:
            process = subprocess.Popen(args, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, cwd=self.path)
            stdout, stderr = process.communicate()
            process.stdout = stdout and force_unicode(stdout.strip()) or u''
            process.stderr = stderr and force_unicode(stderr.strip()) or u''
            process.split = filter(lambda x: x, map(lambda x: x.strip(), process.stdout.split(u'\n')))

            if process.returncode != 0:
                message = (process.returncode, process.stderr, process.stdout) % '%s: %s: %s'
                log.debug(message)
                if exceptions:
                    raise Exception(message)

            return process
dataset/ETHPy150Open nowells/git-goggles/gitgoggles/git.py/Repository.shell/swapped operands of `%`