Re: clearing out old cache/session files from beaker

2009-12-06 Thread Damian
Actually on another note: http://pylonshq.com/docs/en/0.9.7/sessions/
- suggests that the default backend is dbm, when the beaker code sets
the default to be file if a data_dir is specified.  Does pylons
override this somewhere, or are the docs out of date?

from the doc:
==
type

Accepts: string Default: dbm

Type of storage used for the session, current types are “dbm”, “file”,
“memcached”, “database”, and “memory”. The storage uses the Container
API that is also used by the cache system.


Cheers,
Damian

On Dec 5, 5:04 pm, Damian damiandimm...@gmail.com wrote:
 Hey Jonathan,

 Thanks for that - I seem to have had my brain switched off - the
 sessions are not (nessecarily) stored as bdb, i just realised that
 what I am using is the default backend for beaker sessions in pylons.
 So, I don't actually know if it's file or dbm (which I think/thought
 uses bdb?).  If it's file based, deleting is safe, if its bdb I'll
 have to do some other magic.

 Ok, so I went and checked the beaker code:
 In Session's __init__:
         if not type:
             if data_dir:
                 self.type = 'file'
             else:
                 self.type = 'memory'
         else:
             self.type = type

 so this probably means I am using file based as I have a data_dir
 defined and don't explicitly specify a type, therefore deleting should
 be ok...

 Sorry for the confusion and thanks for all the responses, much
 appreciated!
 Damian

 On Dec 4, 10:34 pm, Jonathan Vanasco jonat...@findmeon.com wrote:



  sorry, clears out old bdb entries.  not files.  within bdb clear out
  the entries -- do not delete files in the fs.

--

You received this message because you are subscribed to the Google Groups 
pylons-discuss group.
To post to this group, send email to pylons-disc...@googlegroups.com.
To unsubscribe from this group, send email to 
pylons-discuss+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/pylons-discuss?hl=en.




Logging with multiple applications in one .ini file

2009-12-06 Thread Jens Hoffrichter
Hello all,

I am currently configuring a second application in parallel to my
currently running application the .ini file.

So far, everything is running quite good, the application is running
without a problem.

But I can't seem to get logging for the second application up and
running. I have added a keys entry in the [loggers] section, and added
a logger_ section for the second application, setting it to DEBUG
level (as we are developing here).

But when I do loging.getLogger(__name__) in one of the controllers, I
only get a logger with sets WARNING level, so my normal log.debug and
log.info statements are not going to the log file.

Is there any magic I have to add to make this work?

Oh, and this is still Pylons 0.9.6.2, so it might be something which
is already fixed in a newer version, but unfortunately, we currently
see no way to get the complete app migrated to a newer version of
Pylons, so we are stuck with that one.

Any help will be greatly appreciated!

Best regards,
Jens

--

You received this message because you are subscribed to the Google Groups 
pylons-discuss group.
To post to this group, send email to pylons-disc...@googlegroups.com.
To unsubscribe from this group, send email to 
pylons-discuss+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/pylons-discuss?hl=en.




slow import

2009-12-06 Thread andres
Hi,

I've been looking into performance bottlenecks in my pylons app and I
noticed that importing the pylons module itself takes 150 msec. It
might seem pedantic to be worried about 150 msec, but it seems like an
unnecessary startup cost. Have you guys considered ways of making
pylons modules faster to import?

Thanks,

Andres

--

You received this message because you are subscribed to the Google Groups 
pylons-discuss group.
To post to this group, send email to pylons-disc...@googlegroups.com.
To unsubscribe from this group, send email to 
pylons-discuss+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/pylons-discuss?hl=en.




Re: slow import

2009-12-06 Thread Graham Higgins
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1


On 6 Dec 2009, at 16:07, andres wrote:

 it seems like an unnecessary startup cost


A purely personal perspective:

I don't wish to appear discouraging but Pylons is not yet at 1.0 and I  
wouldn't want to see the dev team pressured to make optimizations  
which might later prove to be premature.

