Fix some stuff

This commit is contained in:
Andrew MacFie 2021-01-19 11:51:17 -05:00
parent 8c9d9c74c8
commit dd80110dd4
1 changed files with 12 additions and 10 deletions

View File

@ -19,10 +19,9 @@
import glob
import os
from typing import Any
import urllib.parse
from typing import List
from PyQt5.QtCore import QAbstractListModel, QModelIndex
from PyQt5.QtCore import QAbstractListModel, QModelIndex, QObject, QUrl
class FilePathCategory(QAbstractListModel):
@ -30,7 +29,7 @@ class FilePathCategory(QAbstractListModel):
def __init__(self, name: str, parent: QObject = None) -> None:
super().__init__(parent)
self._paths: list = []
self._paths: List[str] = []
self.name = name
self.columns_to_filter = [0]
@ -42,11 +41,11 @@ class FilePathCategory(QAbstractListModel):
"""
if not val:
self._paths = [os.path.expanduser('~')]
elif len(val) >= 1 and val[0] in ['~', '/']:
glob_str = os.path.expanduser(glob.escape(val)) + '*'
self._paths = sorted(glob.glob(glob_str))
elif val.startswith('file:///'):
glob_str = os.path.expanduser(urllib.parse.unquote(val[7:])) + '*'
glob_str = QUrl(val).path() + '*'
self._paths = sorted(glob.glob(glob_str))
elif os.path.isabs(os.path.expanduser(val)):
glob_str = glob.escape(os.path.expanduser(val)) + '*'
self._paths = sorted(glob.glob(glob_str))
else:
self._paths = []
@ -58,6 +57,9 @@ class FilePathCategory(QAbstractListModel):
else:
return ''
def rowCount(self, *_args: Any) -> int:
def rowCount(self, parent: QModelIndex=QModelIndex()) -> int:
"""Implement abstract method in QAbstractListModel."""
return len(self._paths)
if parent.isValid():
return 0
else:
return len(self._paths)