mirror of
https://github.com/spl0k/supysonic.git
synced 2024-12-23 01:16:18 +00:00
Don't use DirEntry
This commit is contained in:
parent
acf7e32ea5
commit
cf3e03a1e7
@ -10,9 +10,9 @@
|
|||||||
|
|
||||||
# Try built-in scandir, fall back to the package for Python 2.7
|
# Try built-in scandir, fall back to the package for Python 2.7
|
||||||
try:
|
try:
|
||||||
from os import scandir, DirEntry
|
from os import scandir
|
||||||
except ImportError:
|
except ImportError:
|
||||||
from scandir import scandir, DirEntry
|
from scandir import scandir
|
||||||
|
|
||||||
# os.replace was added in Python 3.3, provide a fallback for Python 2.7
|
# os.replace was added in Python 3.3, provide a fallback for Python 2.7
|
||||||
try:
|
try:
|
||||||
|
@ -20,7 +20,7 @@ from .covers import find_cover_in_folder, has_embedded_cover, CoverFile
|
|||||||
from .db import Folder, Artist, Album, Track, User
|
from .db import Folder, Artist, Album, Track, User
|
||||||
from .db import StarredFolder, StarredArtist, StarredAlbum, StarredTrack
|
from .db import StarredFolder, StarredArtist, StarredAlbum, StarredTrack
|
||||||
from .db import RatingFolder, RatingTrack
|
from .db import RatingFolder, RatingTrack
|
||||||
from .py23 import scandir, strtype, DirEntry, Queue, QueueEmpty
|
from .py23 import scandir, strtype, Queue, QueueEmpty
|
||||||
|
|
||||||
|
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
@ -194,16 +194,7 @@ class Scanner(Thread):
|
|||||||
|
|
||||||
@db_session
|
@db_session
|
||||||
def scan_file(self, path_or_direntry):
|
def scan_file(self, path_or_direntry):
|
||||||
if not isinstance(path_or_direntry, (strtype, DirEntry)):
|
if isinstance(path_or_direntry, strtype):
|
||||||
raise TypeError(
|
|
||||||
"Expecting string or DirEntry, got " + str(type(path_or_direntry))
|
|
||||||
)
|
|
||||||
|
|
||||||
if isinstance(path_or_direntry, DirEntry):
|
|
||||||
path = path_or_direntry.path
|
|
||||||
basename = path_or_direntry.name
|
|
||||||
stat = path_or_direntry.stat()
|
|
||||||
else:
|
|
||||||
path = path_or_direntry
|
path = path_or_direntry
|
||||||
|
|
||||||
if not os.path.exists(path):
|
if not os.path.exists(path):
|
||||||
@ -211,6 +202,10 @@ class Scanner(Thread):
|
|||||||
|
|
||||||
basename = os.path.basename(path)
|
basename = os.path.basename(path)
|
||||||
stat = os.stat(path)
|
stat = os.stat(path)
|
||||||
|
else:
|
||||||
|
path = path_or_direntry.path
|
||||||
|
basename = path_or_direntry.name
|
||||||
|
stat = path_or_direntry.stat()
|
||||||
|
|
||||||
mtime = int(stat.st_mtime)
|
mtime = int(stat.st_mtime)
|
||||||
size = stat.st_size
|
size = stat.st_size
|
||||||
|
@ -72,10 +72,6 @@ class ScannerTestCase(unittest.TestCase):
|
|||||||
|
|
||||||
@db_session
|
@db_session
|
||||||
def test_scan_file(self):
|
def test_scan_file(self):
|
||||||
track = db.Track.select().first()
|
|
||||||
self.assertRaises(TypeError, self.scanner.scan_file, None)
|
|
||||||
self.assertRaises(TypeError, self.scanner.scan_file, track)
|
|
||||||
|
|
||||||
self.scanner.scan_file("/some/inexistent/path")
|
self.scanner.scan_file("/some/inexistent/path")
|
||||||
commit()
|
commit()
|
||||||
self.assertEqual(db.Track.select().count(), 1)
|
self.assertEqual(db.Track.select().count(), 1)
|
||||||
|
Loading…
Reference in New Issue
Block a user