You're effectively asking people to devote effort and I suspect that  
would be better received if you could perhaps marshal some more  
detailed support for your argument that 150msec startup cost seems  
unnecessary, even slow?

If you have specific suggestions, I'm sure that Ben and the team would  
welcome proposals accompanied by code and tests.

Cheers,

Graham

http://www.linkedin.com/in/ghiggins




-BEGIN PGP SIGNATURE-

iEYEARECAAYFAksb4kcACgkQOsmLt1Nhivy/iACdGLXnkntW8eTrmXO5HOFqVORe
VZIAoOi1Jcl7myJt9xbEw7/czwlc1ywRiQCVAgUBSxviR1nrWVZ7aXD1AQIfcQP+
PsQPVPruGTgrLFo+DDLzJ9UH7Rv+2+n8LmmNnJw+F4UDcqGpcZzFcaNLA+2E5mUX
e/SXeJDhgNwUzzlE1mlfopVUnC8X/Et+5wjQskh1r9lnBC4AJ8y57MiyU8cQhvtW
0+FYaNp+D5OztB3pUw4HAmPzPgf5j+LJoA5N17d7YJY=
=c0uH
-END PGP SIGNATURE-

--

You received this message because you are subscribed to the Google Groups 
pylons-discuss group.
To post to this group, send email to pylons-disc...@googlegroups.com.
To unsubscribe from this group, send email to 
pylons-discuss+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/pylons-discuss?hl=en.




AttributeError: No configuration has been registered for this process or thread After QuickWiki Installl

2009-12-06 Thread shocks
Hi

I installed Pylons with Mac Ports.  I was able to create and run
helloworld.  However after installed the QuickWiki demo from the
Pylons website (using easy install) I now get this error when I try to
run helloworld (or any other app I try to create).

Any ideas?

$ paster serve --reload development.ini

Starting subprocess with file monitor
Traceback (most recent call last):
  File /Library/Frameworks/Python.framework/Versions/2.6/bin/paster,
line 8, in module
load_entry_point('PasteScript==1.7.3', 'console_scripts', 'paster')
()
  File /Library/Frameworks/Python.framework/Versions/2.6/lib/
python2.6/site-packages/PasteScript-1.7.3-py2.6.egg/paste/script/
command.py, line 84, in run
invoke(command, command_name, options, args[1:])
  File /Library/Frameworks/Python.framework/Versions/2.6/lib/
python2.6/site-packages/PasteScript-1.7.3-py2.6.egg/paste/script/
command.py, line 123, in invoke
exit_code = runner.run(args)
  File /Library/Frameworks/Python.framework/Versions/2.6/lib/
python2.6/site-packages/PasteScript-1.7.3-py2.6.egg/paste/script/
command.py, line 218, in run
result = self.command()
  File /Library/Frameworks/Python.framework/Versions/2.6/lib/
python2.6/site-packages/PasteScript-1.7.3-py2.6.egg/paste/script/
serve.py, line 276, in command
relative_to=base, global_conf=vars)
  File /Library/Frameworks/Python.framework/Versions/2.6/lib/
python2.6/site-packages/PasteScript-1.7.3-py2.6.egg/paste/script/
serve.py, line 313, in loadapp
**kw)
  File /Library/Frameworks/Python.framework/Versions/2.6/lib/
python2.6/site-packages/PasteDeploy-1.3.3-py2.6.egg/paste/deploy/
loadwsgi.py, line 204, in loadapp
return loadobj(APP, uri, name=name, **kw)
  File /Library/Frameworks/Python.framework/Versions/2.6/lib/
python2.6/site-packages/PasteDeploy-1.3.3-py2.6.egg/paste/deploy/
loadwsgi.py, line 225, in loadobj
return context.create()
  File /Library/Frameworks/Python.framework/Versions/2.6/lib/
python2.6/site-packages/PasteDeploy-1.3.3-py2.6.egg/paste/deploy/
loadwsgi.py, line 625, in create
return self.object_type.invoke(self)
  File /Library/Frameworks/Python.framework/Versions/2.6/lib/
python2.6/site-packages/PasteDeploy-1.3.3-py2.6.egg/paste/deploy/
loadwsgi.py, line 110, in invoke
return fix_call(context.object, context.global_conf,
**context.local_conf)
  File /Library/Frameworks/Python.framework/Versions/2.6/lib/
python2.6/site-packages/PasteDeploy-1.3.3-py2.6.egg/paste/deploy/util/
fixtypeerror.py, line 57, in fix_call
val = callable(*args, **kw)
  File /Developer/Python/Pylons/helloworld/helloworld/config/
middleware.py, line 37, in make_app
config = load_environment(global_conf, app_conf)
  File /Developer/Python/Pylons/helloworld/helloworld/config/
environment.py, line 26, in load_environment
config.init_app(global_conf, app_conf, package='helloworld',
paths=paths)
  File /Library/Frameworks/Python.framework/Versions/2.6/lib/
python2.6/site-packages/Pylons-0.9.7-py2.6.egg/pylons/
configuration.py, line 295, in init_app
conf.update(self.pop('environment_load', {}))
  File /Library/Frameworks/Python.framework/Versions/2.6/lib/
python2.6/site-packages/Pylons-0.9.7-py2.6.egg/pylons/
configuration.py, line 134, in __getattr__
conf_dict = self.current_conf()
  File /Library/Frameworks/Python.framework/Versions/2.6/lib/
python2.6/site-packages/Paste-1.7.2-py2.6.egg/paste/config.py, line
76, in _current_obj
No configuration has been registered for this process 
AttributeError: No configuration has been registered for this process
or thread

--

You received this message because you are subscribed to the Google Groups 
pylons-discuss group.
To post to this group, send email to pylons-disc...@googlegroups.com.
To unsubscribe from this group, send email to 
pylons-discuss+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/pylons-discuss?hl=en.




Accessing dev server instance

2009-12-06 Thread shocks
Hi

When I run: paster serve --reload development.ini I am able to view
the site through 127.0.0.1:5000/myapp (on Ubuntu server) however I
cannot access this site from another machine on my network (ie
192.168.1.5:5000/myapp).  How do I configure Pylons/Paster to allow
external access to the Pylons app?

Thanks
Ben

--

You received this message because you are subscribed to the Google Groups 
pylons-discuss group.
To post to this group, send email to pylons-disc...@googlegroups.com.
To unsubscribe from this group, send email to 
pylons-discuss+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/pylons-discuss?hl=en.




Securing your applications with ESAPI

2009-12-06 Thread Craig Younkins
Don’t write your own security controls! Reinventing the wheel when it comes
to developing security controls for every web application or web service
leads to wasted time and massive security holes. The OWASP Enterprise
Security 
APIhttp://www.owasp.org/index.php/Category:OWASP_Enterprise_Security_API#tab=Python(ESAPI)
Toolkits help software developers guard against security‐related
design and implementation flaws.

The same group of people that wrote the OWASP Top
Tenhttp://www.owasp.org/index.php/Top_10_2007now bring you
ESAPIhttp://www.owasp.org/index.php/Category:OWASP_Enterprise_Security_API,
the Enterprise Security API, and I've ported it to Python.
ESAPIhttp://www.owasp.org/index.php/Category:OWASP_Enterprise_Security_API#tab=Pythonprovides
numerous application-level controls that are desperately needed in
today's web applications. ESAPI provides...

   - Strong encoding/decoding/canonicalization to prevent XSS and
   interpreter attacks
   - Flexible authentication and access control
   - Object reference maps to hide server-side objects and references from
   the user
   - Secure session management utilities
   - Strong input validation using whitelists
   - Easy-to-use encryption framework for symmetric-key and public-key
   cryptography
   - Secure PRNG with helper methods
   - Flexible and powerful security logging
   - Intrusion detection - block attackers before they find a weak point!

ESAPIhttp://www.owasp.org/index.php/Category:OWASP_Enterprise_Security_API#tab=Pythonis
pure Python and is not tied to any framework. It only takes a few
minutes
to set up and you can use as much or as little of it as you would like -
there is no lock-in.

The goal of the ESAPI project is to get strong, easy-to-use security
controls in the hands of web developers so that they can focus on what they
do best: creating brilliant websites. This project has two main ways in
which it can be used. First, application developers can pick it up and use
the controls inside to secure their applications. Second, framework
developers can look at it and incorporate the design and functionality of
the security controls into the framework itself. ESAPI is released under the
BSD license, so you can do pretty much anything you want with it.

If having a secure Pylons application is important to you, I hope you take a
look at ESAPI:
OWASP wiki:
http://www.owasp.org/index.php/Category:OWASP_Enterprise_Security_API#tab=Python
Google code: http://code.google.com/p/owasp-esapi-python/

Questions, comments, and criticisms are all welcome. Thank you.

--

Craig Younkins
Website/Blog http://cyounkins.blogspot.com/

--

You received this message because you are subscribed to the Google Groups 
pylons-discuss group.
To post to this group, send email to pylons-disc...@googlegroups.com.
To unsubscribe from this group, send email to 
pylons-discuss+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/pylons-discuss?hl=en.




Re: Accessing dev server instance

2009-12-06 Thread Graham Higgins
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1


On 6 Dec 2009, at 09:27, shocks wrote:

 Hi

 When I run: paster serve --reload development.ini I am able to view
 the site through 127.0.0.1:5000/myapp (on Ubuntu server) however I
 cannot access this site from another machine on my network (ie
 192.168.1.5:5000/myapp).  How do I configure Pylons/Paster to allow
 external access to the Pylons app?



Ah-ha, an easy one.

Pylons defaults to a safe configuration and only serves on localhost,  
hence it is unreachable from other machines.

To make your Pylons app reachable by other machines, change the host  
settting in the development.ini configuration file from host =  
127.0.0.1 to host = 192.168.1.5 (as given above) or whatever  
specific IP address you wish to use, or even '0.0.0.0.

There's more detailed information available in the Pylons book,  
handily available online:

http://pylonsbook.com/en/1.1/exploring-pylons.html#a-word-about-ip-addresses-hosts-and-security

HTH.

Cheers,

Graham

http://www.linkedin.com/in/ghiggins




-BEGIN PGP SIGNATURE-

iEYEARECAAYFAksb7hsACgkQOsmLt1NhivwOdACePVQ+hLSdyXpSK4SWQNWtCkxs
SlkAnRNv2meMOyOfKgDDOh4xKxzfEsCTiQCVAgUBSxvuG1nrWVZ7aXD1AQKpNAQA
xbF+a3+7bA73N+pt8WQ1Iex5mTdz9IaDquhUyz5t4ZWxqlB3yma0zHqc7Kg6XkOk
id3rbp+H66BjvQI7pSBrBYYiT9RGQr5YLpEUhtsWlTUQcRMeapLrU/gHhV4Fg9E0
PkPKtMz3l3TP38POrhh0DfpRiB5/Bw2x8PRh4kHiS2U=
=XiCm
-END PGP SIGNATURE-

--

You received this message because you are subscribed to the Google Groups 
pylons-discuss group.
To post to this group, send email to pylons-disc...@googlegroups.com.
To unsubscribe from this group, send email to 
pylons-discuss+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/pylons-discuss?hl=en.




Re: Calling a controllers method from another method? Is there a 'safe' way without redirecting?

2009-12-06 Thread jnowl

 the request cycle is not getting confused.  
Ha! O.k. I think it's pretty clear who is confused. :)

Graham, your 'spurious_example()' bit really helped the lights go on.
Of course it's obvious to me now (return self.foo() instead of call
self.foo()) but sometimes you need to 'talk' it out to see the errors
of your ways.

Appreciate the discussion, almost feel like there could  be a 'Friday
Foibles' column (*ing yrs truly!). Hope people don't mind the blather
but I really enjoy and learn and am indebted to 'the list'.

Fwiw, this is a login process, but the more general pattern at play
here, as I see it, is foo() having to get a foreign key for a primary
table in bar(), and having to (o.k., I'll say it) redirect from bar()
to foo() if the foreign key is not present.

nxt up - my own web framework! (joke ;)

--

You received this message because you are subscribed to the Google Groups 
pylons-discuss group.
To post to this group, send email to pylons-disc...@googlegroups.com.
To unsubscribe from this group, send email to 
pylons-discuss+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/pylons-discuss?hl=en.




Re: Calling a controllers method from another method? Is there a 'safe' way without redirecting?

2009-12-06 Thread Graham Higgins
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1


On 6 Dec 2009, at 18:40, jnowl wrote:

 Graham, your 'spurious_example()' bit really helped the lights go on.


Heh, thought it might. I've been there before, got a whole wardrobe  
full of T-shirts :-)

Glad I could help.

Cheers,

Graham

http://www.linkedin.com/in/ghiggins




-BEGIN PGP SIGNATURE-

iEYEARECAAYFAksb/xsACgkQOsmLt1NhivwmsACeI8umYfCFEicQ/4oFghY+8+kO
QUcAn3nCZysRixQ0tA20bTaLUsWIdwT4iQCVAgUBSxv/G1nrWVZ7aXD1AQLQYAQA
kvh+yiIMUDWr7x7Bb++8Ah4nbHncp0RXdPoFlfRxjomBI8nRKgSW2FtVPdL7Hlv8
jGFRr73VBHRRkI+1nnhSp/KqoLxfodfo408/hTWSfMBkVKA9L5RA5bgeh7l6hod5
IBAams7kZahROkGJ7P49uhrvhI13CUVCV+1G/+GQYts=
=QtrQ
-END PGP SIGNATURE-

--

You received this message because you are subscribed to the Google Groups 
pylons-discuss group.
To post to this group, send email to pylons-disc...@googlegroups.com.
To unsubscribe from this group, send email to 
pylons-discuss+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/pylons-discuss?hl=en.




Re: slow import

2009-12-06 Thread Graham Dumpleton


On Dec 7, 3:07 am, andres and...@octopart.com wrote:
 Hi,

 I've been looking into performance bottlenecks in my pylons app and I
 noticed that importing the pylons module itself takes 150 msec. It
 might seem pedantic to be worried about 150 msec, but it seems like an
 unnecessary startup cost. Have you guys considered ways of making
 pylons modules faster to import?

Certain modules in Python standard library themselves are slow to
import. Thus, not necessarily a Pylons issue.

Start out by seeing how long it takes to import 'cgi' module to begin
with and you may see what I mean.

 import time
 def func():
...   a = time.time()
...   import cgi
...   print time.time() -a
...
 func()
0.0814950466156

So, that is 80ms alone on my couple of year old iMac.

Graham

--

You received this message because you are subscribed to the Google Groups 
pylons-discuss group.
To post to this group, send email to pylons-disc...@googlegroups.com.
To unsubscribe from this group, send email to 
pylons-discuss+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/pylons-discuss?hl=en.




Re: clearing out old cache/session files from beaker

2009-12-06 Thread Jonathan Vanasco
to be honest...

a while back, i set my sessions to be flat-file based, just because I
didn't want to deal with the stuff you're going through ;)

i had sessions in postgres at one time, but i don't think they were
beaker based.  it was a tie-in to some mod_perl legacy apps.  for them
i did this paradigm:

session_write to memcached , if there is any data-change other than
accessinfo, wrte to postgres too
session_read from memcached, failover to postgres, failover to new
session

a cronjob would clear out old session stuff from both .  it was really
fast , because the timestamp column was just 1 line.

i don't recall how the bdb / dbm stuff works.  you may have to
inspeact/loop sessions.  but it should still be lightning fast.

--

You received this message because you are subscribed to the Google Groups 
pylons-discuss group.
To post to this group, send email to pylons-disc...@googlegroups.com.
To unsubscribe from this group, send email to 
pylons-discuss+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/pylons-discuss?hl=en.




