def test_getmtime(self): fn = os.path.join(TESTDATA, 'test.txt') self.assertEqual(os.path.getmtime(fn), zipio.getmtime(fn)) fn = os.path.join(TESTDATA, 'zipped.egg') self.assertEqual(os.path.getmtime(fn), zipio.getmtime(fn)) fn = os.path.join(TESTDATA, 'zipped.egg/test.txt') mtime = zipio.getmtime(fn) self.assertEqual(time.mktime((2011, 3, 15, 13, 54, 40, 0, 0, -1)), mtime) fn = os.path.join(TESTDATA, 'zipped.egg/subdir') mtime = zipio.getmtime(fn) self.assertEqual(time.mktime((2011, 3, 15, 13, 58, 10, 0, 0, -1)), mtime) fn = os.path.join(TESTDATA, 'zipped.egg/subdir4') self.assertEqual( zipio.getmtime(fn), os.path.getmtime(os.path.join(TESTDATA, 'zipped.egg'))) self.assertRaises(IOError, zipio.getmtime, os.path.join(TESTDATA, 'no-file')) self.assertRaises(IOError, zipio.getmtime, os.path.join(TESTDATA, 'zipped.egg/no-file'))
def newer(source, target): """ distutils.dep_utils.newer with zipfile support """ try: return zipio.getmtime(source) > zipio.getmtime(target) except IOError: return True
def _copy_file(source, destination, preserve_mode=False, preserve_times=False, update=False, dry_run=0): log.info("copying file %s -> %s", source, destination) with zipio.open(source, 'rb') as fp_in: if not dry_run: if os.path.exists(destination): os.unlink(destination) with open(destination, 'wb') as fp_out: data = fp_in.read() fp_out.write(data) if preserve_mode: mode = None if hasattr(zipio, 'getmode'): mode = zipio.getmode(source) elif os.path.isfile(source): mode = os.stat(source).st_mode if mode is not None: os.chmod(destination, mode) if preserve_times: mtime = zipio.getmtime(source) os.utime(destination, (mtime, mtime))
def _copy_file( source, destination, preserve_mode=False, preserve_times=False, update=False, dry_run=0, ): log.info("copying file %s -> %s", source, destination) with zipio.open(source, "rb") as fp_in: if not dry_run: if os.path.isdir(destination): destination = os.path.join(destination, os.path.basename(source)) if os.path.exists(destination): os.unlink(destination) with open(destination, "wb") as fp_out: data = fp_in.read() fp_out.write(data) if preserve_mode: mode = None if hasattr(zipio, "getmode"): mode = zipio.getmode(source) elif os.path.isfile(source): mode = stat.S_IMODE(os.stat(source).st_mode) if mode is not None: os.chmod(destination, mode) if preserve_times: mtime = zipio.getmtime(source) os.utime(destination, (mtime, mtime))
def test_getmtime(self): fn = os.path.join(TESTDATA, 'test.txt') self.assertEqual(os.path.getmtime(fn), zipio.getmtime(fn)) fn = os.path.join(TESTDATA, 'zipped.egg') self.assertEqual(os.path.getmtime(fn), zipio.getmtime(fn)) fn = os.path.join(TESTDATA, 'zipped.egg/test.txt') self.assertIn(zipio.getmtime(fn), (1300193680.0, 1300222480.0)) fn = os.path.join(TESTDATA, 'zipped.egg/subdir') self.assertIn(zipio.getmtime(fn), (1300193890.0, 1300222690.0)) fn = os.path.join(TESTDATA, 'zipped.egg/subdir4') self.assertEqual(zipio.getmtime(fn), os.path.getmtime(os.path.join(TESTDATA, 'zipped.egg'))) self.assertRaises(IOError, zipio.getmtime, os.path.join(TESTDATA, 'no-file')) self.assertRaises(IOError, zipio.getmtime, os.path.join(TESTDATA, 'zipped.egg/no-file'))
def get_mtime(path, mustExist=True): """ Get mtime of a path, even if it is inside a zipfile """ warnings.warn("Don't use this function", DeprecationWarning) try: return zipio.getmtime(target) except IOError: if not mustExist: return -1 raise