Comments (3)
Given the pretty uncommon chances that a StackedObjectProxy is used as a callable and the even less common chances that it gets decorated, I think that 77132ba is a reasonable work-around to the problem.
I hoped that removing __call__
support from the object would have solved the issue, but it seems that unwrap
doesn't check that what is being provided is a callable at all.
from tg2.
Yeah, that seems like an OK way to avoid the problem. Thanks.
-
Considering that AttributeError usually has args[0] like
module 'os' has no attribute 'foo'
, perhaps use something more helpful than justfoo
. Perhaps something asno 'context' has has been registered for this thread and there is thus no attribute 'foo'
. -
But this also leads to the question of whether it just always should fail with AttributeError instead of TypeError.
-
If not always returning AttributeError, then perhaps do it for all
__
methods - not just__wrapped__
. -
Can you recommend a workaround for using pytest doctest with existing TG2 versions?
from tg2.
Probably going for all dunder methods makes sense. I'll update the patch.
Regarding how to avoid problem with current version. I think that the issue comes from the fact that it's exploring all variables exposed in modules or something like that. Maybe changing from tg import request
to things like import tg
and then using tg.request
instead of just request
might fix the issue.
A similar issue has also been reported for Flask (who uses threadlocal objects too) with pytest a few times, even though I think it's the first time I see it in the context of doctest.
from tg2.
Related Issues (20)
- Using Kajiki & Jinja simultaneously doesn't work HOT 2
- configuration error: no challengers - Documentation for TG2 REST API with Bearer Token Authentication? HOT 1
- vontri gher HOT 2
- In quickstart template /error/document crashes if accessed directly
- Message in ErrorController should not include html tags
- Hooks documentration version 2.4.0 HOT 2
- Issues with @cached(type='memory') and no Accept-Language header HOT 1
- Error: tg.i18n.LanguageError: No translation file found for domain HOT 2
- "TypeError: No object (name: context) has been registered for this thread" when use config.__getitem__ in tgschedule
- kajiki include/import DOCTYPE tag HOT 2
- Python 3: TypeError (no context) which was not present on Python 2 HOT 2
- ErrorPageApplicationWrapper without TraceErrorsMiddleware will mute tracebacks
- Secure attribute for webflash cookie HOT 3
- SQLAlchemy version conflict with TG2.4.3 devtools/SQLAlchemy >=1.4 and zope-sqlalchemy 1.4
- turbogears.org website certificate is expired HOT 1
- Activating Genshi lenient mode in Tg2
- localedir is overrides and not working
- Route/HTTP middleware after method should execute after exception response generate
- Error with objectproxy globals and current versions of mock
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from tg2.