Re: Calling a controllers method from another method? Is there a 'safe' way without redirecting?

2009-12-06 Thread Jonathan Vanasco


On Dec 6, 1:40 pm, jnowl john_now...@carleton.ca wrote:

 Ha! O.k. I think it's pretty clear who is confused. :)

ha!

just to reiterate on mike's point above, please don't take any of my
curt responses as being insensitive, mean or condescending.  i just
meant for you to read up on that stuff yourself -- since that's really
going to be the best/only way to learn.

--

You received this message because you are subscribed to the Google Groups 
pylons-discuss group.
To post to this group, send email to pylons-disc...@googlegroups.com.
To unsubscribe from this group, send email to 
pylons-discuss+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/pylons-discuss?hl=en.




Re: slow import

2009-12-06 Thread Noah Gift
On Sun, Dec 6, 2009 at 1:41 PM, Graham Dumpleton
graham.dumple...@gmail.com wrote:


 On Dec 7, 3:07 am, andres and...@octopart.com wrote:
 Hi,

 I've been looking into performance bottlenecks in my pylons app and I
 noticed that importing the pylons module itself takes 150 msec. It
 might seem pedantic to be worried about 150 msec, but it seems like an
 unnecessary startup cost. Have you guys considered ways of making
 pylons modules faster to import?

 Certain modules in Python standard library themselves are slow to
 import. Thus, not necessarily a Pylons issue.

 Start out by seeing how long it takes to import 'cgi' module to begin
 with and you may see what I mean.

 import time
 def func():
 ...   a = time.time()
 ...   import cgi
 ...   print time.time() -a
 ...
 func()
 0.0814950466156

 So, that is 80ms alone on my couple of year old iMac.

My guess is this is probably not a huge issue for most pylons apps,
but I did happen to be looking at mercurial's source code today for
something unrelated and found this:

http://selenic.com/repo/hg-stable/file/2770d03ae49f/mercurial/demandimport.py

Neat little hack.






 Graham

 --

 You received this message because you are subscribed to the Google Groups 
 pylons-discuss group.
 To post to this group, send email to pylons-disc...@googlegroups.com.
 To unsubscribe from this group, send email to 
 pylons-discuss+unsubscr...@googlegroups.com.
 For more options, visit this group at 
 http://groups.google.com/group/pylons-discuss?hl=en.






-- 
Thanks,

Noah

--

You received this message because you are subscribed to the Google Groups 
pylons-discuss group.
To post to this group, send email to pylons-disc...@googlegroups.com.
To unsubscribe from this group, send email to 
pylons-discuss+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/pylons-discuss?hl=en.




Re: Calling a controllers method from another method? Is there a 'safe' way without redirecting?

2009-12-06 Thread Mike Orr
This issue seems to hinge on what is a request, and when is a new
response created.
I hadn't realized these were in doubt. But  in case it's helpful to anybody...

A request comes in, and Pylons creates a global 'request' and
'response', and routes to the action.  (These are global variables,
but through the magic of StackedObjectProxy, they are local to the
current request, thread, and application.)  Normally the action method
returns a string, and Pylons plugs it into the global response and
sends it to the browser.  'render()' fills a template and returns a
string, so this is still the normal case.

The action can also change the response's status or headers; e.g.,
``response.status = 401``.  The action can also create its own
Response object and return it, in which case it supercedes the global
response object.

When an action method calls another action method, it's still the same
request, and the global 'request' and 'response' objects are the same.
The second method can return a string, change the status or headers,
or return a new Response object, as it wishes.  The original action
must pass the result of the second action through by returning it, or
it will be lost. If you don't explicitly return a value, the default
value is None as with all functions, and an empty page will be sent to
the browser.

Thus, there's no such thing in Pylons of transfering to another
request -- or there is, depending on how you define a request.  But in
the code executed, what matters is the string returned by the original
action and the final setting of the headers -- no matter which
functions were called to produce this state.

