source/riffle/model.py
def pathIndex(self, path):
        '''Return index of item with *path*.'''
        if path == self.root.path:
            return QModelIndex()

        if not path.startswith(self.root.path):
            return QModelIndex()

        parts = []
        while True:
            if path == self.root.path:
                break

            head, tail = os.path.split(path)
            if head == path:
                if path:
                    parts.append(path)
                break

            parts.append(tail)
            path = head

        parts.reverse()
        if parts:
            item = self.root
            count = 0

            for count, part in enumerate(parts):
                matched = False

                for child in item.children:
                    if child.name == part:
                        item = child
                        matched = True
                        break

                if not matched:
                    break

            if count + 1 == len(parts):
                return self.createIndex(item.row, 0, item)

        return QModelIndex()
def pathIndex(self, path):
        '''Return index of item with *path*.'''
        if path == self.root.path:
            return QModelIndex()

        if not path.startswith(self.root.path):
            return QModelIndex()

        parts = []
        while True:
            if path == self.root.path:
                break

            head, tail = os.path.split(path)
            if head == path:
                if path:
                    parts.append(path)
                break

            parts.append(tail)
            path = head

        parts.reverse()
        if parts:
            item = self.root
            count = 0

            for count, part in enumerate(parts):
                matched = False

                for child in item.children:
                    if child.name == part:
                        item = child
                        matched = True
                        break

                if not matched:
                    break

            if count + 1 == len(parts):
                return self.createIndex(item.row, 0, item)

        return QModelIndex()
def pathIndex ( self , path ) : if path == self . root . path : return QModelIndex ( ) if not path . startswith ( self . root . path ) : return QModelIndex ( ) parts = [ ] while True : if path == self . root . path : break head , tail = os . path . split ( path ) if head == path : if path : parts . append ( path ) break parts . append ( tail ) path = head parts . reverse ( ) if parts : item = self . root count = 0 for count , part in enumerate ( parts ) : matched = False for child in item . children : if child . name == part : item = child matched = True break if not matched : break if count + 1 == len ( parts ) : return self . createIndex ( item . row , 0 , item ) return QModelIndex ( )
Return index of item with *path*.
Return index of item with * path * .