Thanks, it works now :)
 
I think I'd done all of those last week, but not all at the same time... oh 
well 
Indeed I'd looked at CPSUtil too.
 
For list reference:
 
file foo.py:
 
from AccessControl import ModuleSecurityInfo
ModuleSecurityInfo('Products.bazProduct.foo).declarePublic('bar')
def bar():
   return 'fred & barney'
EOF
 
file __init__.py:
 
# Making sure that the ModuleSecurityInfo info statements of the following 
modules are taken into account.
import foo
EOF
 
to import, do
 
from Products.bazProduct.foo import bar
(and not from foo import bar)
 
And that's it, you're up and running.
 
Thanks a lot,
Jonathan
________________________________

De: Florent Guillaume [mailto:[EMAIL PROTECTED]
Date: sam. 17/03/2007 01:47
À: Winterflood, Jonathan
Cc: [email protected]
Objet : Re: [CPS-devel] breaking code up into seperate files



Please have a look at CPSUtil, where a lot of functions are provided 
the way you want.

1. put the function in a foo.py file
2. put the proper ModuleSecurityInfo(...).declarePublic(...) to make 
it importable by restricted code
3. import foo.py from your __init__.py so that the security 
declaration is read by zope.

Florent


On 16 Mar 2007, at 18:12, Winterflood, Jonathan wrote:

> Hi all,
>
> I have a number of .py files in my product that need to use the 
> same set of functions; So far i've been resorting to copy/paste to 
> make them work...
>
> Obviously this isn't a good idea, so i created a file containing 
> (so far) one function
> this file is placed at the root of my product, and is organised as 
> such:
>
> """ my file's comment
> """
>
> def myfunc():
>     """myfunc's comment
>     """
>     etc...
>
> EOF(myfile.py)
>
> To use this, I'm trying to import it in the .py that's using it:
> from myfile import myfunc
>
> This gives me a traceback whenever I try to use it...:
> ImportError: import of "csv_render" is unauthorized
>
> What should I do to allow the import?
>
> TIA,
> Jonathan
> This message contains information that may be privileged or 
> confidential and is the property of the Capgemini Group. It is 
> intended only for the person to whom it is addressed. If you are 
> not the intended recipient, you are not authorized to read, print, 
> retain, copy, disseminate, distribute, or use this message or any 
> part thereof. If you receive this message in error, please notify 
> the sender immediately and delete all copies of this message.
>
> _______________________________________________
> cps-devel mailing list
> http://lists.nuxeo.com/mailman/listinfo/cps-devel

--
Florent Guillaume, Director of R&D, Nuxeo
Open Source Enterprise Content Management (ECM)
http://www.nuxeo.com <http://www.nuxeo.com/>    http://www.nuxeo.org 
<http://www.nuxeo.org/>    +33 1 40 33 79 87







This message contains information that may be privileged or confidential and is 
the property of the Capgemini Group. It is intended only for the person to whom 
it is addressed. If you are not the intended recipient,  you are not authorized 
to read, print, retain, copy, disseminate,  distribute, or use this message or 
any part thereof. If you receive this  message in error, please notify the 
sender immediately and delete all  copies of this message.
_______________________________________________
cps-devel mailing list
http://lists.nuxeo.com/mailman/listinfo/cps-devel

Reply via email to