diff options
| -rw-r--r-- | pyramid/mako_templating.py | 9 | ||||
| -rw-r--r-- | pyramid/renderers.py | 18 | ||||
| -rw-r--r-- | pyramid/scripts/pserve.py | 8 |
3 files changed, 11 insertions, 24 deletions
diff --git a/pyramid/mako_templating.py b/pyramid/mako_templating.py index 2b09e8d45..5d09cad01 100644 --- a/pyramid/mako_templating.py +++ b/pyramid/mako_templating.py @@ -95,7 +95,9 @@ class MakoRendererFactoryHelper(object): r'(?:\#(?P<defname>[\w_]+))?' r'(\.(?P<ext>.*))' ) - asset, defname, ext = p.match(info.name).group('asset', 'defname', 'ext') + asset, defname, ext = p.match(info.name).group( + 'asset', 'defname', 'ext' + ) path = '%s.%s' % (asset, ext) registry = info.registry settings = info.settings @@ -154,12 +156,9 @@ class MakoRendererFactoryHelper(object): preprocessor=preprocessor ) - registry_lock.acquire() - try: + with registry_lock: registry.registerUtility(lookup, IMakoLookup, name=settings_prefix) - finally: - registry_lock.release() return MakoLookupTemplateRenderer(path, defname, lookup) diff --git a/pyramid/renderers.py b/pyramid/renderers.py index fe9df33d1..3252c2c93 100644 --- a/pyramid/renderers.py +++ b/pyramid/renderers.py @@ -429,12 +429,9 @@ class ChameleonRendererLookup(object): if renderer is None: renderer = self.impl(spec, self, macro=None) # cache the template - try: - self.lock.acquire() + with self.lock: registry.registerUtility(renderer, ITemplateRenderer, name=spec) - finally: - self.lock.release() else: # spec is a package:relpath asset spec renderer = registry.queryUtility(ITemplateRenderer, name=spec) @@ -445,7 +442,8 @@ class ChameleonRendererLookup(object): r'(\.(?P<ext>.*))' ) asset, macro, ext = p.match(spec).group( - 'asset', 'defname', 'ext') + 'asset', 'defname', 'ext' + ) spec = '%s.%s' % (asset, ext) try: package_name, filename = spec.split(':', 1) @@ -463,12 +461,9 @@ class ChameleonRendererLookup(object): settings = info.settings if not settings.get('reload_assets'): # cache the template - self.lock.acquire() - try: + with self.lock: registry.registerUtility(renderer, ITemplateRenderer, name=spec) - finally: - self.lock.release() return renderer @@ -479,11 +474,8 @@ def template_renderer_factory(info, impl, lock=registry_lock): lookup = registry.queryUtility(IChameleonLookup, name=info.type) if lookup is None: lookup = ChameleonRendererLookup(impl, registry) - lock.acquire() - try: + with lock: registry.registerUtility(lookup, IChameleonLookup, name=info.type) - finally: - lock.release() return lookup(info) @implementer(IRendererInfo) diff --git a/pyramid/scripts/pserve.py b/pyramid/scripts/pserve.py index ea2a4ae09..9fbf0729a 100644 --- a/pyramid/scripts/pserve.py +++ b/pyramid/scripts/pserve.py @@ -583,12 +583,8 @@ class LazyWriter(object): def open(self): if self.fileobj is None: - self.lock.acquire() - try: - if self.fileobj is None: - self.fileobj = open(self.filename, self.mode) - finally: - self.lock.release() + with self.lock: + self.fileobj = open(self.filename, self.mode) return self.fileobj def close(self): |
