Cheers, thanks a lot for that. I'll give it a go. I still may be interested in sponsoring a version with the improvements you mention etc and possibly more. Would that code be compatible for Unix and also for Windows NTFS?


On 6/22/06, Tino Wildenhain <[EMAIL PROTECTED]> wrote:
michael nt milne schrieb:
> Hi
> Just wondering if anyone has written or attempted to write a script
> which would read through a site built using Zope and write all
> attached/uploaded files (Word, PDF, Excel) etc to a filesystem location
> in an un-pickled format. Therefore the files would be usable by their
> native application and be accessible outside of Zope. The business logic
> behind this is to be able to create, say once a day at night, a copy of
> all digital business assets for extra back-up and recovery purposes in
> case of disaster. Also this would be good for migration purposes if
> required.
> If not, how long would it take to create such a script? I could probably
> source a sponsor for it. I realise that it's best to do this at the
> application level and at the moment this would be through Plone.
> I've demoed all the Plone external storage products and also checked out
> DirectoryStorage but all these store pickled files etc.

----------- snip ----------
import os
import sys

except IndexError:
     print "usage: zopectl run %s <target dirrectory>" % sys.argv[0]

def filedump(resulttuple,basedir):
     print "dumping %s (%d Bytes)" % (fileobject.getId(),fileobject.size)
     o=open(os.path.join(basedir,pathname.replace ('/','_')+fileobject.getId()),"wb")

for res in app.ZopeFind(app,obj_metatypes=['File'])

--------- snip -----------

and run this over ZEO via zopectl run somewhere/to/targetdir

There are possibly many improvements (creating subdirectories, fixing extensions
and so on)

Tino Wildenhain

Zope maillist  -
**   No cross posts or HTML encoding!  **
(Related lists - )

Reply via email to