@@ -13,7 +13,7 @@ def __init__(self, foldername):
1313
1414 def exists (self ):
1515 try :
16- return os .path .isdir (self .filename ):
16+ return os .path .isdir (self .filename )
1717 except Exception as e :
1818 print (f"An error occured checking if { self .filename } exists" )
1919
@@ -52,25 +52,12 @@ def delete(self):
5252 print (f"An error occured while deleting { self .foldername } " )
5353
5454 def remove (self ):
55- try :
56- if os .path .isdir (self .foldername ):
57- if len (self .foldername ) > 0 :
58- self .clear ()
59- os .rmdir (self .foldername )
60- if (re .search (r'/.' , self .foldername [1 :]) or re .search (r'\\.' , self .foldername [1 :])):
61- self .foldername = self .get_foldername ()
62- return self
63- except FileNotFoundError :
64- print (f"Folder/directory { self .foldername } does not exist at that location" )
65- except PermissionError :
66- print (f"Permission denied removing { self .foldername } " )
67- except Exception as e :
68- print (f"An error occured while removing { self .foldername } " )
55+ return self .delete ()
6956
7057 def make (self ):
7158 try :
7259 if os .path .isdir (self .foldername ):
73- print (f"Folder/directory { self .foldername } already exists...continuing..." )
60+ # print(f"Folder/directory {self.foldername} already exists...continuing...")
7461 return self
7562 os .makedirs (self .foldername )
7663 return self
@@ -80,22 +67,14 @@ def make(self):
8067 print (f"An error occured while making { self .foldername } " )
8168
8269 def create (self ):
83- try :
84- if os .path .isdir (self .foldername ):
85- print (f"Folder/directory { self .foldername } already exists...continuing..." )
86- return self
87- os .makedirs (self .foldername )
88- return self
89- except PermissionError :
90- print (f"Permission denied while creating { self .foldername } " )
91- except Exception as e :
92- print (f"An error occured while creating { self .foldername } " )
70+ return self .make ()
9371
94- def copy_to (self , new_foldername ):
72+ def copy_contents_to (self , new_foldername ):
9573 try :
96- if not os .path .isdir (new_foldername ):
97- print (f"{ new_foldername } path does not exist. Create a folder/directory to that path before copying" )
74+ if "." in new_foldername :
9875 return self
76+ if not os .path .isdir (new_foldername ):
77+ self .make ()
9978 files = os .listdir (self .foldername )
10079 for file in files :
10180 if os .path .isfile (os .path .join (self .foldername , file )):
@@ -111,17 +90,12 @@ def copy_to(self, new_foldername):
11190 print (f"An error occured while copying { self .foldername } to { new_foldername } " )
11291 print ("Enter a new directory, including the new name" )
11392
114- def copyTo (self , new_foldername ):
93+ def copyContentsTo (self , new_foldername ):
94+ return self .copy_contents_to ()
95+
96+ def copy_to (self , new_foldername ):
11597 try :
116- if not os .path .isdir (new_foldername ):
117- print (f"{ new_foldername } path does not exist. Create a folder/directory to that path before copying" )
118- return self
119- files = os .listdir (self .foldername )
120- for file in files :
121- if os .path .isfile (os .path .join (self .foldername , file )):
122- shutil .copy (os .path .join (self .foldername , file ), new_foldername )
123- elif os .path .isdir (os .path .join (self .foldername , file )):
124- shutil .copytree (os .path .join (self .foldername , new_foldername ))
98+ shutil .copytree (new_foldername )
12599 return self
126100 except FileNotFoundError :
127101 print (f"Folder/directory { self .foldername } does not exist at that directory" )
@@ -131,6 +105,10 @@ def copyTo(self, new_foldername):
131105 print (f"An error occured while copying { self .foldername } to { new_foldername } " )
132106 print ("Enter a new directory, including the new name" )
133107
108+ def copyTo (self , new_foldername ):
109+ return self .copy_to (new_foldername )
110+
111+
134112 def list (self ):
135113 try :
136114 listed_files = os .listdir (self .foldername )
@@ -145,7 +123,7 @@ def list(self):
145123 def replace (self , folder_to_replace ):
146124 try :
147125 folder (folder_to_replace ).delete ()
148- self .copy (folder_to_replace )
126+ self .copy_to (folder_to_replace )
149127 self .foldername = folder_to_replace
150128 return self
151129 except FileNotFoundError :
@@ -171,7 +149,6 @@ def clear(self):
171149 os .rmdir (file_path )
172150 return self
173151
174-
175152 except FileNotFoundError :
176153 print (f"Folder/directory { self .foldername } does not exist" )
177154 except PermissionError :
@@ -184,23 +161,35 @@ def clear_at(clear_dir):
184161 try :
185162 if os .path .isdir (clear_dir ):
186163 if len (os .listdir (clear_dir )) == 0 :
187- return self
188-
189- files = os .listdir (clear_dir )
190- for file in files :
191- file_path = os .path .join (clear_dir , file )
192- if os .path .isfile (file_path ):
193- os .remove (file_path )
194- if os .path .isdir (file_path ):
195- os .rmdir (file_path )
196-
164+ files = os .listdir (clear_dir )
165+ for file in files :
166+ file_path = os .path .join (clear_dir , file )
167+ if os .path .isfile (file_path ):
168+ os .remove (file_path )
169+ if os .path .isdir (file_path ):
170+ os .rmdir (file_path )
197171 except FileNotFoundError :
198172 print (f"Folder/directory { clear_dir } does not exist" )
199173 except PermissionError :
200174 print (f"Permission denied while clearing { clear_dir } " )
201175 except Exception as e :
202176 print (f"An error occurred while clearing { clear_dir } " )
203177
178+ @staticmethod
179+ def mkdir (directory ):
180+ folder (directory ).make ()
181+
182+ def move_to (self , new_location ):
183+ if os .path .isfile (new_location ):
184+ return self
185+ temp = self .foldername
186+ self .copy_to (new_location )
187+ self .foldername = temp
188+ self .delete ()
189+ return self
190+
191+ def moveTo (self , new_location ):
192+ return self .move_to (new_location )
204193
205194 def make_file (self , filename ):
206195 try :
@@ -215,16 +204,8 @@ def make_file(self, filename):
215204 print (f"An error occurred while making { filename } " )
216205
217206 def create_file (self , filename ):
218- try :
219- f = open (self .foldername + filename , 'w' )
220- f .close ()
221- return self
222- except FileNotFoundError :
223- print (f"Folder/directory { self .foldername } does not exist" )
224- except PermissionError :
225- print (f"Permission denied while making { filename } " )
226- except Exception as e :
227- print (f"An error occurred while making { filename } " )
207+ self .make_file ()
208+ return self
228209
229210 def get_foldername (self ):
230211 try :
0 commit comments