#NEWLINE# def move_or_copy( src , dst ) : #NEWLINE# #INDENT# try : #NEWLINE# #INDENT# os . rename ( src , dst ) #NEWLINE# #UNINDENT# except OSError as e : #NEWLINE# #INDENT# if ( e . errno == ERRNO_INVALID_CROSS_DEVICE_LINK ) : #NEWLINE# #INDENT# try : #NEWLINE# #INDENT# shutil . copy ( src , dst ) #NEWLINE# #UNINDENT# finally : #NEWLINE# #INDENT# os . unlink ( src ) #NEWLINE# #UNINDENT# #UNINDENT# else : #NEWLINE# #INDENT# raise