Skip to content

Commit 74c800d

Browse files
authored
Update folder.py
1 parent 91eacf7 commit 74c800d

File tree

1 file changed

+42
-61
lines changed

1 file changed

+42
-61
lines changed

PyBetterFileIO/folder.py

Lines changed: 42 additions & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)