This commit is contained in:
		@@ -1,2 +1,3 @@
 | 
			
		||||
pycryptodome
 | 
			
		||||
pydh
 | 
			
		||||
pydh
 | 
			
		||||
unipath
 | 
			
		||||
@@ -3,6 +3,8 @@
 | 
			
		||||
import os
 | 
			
		||||
import re
 | 
			
		||||
 | 
			
		||||
from unipath import Path
 | 
			
		||||
 | 
			
		||||
class Executor:
 | 
			
		||||
    """This class executes commands recieved by the server"""
 | 
			
		||||
 | 
			
		||||
@@ -34,16 +36,14 @@ class Executor:
 | 
			
		||||
 | 
			
		||||
    def setCurrentDirectory(self, dirName: str) -> str:
 | 
			
		||||
        if dirName == "..":
 | 
			
		||||
            if self.currentDirectory == "":
 | 
			
		||||
            p = Path(os.path.join(self.baseDir, self.currentDirectory))
 | 
			
		||||
            parentpath = p.parent
 | 
			
		||||
            if str(parentpath) == self.baseDir:
 | 
			
		||||
                return self.currentDirectory
 | 
			
		||||
            else:
 | 
			
		||||
                directories = self.currentDirectory.split(os.path.sep)
 | 
			
		||||
                strdirectory = ""
 | 
			
		||||
                for dir in directories:
 | 
			
		||||
                    strdirectory = os.path.join(strdirectory, dir)
 | 
			
		||||
                    strdirectory = strdirectory[:-3]
 | 
			
		||||
                if os.path.exists(os.path.join(self.baseDir, self.currentDirectory)):
 | 
			
		||||
                    self.currentDirectory = strdirectory
 | 
			
		||||
                newpath = str(parentpath).replace(self.baseDir,'')
 | 
			
		||||
                if os.path.exists(os.path.join(self.baseDir,newpath)):
 | 
			
		||||
                    self.currentDirectory = newpath
 | 
			
		||||
                return self.currentDirectory
 | 
			
		||||
        else:
 | 
			
		||||
            dirName = self.sanitizeDirectory(dirName)
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user