From 9de5e2e8571079cdb53e9a8bcbfa39341032406c Mon Sep 17 00:00:00 2001 From: Nadav Tau Date: Sun, 9 Oct 2016 10:40:10 +0300 Subject: [PATCH 1/2] Excluded file ext in Mopidy-File Added support for excluding specific file extensions from Mopidy-File library --- mopidy/file/__init__.py | 1 + mopidy/file/ext.conf | 3 +++ mopidy/file/library.py | 7 +++++++ 3 files changed, 11 insertions(+) diff --git a/mopidy/file/__init__.py b/mopidy/file/__init__.py index ea4dea12..771a65a4 100644 --- a/mopidy/file/__init__.py +++ b/mopidy/file/__init__.py @@ -22,6 +22,7 @@ class Extension(ext.Extension): def get_config_schema(self): schema = super(Extension, self).get_config_schema() schema['media_dirs'] = config.List(optional=True) + schema['excluded_file_extensions'] = config.List(optional=True) schema['show_dotfiles'] = config.Boolean(optional=True) schema['follow_symlinks'] = config.Boolean(optional=True) schema['metadata_timeout'] = config.Integer(optional=True) diff --git a/mopidy/file/ext.conf b/mopidy/file/ext.conf index 486619a1..64721a26 100644 --- a/mopidy/file/ext.conf +++ b/mopidy/file/ext.conf @@ -6,3 +6,6 @@ media_dirs = show_dotfiles = false follow_symlinks = false metadata_timeout = 1000 +excluded_file_extensions = + .jpg + .jpeg diff --git a/mopidy/file/library.py b/mopidy/file/library.py index 10182a38..dbf7fb4e 100644 --- a/mopidy/file/library.py +++ b/mopidy/file/library.py @@ -36,6 +36,10 @@ class FileLibraryProvider(backend.LibraryProvider): self._media_dirs = list(self._get_media_dirs(config)) self._follow_symlinks = config['file']['follow_symlinks'] self._show_dotfiles = config['file']['show_dotfiles'] + self._excluded_file_extensions = config['file']['excluded_file_extensions'] + self._excluded_file_extensions = tuple( + bytes(file_ext.lower()) for file_ext in self._excluded_file_extensions) + self._scanner = scan.Scanner( timeout=config['file']['metadata_timeout']) @@ -60,6 +64,9 @@ class FileLibraryProvider(backend.LibraryProvider): if not self._show_dotfiles and dir_entry.startswith(b'.'): continue + if self._excluded_file_extensions and dir_entry.endswith(self._excluded_file_extensions): + continue + if os.path.islink(child_path) and not self._follow_symlinks: logger.debug('Ignoring symlink: %s', uri) continue From 5e9f18f0bfff28c34c72a960de0c8c06a53136f9 Mon Sep 17 00:00:00 2001 From: Nadav Tau Date: Sun, 9 Oct 2016 11:13:30 +0300 Subject: [PATCH 2/2] Fixing CI issues --- mopidy/file/library.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/mopidy/file/library.py b/mopidy/file/library.py index dbf7fb4e..6a2db5f9 100644 --- a/mopidy/file/library.py +++ b/mopidy/file/library.py @@ -36,9 +36,11 @@ class FileLibraryProvider(backend.LibraryProvider): self._media_dirs = list(self._get_media_dirs(config)) self._follow_symlinks = config['file']['follow_symlinks'] self._show_dotfiles = config['file']['show_dotfiles'] - self._excluded_file_extensions = config['file']['excluded_file_extensions'] + self._excluded_file_extensions = \ + config['file']['excluded_file_extensions'] self._excluded_file_extensions = tuple( - bytes(file_ext.lower()) for file_ext in self._excluded_file_extensions) + bytes(file_ext.lower()) for file_ext in + self._excluded_file_extensions) self._scanner = scan.Scanner( timeout=config['file']['metadata_timeout']) @@ -64,7 +66,8 @@ class FileLibraryProvider(backend.LibraryProvider): if not self._show_dotfiles and dir_entry.startswith(b'.'): continue - if self._excluded_file_extensions and dir_entry.endswith(self._excluded_file_extensions): + if self._excluded_file_extensions and \ + dir_entry.endswith(self._excluded_file_extensions): continue if os.path.islink(child_path) and not self._follow_symlinks: