<div class="gmail_quote">2011/11/11 lucagent <span dir="ltr"><<a href="mailto:luka.gentili@gmail.com" target="_blank">luka.gentili@gmail.com</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">


Salve,<br>
provo a riscrivere anche se l'ultima volta non ci sono state risposte.<br>
</blockquote><div>Tieni presente che questo è un servizio su base volontaria, non il supporto tecnico di un'azienda. </div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">



così funziona ... ma non posso utilizzare caratteri accentati o altri<br>
caratteri non ascii ... ... ...<br>
<br>
avete qualche idea o suggerimento o link dove andare a vedere ?!?!? la cosa<br>
più rapida sarebbe poter avere i privilegi per accedere alla email.Header<br>
... ma non so come si può fare (se si può)</blockquote><div><br></div><div>Mi sembra di capire che tu finora abbia sviluppato TTW (senza mettere codice sul filesystem, editandolo nel browser).</div><div>Oltre ai palesi vantaggi degli oggetti <i><a href="http://pypi.python.org/pypi/Products.PythonScripts" target="_blank">Script (Python)</a></i> (velocità di prototipizzazione e sviluppo) ci sono degli svantaggi:</div>


<div><ul><li>non puoi utilizzare un VCS per tenere conto delle revisioni</li><li>non puoi usare direttamente un editor, ma devi usare il browser</li><li>sei soggetto ai controlli di sicurezza di Zope, che per ogni statement devono controllare se l'utente che ha causato l'esecuzione dello script ha i permessi per eseguire l'istruzione, con impatto sulle performance e l'impossibilità di utilizzare quasi tutti i moduli della standard library</li>


</ul></div><div>Vedi <a href="https://plone.org/documentation/faq/restricted-python-scripts" target="_blank">https://plone.org/documentation/faq/restricted-python-scripts</a>, anche se ti sconsiglio di usare un External Method: meglio <a href="http://pypi.python.org/pypi/ZopeSkel/2.21.2">creare un package</a> in cui <a href="http://collective-docs.readthedocs.org/en/latest/views/browserviews.html#creating-and-registering-a-view" target="_blank">registri una vista</a>,  <a href="http://collective-docs.readthedocs.org/en/latest/views/browserviews.html#by-using-traversing" target="_blank">consultandola poi con un traverse</a>).</div>


<div>Se non hai mai creato un package il processo può risultare lungo, e forse è meglio risolvere il problema delle accentate.</div><div>Sembra che l'encoding degli oggetti unicode nei PythonScript non sia molto prevedibile:</div>

<div><div><font class="Apple-style-span" face="'courier new', monospace">return repr("Città") + ", " + </font><span class="Apple-style-span" style="font-family: 'courier new', monospace; ">repr(u"Città")</span></div>

<div><font class="Apple-style-span" face="'courier new', monospace"><div><span class="Apple-style-span" style="font-family: arial; ">In un PythonScript restituisce</span></div><div>'Citt\xc3\xa0', u'Citt\xc3\xa0'</div>

<div><span class="Apple-style-span" style="font-family: arial; ">Mentre da console (python normale)</span></div><div>'Citt\xc3\xa0', u'Citt\xe0'</div></font></div></div><div>Un altro motivo per usare il meno possibile lo sviluppo TTW.</div>

<div>Comunque, tu fai</div><div><span class="Apple-style-span" style="font-family: 'courier new', monospace; ">context.MailHost.send(message.encode("utf-8"),encode="quoted-printable")</span></div>

<div>con message di tipo stringa: implicitamente l'istruzione <font class="Apple-style-span" face="'courier new', monospace">encode</font> diventa</div><div><font class="Apple-style-span" face="'courier new', monospace">message.decode('ascii').encode('utf-8')</font></div>

<div>e quindi dà errore se ci sono accentate (che mancano in ascii).</div><div>Prova ad usare <span class="Apple-style-span" style="font-family: 'courier new', monospace; ">context.MailHost.send(message).</span></div>

<div>Per le accentate nel subject dovrai usare comunque il modulo <a href="http://docs.python.org/library/email.header.html">email.header</a>, poichè lo standard delle email prevede gli header a 7 bit.</div><div>Fare un prodotto su filesystem per risolvere un problema simile sembra troppo macchinoso, ma i vantaggi generali dell'avere il codice sotto controllo sono impagabili.</div>

<div><br></div><div>             Silvio</div></div>