Repository: pymedusa/Medusa

Issue:
PP ignores Folders surprisingly
**Branch/Commit:** last dev
**OS:** windows 10
**What you did:** nothing that could help to reproduice
**What happened:**
There are processable folders / files in a folder.
![image](https://user-images.githubusercontent.com/9487685/32669224-124a36c8-c640-11e7-9da7-64d2752b57f8.png)
_inside every folder, there is a video file with exactly the same filename as the folder_

I force a manual PP and get these logs

**Logs:**
```
2017-11-10 17:49:54 INFO     Thread-25 :: [80db5a5] C:\Users\**********\Downloads\AutoDL\Deluge Seedbox\.stfolder: Hidden folder
2017-11-10 17:49:54 INFO     Thread-25 :: [80db5a5] I did encounter some unprocessable items: 
2017-11-10 17:49:54 INFO     Thread-25 :: [80db5a5] Successfully processed.
2017-11-10 17:49:54 DEBUG    Thread-25 :: [80db5a5] Ignoring hidden folder: .stfolder
2017-11-10 17:49:54 DEBUG    Thread-25 :: [80db5a5] No processable items found in folder: C:\Users\**********\Downloads\AutoDL
2017-11-10 17:49:54 INFO     Thread-25 :: [80db5a5] Feature 'postpone post-processing if no subtitle available' is enabled.
2017-11-10 17:49:54 DEBUG    Thread-25 :: [80db5a5] Processing path: C:\Users\**********\Downloads\AutoDL
```
**What you expected:**
This kind of files used to be PPed (even automatically)

the hidden stfolder is the folder created by Syncthing to store config files to its synchronisation.
it used to be a .stfolder file in the past (I don't know until when exactly, but fairly recently).
However, as you see, the folder was last modified in september.
I am sure I had files synced and PPed since.


Discussion:
@medariox 
these are the full debug logs

Resolving patch:
diff --git a/medusa/process_tv.py b/medusa/process_tv.py
--- a/medusa/process_tv.py
+++ b/medusa/process_tv.py
@@ -27,7 +27,7 @@
 
 class ProcessResult(object):
 
-    IGNORED_FOLDERS = ('.AppleDouble', '.@__thumb', '@eaDir')
+    IGNORED_FOLDERS = ('@eaDir',)
 
     def __init__(self, path, process_method=None):
 
@@ -149,7 +149,9 @@ def process(self, resource_name=None, force=False, is_priority=None, delete_on=F
                     if not self.process_method == 'move' or (proc_type == 'manual' and not delete_on):
                         continue
 
-                    self.delete_folder(os.path.join(dir_path, '@eaDir'))
+                    for folder in self.IGNORED_FOLDERS:
+                        self.delete_folder(os.path.join(dir_path, folder))
+
                     if self.unwanted_files:
                         self.delete_files(dir_path, self.unwanted_files)
 
@@ -200,9 +202,15 @@ def should_process(self, path, failed=False):
         if not self._is_valid_folder(path, failed):
             return False
 
+        folder = os.path.basename(path)
+        if helpers.is_hidden_folder(path) or any(f == folder for f in self.IGNORED_FOLDERS):
+            self.log('Ignoring folder: {0}'.format(folder), logger.DEBUG)
+            self.missedfiles.append('{0}: Hidden or ignored folder'.format(path))
+            return False
+
         for root, dirs, files in os.walk(path):
-            for folder in dirs:
-                if not self._is_valid_folder(os.path.join(root, folder), failed):
+            for subfolder in dirs:
+                if not self._is_valid_folder(os.path.join(root, subfolder), failed):
                     return False
             for each_file in files:
                 if helpers.is_media_file(each_file) or helpers.is_rar_file(each_file):
@@ -217,8 +225,6 @@ def should_process(self, path, failed=False):
     def _is_valid_folder(self, path, failed):
         """Verify folder validity based on the checks below."""
         folder = os.path.basename(path)
-        if folder in self.IGNORED_FOLDERS:
-            return False
 
         if folder.startswith('_FAILED_'):
             self.log('The directory name indicates it failed to extract.', logger.DEBUG)
@@ -239,11 +245,6 @@ def _is_valid_folder(self, path, failed):
             self.missedfiles.append('{0}: Being unpacked'.format(path))
             return False
 
-        if helpers.is_hidden_folder(path):
-            self.log('Ignoring hidden folder: {0}'.format(folder), logger.DEBUG)
-            self.missedfiles.append('{0}: Hidden folder'.format(path))
-            return False
-
         return True
 
     def _get_files(self, path):


Test patch: