Salve, spero di non essere troppo ermetico.<br>Ho cercato di seguire il libro di Aspeli cap 10<br>per implementare due Content Type<br>CatalogFolder e CatalogInstance,<br>con<br>CatalogInstance contenuto in CatalogFolder<br>
Sembra tutto ok,<br>ma nella fase di testing non riesco a capire quante volte<br>viene chiamato validate_filexmlSrc.<br>Con<br>f = open(&#39;/tmp/out-3&#39;,&#39;a&#39;)<br>registro vedo tre chiamate&nbsp; ad ogni test<br>e sembra<br>
da vari lanci con files&nbsp; di diverse dimensioni che la prima sia sempre ok.<br>open(&#39;/tmp/test-output.html&#39;,&#39;a&#39;).write(browser.contents)<br>mi dice che il content type f1 e&#39; stato inserito correttamente.<br>
<br>Qualche&nbsp; idea ?<br>Grazie<br><br>-- <br>luigi<br><br>class CatalogInstance(folder.ATFolder):<br>##<br>## varie cose qui<br>##<br>&nbsp;&nbsp; implements(ICatalogInstance)<br>&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; portal_type = &quot;CatalogInstance&quot;<br>
&nbsp;&nbsp;&nbsp; _at_rename_after_creation = True<br>&nbsp;&nbsp;&nbsp; schema = CatalogInstanceSchema<br>&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; images = atapi.ATFieldProperty(&#39;images&#39;)<br>&nbsp;&nbsp;&nbsp; style&nbsp; = atapi.ATFieldProperty(&#39;style&#39;)<br>&nbsp;&nbsp;&nbsp; file_xml_src = atapi.ATFieldProperty(&#39;filexmlSrc&#39;)<br>
&nbsp;&nbsp;&nbsp; catalog = None<br><br>&nbsp;&nbsp; def validate_filexmlSrc(self,value):<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; f = open(&#39;/tmp/out-3&#39;,&#39;a&#39;)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; f.write(value.filename+&quot;:&quot;)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; src = &quot;\n&quot;.join(value.readlines())<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if src is not None :<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; f.write(str(len(src))+&quot;\n\n&quot;)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; f.write(&#39;None&#39;+&quot;\n\n&quot;)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; f.close()<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return None&nbsp;&nbsp; <br><br><br><br>README.txt :<br>
## varie altre cose qui<br>Addable content<br>---------------<br><br>Catalog&nbsp; content is managed inside one root content types, a &quot;Catalog Folder&quot;<br><br>&nbsp;&nbsp;&nbsp; &gt;&gt;&gt; browser.open(portal_url)<br><br>Verify that we have the links to create catalogs item menu:<br>
<br>&nbsp;&nbsp;&nbsp; &gt;&gt;&gt; browser.getLink(url=&#39;/createObject?type_name=Catalog+Folder&#39;).click()<br><br>We set the title for this catalog folder<br><br>&nbsp;&nbsp;&nbsp; &gt;&gt;&gt; browser.getControl(name=&#39;title&#39;).value=&#39;TestCatalogs&#39;<br>
&nbsp;&nbsp;&nbsp; &gt;&gt;&gt; browser.getControl(name=&#39;form_submit&#39;).click()<br><br>Then we make a catalog instance &#39;f1&#39; inside TestCatalogs<br>&nbsp;&nbsp;&nbsp; &gt;&gt;&gt; browser.getLink(url=&#39;/createObject?type_name=CatalogInstance&#39;).click()<br>
&nbsp;&nbsp;&nbsp; &gt;&gt;&gt; browser.getControl(name=&#39;title&#39;).value=&#39;f1&#39;<br>&nbsp;&nbsp;&nbsp; &gt;&gt;&gt; browser.getControl(name=&#39;filexmlSrc_file&#39;).add_file(open(&#39;/tmp/catalog.xml&#39;),&#39;text/xml&#39;, &#39;catalog.xml&#39;)<br>
&nbsp;&nbsp;&nbsp; &gt;&gt;&gt; browser.getControl(name=&#39;form_submit&#39;).click()<br>&nbsp;&nbsp;&nbsp; &gt;&gt;&gt; open(&#39;/tmp/test-output.html&#39;,&#39;a&#39;).write(browser.contents)<br><br><br><br><br>/tmp/out-3:<br>catalog.xml:8473289<br>
<br>catalog.xml:0<br><br>catalog.xml:8381003<br><br><br>