eric6/MicroPython/MicroPythonCommandsInterface.py

changeset 7628
f904d0eef264
parent 7360
9190402e4505
child 7780
41420f82c0ac
diff -r 7f643d41464e -r f904d0eef264 eric6/MicroPython/MicroPythonCommandsInterface.py
--- a/eric6/MicroPython/MicroPythonCommandsInterface.py	Wed Jun 17 17:12:21 2020 +0200
+++ b/eric6/MicroPython/MicroPythonCommandsInterface.py	Wed Jun 17 20:18:54 2020 +0200
@@ -402,16 +402,15 @@
         @type str
         @exception IOError raised to indicate an issue with the device
         """
-        assert dirname
-        
-        commands = [
-            "import os as __os_",
-            "__os_.chdir('{0}')".format(dirname),
-            "del __os_",
-        ]
-        out, err = self.execute(commands)
-        if err:
-            raise IOError(self.__shortError(err))
+        if dirname:
+            commands = [
+                "import os as __os_",
+                "__os_.chdir('{0}')".format(dirname),
+                "del __os_",
+            ]
+            out, err = self.execute(commands)
+            if err:
+                raise IOError(self.__shortError(err))
     
     def pwd(self):
         """
@@ -443,16 +442,15 @@
         @type str
         @exception IOError raised to indicate an issue with the device
         """
-        assert filename
-        
-        commands = [
-            "import os as __os_",
-            "__os_.remove('{0}')".format(filename),
-            "del __os_",
-        ]
-        out, err = self.execute(commands)
-        if err:
-            raise IOError(self.__shortError(err))
+        if filename:
+            commands = [
+                "import os as __os_",
+                "__os_.remove('{0}')".format(filename),
+                "del __os_",
+            ]
+            out, err = self.execute(commands)
+            if err:
+                raise IOError(self.__shortError(err))
     
     def rmrf(self, name, recursive=False, force=False):
         """
@@ -468,40 +466,41 @@
         @rtype bool
         @exception IOError raised to indicate an issue with the device
         """
-        assert name
+        if name:
+            commands = [
+                "import os as __os_",
+                "\n".join([
+                    "def remove_file(name, recursive=False, force=False):",
+                    "    try:",
+                    "        mode = __os_.stat(name)[0]",
+                    "        if mode & 0x4000 != 0:",
+                    "            if recursive:",
+                    "                for file in __os_.listdir(name):",
+                    "                    success = remove_file("
+                    "name + '/' + file, recursive, force)",
+                    "                    if not success and not force:",
+                    "                        return False",
+                    "                __os_.rmdir(name)",
+                    "            else:",
+                    "                if not force:",
+                    "                    return False",
+                    "        else:",
+                    "            __os_.remove(name)",
+                    "    except:",
+                    "        if not force:",
+                    "            return False",
+                    "    return True",
+                ]),
+                "print(remove_file('{0}', {1}, {2}))".format(name, recursive,
+                                                             force),
+                "del __os_, remove_file",
+            ]
+            out, err = self.execute(commands)
+            if err:
+                raise IOError(self.__shortError(err))
+            return ast.literal_eval(out.decode("utf-8"))
         
-        commands = [
-            "import os as __os_",
-            "\n".join([
-                "def remove_file(name, recursive=False, force=False):",
-                "    try:",
-                "        mode = __os_.stat(name)[0]",
-                "        if mode & 0x4000 != 0:",
-                "            if recursive:",
-                "                for file in __os_.listdir(name):",
-                "                    success = remove_file(name + '/' + file,"
-                " recursive, force)",
-                "                    if not success and not force:",
-                "                        return False",
-                "                __os_.rmdir(name)",
-                "            else:",
-                "                if not force:",
-                "                    return False",
-                "        else:",
-                "            __os_.remove(name)",
-                "    except:",
-                "        if not force:",
-                "            return False",
-                "    return True",
-            ]),
-            "print(remove_file('{0}', {1}, {2}))".format(name, recursive,
-                                                         force),
-            "del __os_, remove_file",
-        ]
-        out, err = self.execute(commands)
-        if err:
-            raise IOError(self.__shortError(err))
-        return ast.literal_eval(out.decode("utf-8"))
+        return False
     
     def mkdir(self, dirname):
         """
@@ -511,16 +510,15 @@
         @type str
         @exception IOError raised to indicate an issue with the device
         """
-        assert dirname
-   
-        commands = [
-            "import os as __os_",
-            "__os_.mkdir('{0}')".format(dirname),
-            "del __os_",
-        ]
-        out, err = self.execute(commands)
-        if err:
-            raise IOError(self.__shortError(err))
+        if dirname:
+            commands = [
+                "import os as __os_",
+                "__os_.mkdir('{0}')".format(dirname),
+                "del __os_",
+            ]
+            out, err = self.execute(commands)
+            if err:
+                raise IOError(self.__shortError(err))
     
     def rmdir(self, dirname):
         """
@@ -530,16 +528,15 @@
         @type str
         @exception IOError raised to indicate an issue with the device
         """
-        assert dirname
-   
-        commands = [
-            "import os as __os_",
-            "__os_.rmdir('{0}')".format(dirname),
-            "del __os_",
-        ]
-        out, err = self.execute(commands)
-        if err:
-            raise IOError(self.__shortError(err))
+        if dirname:
+            commands = [
+                "import os as __os_",
+                "__os_.rmdir('{0}')".format(dirname),
+                "del __os_",
+            ]
+            out, err = self.execute(commands)
+            if err:
+                raise IOError(self.__shortError(err))
     
     def put(self, hostFileName, deviceFileName=None):
         """

eric ide

mercurial