Exemplo n.º 1
0
 def _copy(self,source,target):
     is_win32 = (sys.platform == "win32")
     if is_win32 and os.path.exists(target) and target != source:
         target_old = get_backup_filename(target)
         really_rename(target,target_old)
         try:
             self._do_copy(source,target)
         except:
             really_rename(target_old,target)
             raise
         else:
             try:
                 os.unlink(target_old)
             except EnvironmentError:
                 pass
     else:
         target_old = None
         if os.path.isdir(target) and os.path.isfile(source):
             target_old = get_backup_filename(target)
             really_rename(target,target_old)
         elif os.path.isfile(target) and os.path.isdir(source):
             target_old = get_backup_filename(target)
             really_rename(target,target_old)
         self._do_copy(source,target)
         if target_old is not None:
             self._remove(target_old)
Exemplo n.º 2
0
 def _copy(self,source,target):
     is_win32 = (sys.platform == "win32")
     if is_win32 and os.path.exists(target) and target != source:
         target_old = get_backup_filename(target)
         really_rename(target,target_old)
         try:
             self._do_copy(source,target)
         except:
             really_rename(target_old,target)
             raise
         else:
             try:
                 os.unlink(target_old)
             except EnvironmentError:
                 pass
     else:
         target_old = None
         if os.path.isdir(target) and os.path.isfile(source):
             target_old = get_backup_filename(target)
             really_rename(target,target_old)
         elif os.path.isfile(target) and os.path.isdir(source):
             target_old = get_backup_filename(target)
             really_rename(target,target_old)
         self._do_copy(source,target)
         if target_old is not None:
             self._remove(target_old)
Exemplo n.º 3
0
 def _copy(self,source,target):
     source = source.encode(sys.getfilesystemencoding())
     target = target.encode(sys.getfilesystemencoding())
     if os.path.exists(target):
         target_old = get_backup_filename(target)
         MoveFileTransacted(target,target_old,None,None,1,self.trnid)
         self._do_copy(source,target)
         try:
             self._remove(target_old)
         except EnvironmentError:
             pass
     else:
         target_old = None
         if os.path.isdir(target):
             target_old = get_backup_filename(target)
             MoveFileTransacted(target,target_old,None,None,1,self.trnid)
         self._do_copy(source,target)
         if target_old is not None:
             self._remove(target_old)
Exemplo n.º 4
0
 def _move(self,source,target):
     source = source.encode(sys.getfilesystemencoding())
     target = target.encode(sys.getfilesystemencoding())
     if os.path.exists(target):
         target_old = get_backup_filename(target)
         MoveFileTransacted(target,target_old,None,None,1,self.trnid)
         MoveFileTransacted(source,target,None,None,1,self.trnid)
         try:
             self._remove(target_old)
         except EnvironmentError:
             pass
     else:
         self._create_parents(target)
         MoveFileTransacted(source,target,None,None,1,self.trnid)