Oben Sonne avatar Oben Sonne committed 88a50d9

Better return code handling when mounting

Based on a fix by Sam Bull

Comments (0)

Files changed (1)

         print(MSG_NO_MATCH)
         return False
     
+    rc = True
+
     for item in items:
         epath = item.attributes["encfs-path"]
         mpoint = item.attributes["mount-point"]
             msg += "mount point already in use"
         elif not os.path.isdir(mpoint):
             msg += "mount point does not exist or is not a directory"
+            rc = False
         else:
             cmd = ["encfs", "-o", "nonempty", "-S", epath, mpoint]
             p = subprocess.Popen(cmd, stdin=subprocess.PIPE)
             p.communicate(input="%s\n" % item.secret)
             msg += p.returncode and "FAILED" or "OK"
+            rc &= not p.returncode
             
         print(msg)
 
-    return True
+    return rc
             
 # =============================================================================
 # main
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.