Re: Re: large file endings in ZMS Image

Niels Dettenbach <[email protected]> Thu, 16 Jun 2011 11:35:46 +0200
Newsgroups gmane.comp.cms.zms.devel
Organization Syndicat IT&Internet
Message-ID <[email protected]>
Am Donnerstag 16 Juni 2011, 10:40:38 schrieben Sie:
> actually I do neither know how to detect defects in the object tree nor how
> to to repair them with a script. Please share this code with us. As far as
> I know there is only few public documentation about such things, just
> experience in many heads.

Just did something like this (for a non multilingual site):


Used this script (adapted from the HOWTOs) (sorry - partly very ugly hack but 
worked for me...) within the ZMS root:


# Python-Skript #
# repair my Content (auto)
# 2011 Niels Dettenbach

for ob in context.getTreeNodes():
   #print "Processing",ob.absolute_url()
   old_minor = ob.getObjProperty('minor_version')
   old_major = ob.getObjProperty('major_version')
   old_master = ob.getObjProperty('master_version')
   print "old :"
   print old_minor
   print old_major
   print old_master

   ob.setObjProperty('minor_version',old_minor)
   ob.setObjProperty('major_version',old_major)
   ob.setObjProperty('master_version',old_master)
   try:
      for ob_vers in ob.getObjVersions():
         # Monolingual Attributes.
         try:
            v = getattr(ob_vers,'key',None)
            print "nogetattr v: "
            print v
            setattr(ob_vers,'key',v)
         except:
            print "ob_vers: "
            print ob_vers
            #setattr(ob_vers,'key',None)
            ob.setObjProperty('minor_version',0)
            ob.setObjProperty('major_version',0)
            ob.setObjProperty('master_version',0)

   except:
      print ob.absolute_url()
      ob.setObjProperty('minor_version',0)
      ob.setObjProperty('major_version',0)
      ob.setObjProperty('master_version',0)
    
return printed



and used an ZMS action like these:

  <dictionary>
    <item key="custom"></item>
    <item key="data"><![CDATA[<dtml-comment>
# Example code:
</dtml-comment>

<dtml-call expr="REQUEST.set('message', repairContent)">

<dtml-return message>]]>
    </item>
    <item key="description"></item>
    <item key="exec" type="int">1</item>
    <item key="id"><![CDATA[ZMSRepairContent]]></item>

    <item key="meta_type"><![CDATA[DTML Method]]></item>
    <item key="meta_types" type="list">
      <list>
        <item><![CDATA[ZMSFolder]]></item>
        <item><![CDATA[ZMS]]></item>
      </list>
    </item>
    <item key="name"><![CDATA[repair Content]]></item>
    <item key="roles" type="list">

      <list>
        <item><![CDATA[ZMSAdministrator]]></item>
      </list>
    </item>
  </dictionary>


and called it within folders or full site root.

Not shure how far this would help others here...



Cheers,


Niels.
-- 

---

  Niels Dettenbach
  ---
  Syndicat IT&Internet
  http://www.syndicat.com
  T.-Muentzer.-Str. 2, 37308 Heilbad Heiligenstadt - DE
  ---
  Kryptoinfo: 
  PGP public key ID 651CA20D
  Fingerprint: 55E0 4DCD B04C 4A49 1586  88AE 54DC 4465 651C A20D
  https://syndicat.com/pub_key.asc
  ---
signature.asc (application/pgp-signature, 836 B)
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.16 (GNU/Linux)

iQIcBAABCAAGBQJN+c5yAAoJEM78prARigUne60QAJBnNoRoopQpa6jtWCeW7nTK
Q9tA3ErIv0T3UavWSCWOuurzuDmf963rpejGJtbO1MUPkTreoN0dDVNNYsYulnYK
qDl4XvPAHCR3FEJ5DKPCwkQ9T2Au5SlRXmZOeHnt29DKehIPhpDPh2PN31CTN/n7
mBV5MPovPRr6RPsYSYhLw945cHudrQZascpQBhGbDWnnPov4uR5NWIHF85qqD7eK
KGe6sdgExEAKxDLjpO9dC93Frv2ybcTM8pAZ8mLhfnCH0AWtNIaFEoAPgVIERNsF
naOe8HvX5R7uN4yixm0YVdgTh5M7DLvgCnNtbyd/SnPGldIVeUfx64HlgXOR5NFz
ULgbEp8gE9huAlePWJXvrTP8nLvbVdHLfhcRk6yurvLrLNuZinnTwAtUw9uoG/5D
pBKVAw0JTVl8si//gd/lTb0hXO6IywCs8j6bsxBwCjnDM83YTY9+3+mv9iQUdO55
+AuuVieyOVt0+vawhmir2GXnPkLoFC837cKn+wbGU62GIqFKbOYXoGjuGs3BGU+q
JtO8u7jV6ddxG0duSB4W9KZZ8aQIAxoe6quNx4MM88trhzU0fWMunS6tiL/dqdtV
2xVLfUXXCn244Ux20nFRF8egeykt4O+4N7w3/yav/H170/WL2s9hj7NpDsRKA1fa
mG9S8mWUGFnAXg7mTNah
=B116
-----END PGP SIGNATURE-----