From 584057c173afc61f48c66c85144d07416fd15482 Mon Sep 17 00:00:00 2001 From: helmutm Date: Sat, 14 Aug 2010 19:18:18 +0000 Subject: [PATCH] provide utility method for copying an external file to an archive location git-svn-id: svn://svn.cy55.de/Zope3/src/cybertools/trunk@3950 fd906abe-77d9-0310-91a1-e0d9ade77398 --- storage/filesystem.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/storage/filesystem.py b/storage/filesystem.py index 91762c8..8864ea1 100644 --- a/storage/filesystem.py +++ b/storage/filesystem.py @@ -23,6 +23,7 @@ $Id$ """ import os +import shutil from zope.interface import implements import transaction from transaction.interfaces import IDataManager @@ -93,6 +94,15 @@ class FileSystemStorage(object): subDir = params.get('subdirectory') return self.getDir(address, subDir) + def copyDataFile(self, sourceAddress, sourceParams, targetAddress, targetParams): + source = self.getDir(sourceAddress, sourceParams.get('subdirectory')) + target = self.getDir(targetAddress, targetParams.get('subdirectory')) + targetDir = os.path.dirname(target) + if not os.path.exists(targetDir): + os.makedirs(targetDir) + shutil.copyfile(source, target) + + class FSSDataManager(object):