src/eric7/SystemUtilities/FileSystemUtilities.py

branch
eric7
changeset 10388
a34ce7f42e8b
parent 10339
446d22fa1aea
child 10393
434e1b0bc49e
diff -r 8cf53170e290 -r a34ce7f42e8b src/eric7/SystemUtilities/FileSystemUtilities.py
--- a/src/eric7/SystemUtilities/FileSystemUtilities.py	Wed Dec 06 14:20:35 2023 +0100
+++ b/src/eric7/SystemUtilities/FileSystemUtilities.py	Wed Dec 06 14:23:36 2023 +0100
@@ -664,3 +664,86 @@
                 break
 
     return mountedPaths
+
+
+################################################################################
+## Functions below handle (MicroPython) device and remote file names.
+################################################################################
+
+
+_DeviceFileMarker = "device:"
+
+
+def deviceFileName(fileName):
+    """
+    Function to create a device (MicroPython) file name given a plain file name.
+
+    @param fileName plain file name
+    @type str
+    @return device file name
+    @rtype str
+    """
+    return f"{_DeviceFileMarker}{fileName}"
+
+
+def isDeviceFileName(fileName):
+    """
+    Function to check, if the given file name is a device file name.
+
+    @param fileName file name to be checked
+    @type str
+    @return flag indicating a device file name
+    @rtype bool
+    """
+    return fileName.startswith(_DeviceFileMarker)
+
+
+_RemoteFileMarker = "remote:"
+
+
+def remoteFileName(fileName):
+    """
+    Function to create a remote file name given a plain file name.
+
+    @param fileName plain file name
+    @type str
+    @return remote file name
+    @rtype str
+    """
+    return f"{_RemoteFileMarker}{fileName}"
+
+
+def isRemoteFileName(fileName):
+    """
+    Function to check, if the given file name is a remote file name.
+
+    @param fileName file name to be checked
+    @type str
+    @return flag indicating a remote file name
+    @rtype bool
+    """
+    return fileName.startswith(_RemoteFileMarker)
+
+
+def isPlainFileName(fileName):
+    """
+    Function to check, if the given file name is a plain (i.e. local) file name.
+
+    @param fileName file name to be checked
+    @type str
+    @return flag indicating a local file name
+    @rtype bool
+    """
+    return not fileName.startswith((_DeviceFileMarker, _RemoteFileMarker))
+
+
+def plainFileName(fileName):
+    """
+    Function to create a plain file name given a device or remote file name.
+
+    @param fileName device or remote file name
+    @type str
+    @return plain file name
+    @rtype str
+    """
+    return fileName.replace(_DeviceFileMarker, "").replace(_RemoteFileMarker, "")

eric ide

mercurial