No Description
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

listing.py 1.6KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. # -*- coding: utf-8 -*-
  2. from .base import get_response
  3. import leapi_dyncode as dyncode
  4. def list_classes(request):
  5. if 'allclasses' in request.GET:
  6. allclasses = request.GET['allclasses']
  7. else:
  8. allclasses = 1
  9. return get_response('listing/list_classes.html', my_classes=dyncode.dynclasses, allclasses = allclasses)
  10. def show_class(request):
  11. if 'classname' in request.GET:
  12. classname = request.GET['classname']
  13. if len(classname) > 1:
  14. raise HttpException(400)
  15. classname = classname[0]
  16. try:
  17. target_leo = dyncode.Object.name2class(classname)
  18. except LeApiError:
  19. classname = None
  20. return get_response('listing/show_class.html', classname=classname)
  21. def show_object(request):
  22. template_vars = {
  23. 'params': request.GET
  24. }
  25. test_valid = 'lodel_id' in request.GET \
  26. and len(request.GET['lodel_id']) == 1
  27. if test_valid:
  28. try:
  29. lodel_id = int(request.GET['lodel_id'][0])
  30. except (ValueError, TypeError):
  31. test_valid = False
  32. if not test_valid:
  33. raise HttpException(400)
  34. else:
  35. obj = dyncode.Object.get(['lodel_id = %d' % lodel_id])
  36. if len(obj) == 0:
  37. raise HttpException(404)
  38. if 'classname' in request.GET:
  39. classname = request.GET['classname']
  40. if len(classname) > 1:
  41. raise HttpException(400)
  42. classname = classname[0]
  43. try:
  44. target_leo = dyncode.Object.name2class(classname)
  45. except LeApiError:
  46. classname = None
  47. return get_response('listing/show_object.html', lodel_id=lodel_id, classname=classname)