(self)
return result
Iterates over the ``installed-files.txt`` entries and returns a tuple
        ``(path, hash, size)`` for each line.

        :returns: a list of (path, hash, size)
Iterates over the ``installed-files.txt`` entries and returns a tuple
        ``(path, hash, size)`` for each line.
Iterates over the installed - files . txt entries and returns a tuple ( path hash size ) for each line .
def list_installed_files(self):
        """
        Iterates over the ``installed-files.txt`` entries and returns a tuple
        ``(path, hash, size)`` for each line.

        :returns: a list of (path, hash, size)
        """

        def _md5(path):
            f = open(path, 'rb')
            try:
                content = f.read()
            finally:
                f.close()
            return hashlib.md5(content).hexdigest()

        def _size(path):
            return os.stat(path).st_size

        record_path = os.path.join(self.path, 'installed-files.txt')
        result = []
        if os.path.exists(record_path):
            with codecs.open(record_path, 'r', encoding='utf-8') as f:
                for line in f:
                    line = line.strip()
                    p = os.path.normpath(os.path.join(self.path, line))
                    # "./" is present as a marker between installed files
                    # and installation metadata files
                    if not os.path.exists(p):
                        logger.warning('Non-existent file: %s', p)
                        if p.endswith(('.pyc', '.pyo')):
                            continue
                        #otherwise fall through and fail
                    if not os.path.isdir(p):
                        result.append((p, _md5(p), _size(p)))
            result.append((record_path, None, None))
        return result
def list_installed_files ( self ) : def _md5 ( path ) : f = open ( path , 'rb' ) try : content = f . read ( ) finally : f . close ( ) return hashlib . md5 ( content ) . hexdigest ( ) def _size ( path ) : return os . stat ( path ) . st_size record_path = os . path . join ( self . path , 'installed-files.txt' ) result = [ ] if os . path . exists ( record_path ) : with codecs . open ( record_path , 'r' , encoding = 'utf-8' ) as f : for line in f : line = line . strip ( ) p = os . path . normpath ( os . path . join ( self . path , line ) ) # "./" is present as a marker between installed files # and installation metadata files if not os . path . exists ( p ) : logger . warning ( 'Non-existent file: %s' , p ) if p . endswith ( ( '.pyc' , '.pyo' ) ) : continue #otherwise fall through and fail if not os . path . isdir ( p ) : result . append ( ( p , _md5 ( p ) , _size ( p ) ) ) result . append ( ( record_path , None , None ) ) return result