Re: large file endings in ZMS Image

"sascha.gottfried" <[email protected]> Thu, 16 Jun 2011 13:46:05 -0000
Newsgroups gmane.comp.cms.zms.devel
Message-ID <[email protected]>
Hi Niels,
thanks for sharing the code. Can you explain the connection to your problems with mediafolder code. Why did the "pack" function fail before you fixed the object tree - did ZMS raise any Exception? Why was it necessary to fix the "version" attributes?

Please share your insight!

Sascha

--- In [email protected], Niels Dettenbach <nd@...> wrote:
>
> 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
>   ---
>