Dolda2000 GitWeb
/
ashd.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
python: Fixed some docstring typos.
[ashd.git]
/
python
/
ashd
/
wsgidir.py
diff --git
a/python/ashd/wsgidir.py
b/python/ashd/wsgidir.py
index
ada5282
..
2da3a94
100644
(file)
--- a/
python/ashd/wsgidir.py
+++ b/
python/ashd/wsgidir.py
@@
-33,10
+33,10
@@
argument `.fpy=my.module.foohandler' can be given to pass requests for
functions, you may want to use the getmod() function in this module.
"""
functions, you may want to use the getmod() function in this module.
"""
-import os, threading, types
+import os, threading, types
, getopt
import wsgiutil
import wsgiutil
-__all__ = ["application", "wmain", "getmod", "cachedmod"]
+__all__ = ["application", "wmain", "getmod", "cachedmod"
, "chain"
]
class cachedmod(object):
"""Cache entry for modules loaded by getmod()
class cachedmod(object):
"""Cache entry for modules loaded by getmod()
@@
-87,13
+87,13
@@
def getmod(path):
if path in modcache:
entry = modcache[path]
else:
if path in modcache:
entry = modcache[path]
else:
- entry =
cachedmod()
+ entry =
[threading.Lock(), None]
modcache[path] = entry
finally:
cachelock.release()
modcache[path] = entry
finally:
cachelock.release()
- entry
.lock
.acquire()
+ entry
[0]
.acquire()
try:
try:
- if entry
.mod is None or sb.st_mtime > entry
.mtime:
+ if entry
[1] is None or sb.st_mtime > entry[1]
.mtime:
f = open(path, "r")
try:
text = f.read()
f = open(path, "r")
try:
text = f.read()
@@
-103,11
+103,10
@@
def getmod(path):
mod = types.ModuleType(mangle(path))
mod.__file__ = path
exec code in mod.__dict__
mod = types.ModuleType(mangle(path))
mod.__file__ = path
exec code in mod.__dict__
- entry.mod = mod
- entry.mtime = sb.st_mtime
- return entry
+ entry[1] = cachedmod(mod, sb.st_mtime)
+ return entry[1]
finally:
finally:
- entry
.lock
.release()
+ entry
[0]
.release()
class handler(object):
def __init__(self):
class handler(object):
def __init__(self):
@@
-162,12
+161,20
@@
def wmain(*argv):
Returns the `application' function. If any arguments are given,
they are parsed according to the module documentation.
"""
Returns the `application' function. If any arguments are given,
they are parsed according to the module documentation.
"""
- ret = handler()
- for arg in argv:
+ hnd = handler()
+ ret = hnd.handle
+
+ opts, args = getopt.getopt(argv, "V")
+ for o, a in opts:
+ if o == "-V":
+ import wsgiref.validate
+ ret = wsgiref.validate.validator(ret)
+
+ for arg in args:
if arg[0] == '.':
p = arg.index('=')
if arg[0] == '.':
p = arg.index('=')
-
ret
.addext(arg[1:p], arg[p + 1:])
- return ret
.handle
+
hnd
.addext(arg[1:p], arg[p + 1:])
+ return ret
def chain(env, startreq):
"""Chain-loading WSGI handler
def chain(env, startreq):
"""Chain-loading WSGI handler