Export zope folder using python

We have two zope servers on which the internal site of our company runs. One of them is a live site, and one is a developer's site. I am working on writing a python script that moves everything from a dev server to a live server. Now the process includes several steps that are performed in the zope management interface. I need to do everything automatically, so running a single script handles all of this. One thing I need to do is export one folder from a live server so that I can reimport back to the site after the update. How can I do this from a python script?

We are using Zope 2.8 and python 2.3.4

+5
source share
3 answers

manage_exportObject manage_importObject, $ZOPE_HOME/lib/python/OFS/ObjectManager.py

, Zope 2.8, :

  • /tmp/instance/dev ( 8080)
  • /tmp/instance/prod ( 9090)

ZMI /MyFolder1 /MyFolder2, . Python script .zexp ZMI :

#!/usr/bin/python
import urllib
import shutil

ids_to_transfer = ['MyFolder1', 'MyFolder2']

for id in ids_to_transfer:
    urllib.urlopen('http://admin:password_dev@localhost:8080/manage_exportObject?id=' + id)

    shutil.move('/tmp/instance/dev/var/' + id + '.zexp', '/tmp/instance/prod/import/' + id + '.zexp')

    urllib.urlopen('http://admin:password_prod@localhost:9090/manage_delObjects?ids=' + id)
    urllib.urlopen('http://admin:password_prod@localhost:9090/manage_importObject?file=' + id + '.zexp')
+4

, - :

#!/usr/bin/python
import urllib
import shutil

username_dev = 'admin'
username_prod = 'admin'
password_dev = 'password_dev'
password_prod = 'password_prod'
url_dev = 'localhost:8080'
url_prod = 'localhost:9090'

paths_and_ids_to_transfer = [('level1/level2/','MyFolder1'), ('level1/','MyFolder2')]

for path, id in ids_to_transfer:
    urllib.urlopen('http://%s:%s@%s/%smanage_exportObject?id=%s' % (username_dev, password_dev, url_dev, path, id))

    shutil.move('/tmp/instance/dev/var/' + id + '.zexp', '/tmp/instance/prod/import/' + id + '.zexp')

    urllib.urlopen('http://%s:%s@%s/%smanage_delObjects?ids=%s' % (username_prod, password_prod, url_prod, path, id))
    urllib.urlopen('http://%s:%s@%s/%smanage_importObject?file=%s.zexp' % (username_prod, password_prod, url_prod, path, id))

, , , ... - , , .

+3

, Data.fs. / - .

0

All Articles