Calling 'redirect()' raises an HTTPRedirection that bypasses some of
this processing, and the net result is that the 'response' status is
changed and a Location: header added, so a redirect is sent to the
browser.

Alfredo Deza and I are updating the Pylons Execution Analysis.  It's a
bit inconsistent now because it's partway between Pylons 0.9.6 and
Pylons 0.10, so don't trust it too closely, but the draft might give a
bird's eye view of what's going on:
http://bitbucket.org/sluggo/pylons-execution/src/tip/execution.rst

-- 
Mike Orr sluggos...@gmail.com

--

You received this message because you are subscribed to the Google Groups 
pylons-discuss group.
To post to this group, send email to pylons-disc...@googlegroups.com.
To unsubscribe from this group, send email to 
pylons-discuss+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/pylons-discuss?hl=en.




Re: Logging with multiple applications in one .ini file

2009-12-06 Thread Hans Lellelid
Hi Jens,

 But I can't seem to get logging for the second application up and
 running. I have added a keys entry in the [loggers] section, and added
 a logger_ section for the second application, setting it to DEBUG
 level (as we are developing here).

 But when I do loging.getLogger(__name__) in one of the controllers, I
 only get a logger with sets WARNING level, so my normal log.debug and
 log.info statements are not going to the log file.

It would probably be helpful if you pasted your logger sections.  I
know that I have personally had a lot of trouble getting multiple apps
to work smoothly from a single config file.  A few things I remember:
 - Some of the paster commands (e.g. shell ?)  didn't work.
 - Unit tests seemed to always only use a single app -- whichever app
was initialized first, I think.
 - There was other weirdness when I introduced concepts like pipeline
and filter, which compounded these problems.

Eventually, I moved to a model where I had different .ini files for
each app which then pulled from a defaults.ini that had sections for
each app.  A little confusing when developing, but proved a lot
simpler for deployment.

Anyway, my suspicion is that since (IIRC) the logging config file is
passed directly to logging.config.fileConfig() method, you cannot have
different logging sections for your two different applications.

Cheers,
Hans

--

You received this message because you are subscribed to the Google Groups 
pylons-discuss group.
To post to this group, send email to pylons-disc...@googlegroups.com.
To unsubscribe from this group, send email to 
pylons-discuss+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/pylons-discuss?hl=en.




Re: slow import

2009-12-06 Thread Mike Orr
On Sun, Dec 6, 2009 at 8:56 AM, Graham Higgins gjhigg...@gmail.com wrote:
 -BEGIN PGP SIGNED MESSAGE-
 Hash: SHA1


 On 6 Dec 2009, at 16:07, andres wrote:

 it seems like an unnecessary startup cost


 A purely personal perspective:

 I don't wish to appear discouraging but Pylons is not yet at 1.0 and I
 wouldn't want to see the dev team pressured to make optimizations
 which might later prove to be premature.

Actually, a solution is already built in.  More than half the Pylons
code and Routes code is backward compatibility for deprecated
features, and will be jettisoned in 1.0.  The plan is to release 0.10
and 1.0 simultaneously, with 0.10 containing the compatibility code
and 1.0 not. (Possibly 1.0 might not be ready by 0.10, but last I
heard it was going to be.)

Of course, much of the Pylons code is in the dependencies, which we
don't have direct control over.  But a quick summary of my package
directories shows Pylons at 632 KB (excluding the docs directory), and
the largest dependency being Paste at 3.6 MB.

Python does have a significant amount of overhead loading the standard
libraries at startup.  This has been noted a few times over the years,
but there's nothing we can do about it.  But the Python developers are
moving from a feature phase to an optimization phase, so this may be
addressed in the next year or two.

-- 
Mike Orr sluggos...@gmail.com

--

You received this message because you are subscribed to the Google Groups 
pylons-discuss group.
To post to this group, send email to pylons-disc...@googlegroups.com.
To unsubscribe from this group, send email to 
pylons-discuss+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/pylons-discuss?hl=en.