- February 6, 2009
- 1 (after 1 ratings)
This snippet is a replacement views.py for SOAP views with on-demand WSDL generation
It iterates over your installed apps looking for web_service.py in each one, any methods decorated with @soapmethod within web_service.py will automatically be imported into the local namespace making them visible in the WSDL.
It will blindly override local objects of the same name so it's not very safe (could do with some more error checks) but it works very well.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
from soaplib_handler import DjangoSoapApp from django.conf import settings import inspect class Service(DjangoSoapApp): for app in settings.INSTALLED_APPS: try: module = __import__(app + '.web_service', , , ['']) for key in module.__dict__: func = module.__dict__[key] if inspect.isfunction(func): if '_is_soap_method' in dir(func): locals()[key] = func except ImportError, e: pass service = Service()
More like this
- FileField having auto upload_to path by junaidmgithub 2 days, 2 hours ago
- LazyPrimaryKeyRelatedField by LLyaudet 1 week, 2 days ago
- CacheInDictManager by LLyaudet 1 week, 2 days ago
- MYSQL Full Text Expression by Bidaya0 1 week, 3 days ago
- Custom model manager chaining (Python 3 re-write) by Spotted1270 2 weeks, 2 days ago