MCPcopy Create free account
hub / github.com/Windscribe/Desktop-App / CopyFile

Function CopyFile

tools/base/utils.py:204–224  ·  view source on GitHub ↗
(sourcefilename, destfilename, copymode=True)

Source from the content-addressed store, hash-verified

202
203
204def CopyFile(sourcefilename, destfilename, copymode=True):
205 msg.Verbose("CopyFile: \"{}\" to \"{}\"".format(sourcefilename, destfilename))
206 if not os.path.exists(sourcefilename):
207 raise IOError("Can't copy file \"{}\": not found.".format(sourcefilename))
208 usourcefilename = MakeUnicodePath(sourcefilename)
209 udestfilename = MakeUnicodePath(destfilename)
210 destdir = os.path.dirname(destfilename)
211 if not os.path.exists(destdir):
212 CreateDirectory(destdir)
213 last_error = None
214 for _ in range(_OS_RETRY_COUNT):
215 try:
216 shutil.copyfile(usourcefilename, udestfilename)
217 if copymode:
218 shutil.copymode(usourcefilename, udestfilename)
219 return True
220 except EnvironmentError as e:
221 last_error = e
222 time.sleep(1)
223 raise IOError("Can't copy file \"{}\" to \"{}\"!\nLast error: {}".format(
224 sourcefilename, destfilename, last_error))
225
226
227def CopyAllFiles(sourcedir, destdir, copymode=True):

Callers 2

CopyAllFilesFunction · 0.85
runFirstPhaseMethod · 0.85

Calls 3

MakeUnicodePathFunction · 0.85
CreateDirectoryFunction · 0.85
formatMethod · 0.45

Tested by

no test coverage detected