analyzeSite.dtml: DTML-Methode zur Ermittlung großer Daten-Volumina
<html> <head> <title>Analyze site...</title> </head> <body> <table cellspacing="1" cellpadding="1" border="0" class="zmiNeutralColorStrong0"> <tr valign="top"> <th class="form-small">Id</th> <th class="form-small">Size</th> </tr> <dtml-call "REQUEST.set('total_size',0)"> <dtml-in "objectValues(['Folder'])" sort=id> <dtml-try> <dtml-let ob_size="_.len(aq_parent.manage_exportObject(id=id,download=1,toxml=None,RESPONSE=None, REQUEST=REQUEST))"> <tr valign="top" <dtml-if sequence-odd> class="zmiNeutralColorLight0" <dtml-else> class="zmiNeutralColorMedium0" </dtml-if>> <td class="form-small"><dtml-var id></td> <td class="form-small"> <dtml-if "ob_size < 1024"> 1 Kb <dtml-elif "ob_size > 1048576"> <dtml-var "ob_size / 1048576.0" fmt="%0.02f"> Mb <dtml-else> <dtml-var "_.int(ob_size / 1024)"> Kb </dtml-if> </td> </tr> <dtml-call "REQUEST.set('total_size',total_size+ob_size)"> </dtml-let> <dtml-except> <tr valign="top" <dtml-if sequence-odd> class="zmiNeutralColorLight0" <dtml-else> class="zmiNeutralColorMedium0" </dtml-if>> <td class="form-small"><dtml-var id></td> <td class="form-small"><dtml-var error_type>: <dtml-var error_value></td> </tr> </dtml-try> </dtml-in> <tr valign="top"> <th class="form-small"></th> <th class="form-small"> <dtml-let ob_size=total_size> <dtml-if "ob_size < 1024"> 1 Kb <dtml-elif "ob_size > 1048576"> <dtml-var "ob_size / 1048576.0" fmt="%0.02f"> Mb <dtml-else> <dtml-var "_.int(ob_size / 1024)"> Kb </dtml-if> </dtml-let> </th> </tr> </table> </body> </html>
updateBlobField.dtml: ruft Rekursionsmethode updateBlobFieldRecurse auf
<html> <body> <dtml-with "content"> <dtml-call f_standard_html_request> <dtml-var updateBlobFieldRecurse> </dtml-with> </body> </html>
updateBlobFieldRecurse.dtml: schreibt BLOBs neu
<dtml-in "objectValues(dGlobalAttrs.keys())"> <dtml-if "meta_type=='ZMSFile'"> <dtml-if "id=='dummy'"> <a href="<dtml-var absolute_url>/manage" target="_blank"><dtml-var absolute_url></a> <dtml-if "aq_parent.meta_type=='ZMSCustom' and aq_parent.meta_id in ['links_dateien','meldung']"> <dtml-call "getParentNode().manage_renameObject(id='dummy',new_id=getNewId('inhalt'))"> <dtml-elif "aq_parent.meta_type!='ZMSCustom'"> <dtml-call "getParentNode().manage_renameObject(id='dummy',new_id=getNewId('e'))"> <dtml-else> Unknown </dtml-if> <br/> </dtml-if> <dtml-comment> <dtml-try> <dtml-let ob=sequence-item> <dtml-var id><br/> <dtml-call "REQUEST.set('newZMSFile',getParentNode().manage_addZMSFile({'id':'dummy'},REQUEST))"> <dtml-call "newZMSFile.setObjStateModified(REQUEST)"> <dtml-in "getObjAttrs().keys()"> <dtml-let key=sequence-item value="getObjProperty(key,REQUEST)"> <dtml-if "key=='file' and value is not _.None"> <dtml-call "newZMSFile.setObjProperty(key,{'data':value.getData(),'filename':value.getFilename(),'content_type':value.getContentType()},lang)"> <dtml-else> <dtml-call "newZMSFile.setObjProperty(key,value,lang)"> </dtml-if> </dtml-let> </dtml-in> <dtml-call "operator_setattr(newZMSFile,'sort_id',_.getattr(ob,'sort_id',''))"> <dtml-call "newZMSFile.onChangeObj(REQUEST)"> </dtml-let> <dtml-call "REQUEST.set('old_id',id)"> <dtml-call "getParentNode().manage_delObjects(ids=[old_id],REQUEST=REQUEST)"> <dtml-call "getParentNode().manage_renameObject(id='dummy',new_id=old_id)"> <dtml-except> <dtml-var error_type>: <dtml-var error_value><br/> </dtml-try> </dtml-comment> <dtml-else> <dtml-var updateBlobFieldRecurse> </dtml-if> </dtml-in>