1f06ee5fa072931fc807527535c91a46c149a6746Guido van Rossum#! /usr/bin/env python 25378d5c485f8204630ac0e7db3276d3a852b4317Guido van Rossum 35378d5c485f8204630ac0e7db3276d3a852b4317Guido van Rossum# Copy one file's atime and mtime to another 45378d5c485f8204630ac0e7db3276d3a852b4317Guido van Rossum 55378d5c485f8204630ac0e7db3276d3a852b4317Guido van Rossumimport sys 69a6757dadeab6077f26f3bdfda17585780468121Guido van Rossumimport os 75378d5c485f8204630ac0e7db3276d3a852b4317Guido van Rossumfrom stat import ST_ATIME, ST_MTIME # Really constants 7 and 8 85378d5c485f8204630ac0e7db3276d3a852b4317Guido van Rossum 95378d5c485f8204630ac0e7db3276d3a852b4317Guido van Rossumdef main(): 1070c4378dbcfdcbeef6fb3aa348f32ed862fe8eb7Tim Peters if len(sys.argv) <> 3: 1170c4378dbcfdcbeef6fb3aa348f32ed862fe8eb7Tim Peters sys.stderr.write('usage: copytime source destination\n') 1270c4378dbcfdcbeef6fb3aa348f32ed862fe8eb7Tim Peters sys.exit(2) 1370c4378dbcfdcbeef6fb3aa348f32ed862fe8eb7Tim Peters file1, file2 = sys.argv[1], sys.argv[2] 1470c4378dbcfdcbeef6fb3aa348f32ed862fe8eb7Tim Peters try: 1570c4378dbcfdcbeef6fb3aa348f32ed862fe8eb7Tim Peters stat1 = os.stat(file1) 1670c4378dbcfdcbeef6fb3aa348f32ed862fe8eb7Tim Peters except os.error: 1770c4378dbcfdcbeef6fb3aa348f32ed862fe8eb7Tim Peters sys.stderr.write(file1 + ': cannot stat\n') 1870c4378dbcfdcbeef6fb3aa348f32ed862fe8eb7Tim Peters sys.exit(1) 1970c4378dbcfdcbeef6fb3aa348f32ed862fe8eb7Tim Peters try: 2070c4378dbcfdcbeef6fb3aa348f32ed862fe8eb7Tim Peters os.utime(file2, (stat1[ST_ATIME], stat1[ST_MTIME])) 2170c4378dbcfdcbeef6fb3aa348f32ed862fe8eb7Tim Peters except os.error: 2270c4378dbcfdcbeef6fb3aa348f32ed862fe8eb7Tim Peters sys.stderr.write(file2 + ': cannot change time\n') 2370c4378dbcfdcbeef6fb3aa348f32ed862fe8eb7Tim Peters sys.exit(2) 245378d5c485f8204630ac0e7db3276d3a852b4317Guido van Rossum 25e236b38731823aeb87bb6d101062f54a72044954Andrew M. Kuchlingif __name__ == '__main__': 26e236b38731823aeb87bb6d101062f54a72044954Andrew M. Kuchling main() 27