Guest User

Untitled

a guest
Nov 14th, 2018
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.11 KB | None | 0 0
  1. if value:
  2. q = ret_event_filter('value', q, value, Event)
  3. elif len(key.split("__")) > 1 and key.split("__")[1] == 'isevent':
  4. mapped = False
  5. for mapper in q._join_entities:
  6. if mapper.class_ == Event:
  7. mapped = True
  8. if not mapped:
  9. q = q.join(Event)
  10. q = ret_event_filter('value', q, key.split("__")[0], Event)
  11. elif key == 'action':
  12. q = q.filter(Message.user_id == None)
  13. elif len(splitKey.split("__")) > 1 and splitKey.split("__")[1] == 'isnull':
  14. if value in ['true', '1', True]:
  15. if User.__dict__.get(splitKey.split("__")[0]):
  16. q = ret_filter_none('=', q, splitKey.split("__")[0], None, User)
  17. elif UserAccount.__dict__.get(key):
  18. q = ret_filter_none('=', q, splitKey.split("__")[0], None, UserAccount)
  19. elif Message.__dict__.get(splitKey.split("__")[0]):
  20. q = q.outerjoin(Message, Message.user_id == User.id).filter(Message.id == None)
  21. else:
  22. if User.__dict__.get(splitKey.split("__")[0]):
  23. q = ret_filter_none('!=', q, splitKey.split("__")[0], None, User)
  24. elif UserAccount.__dict__.get(key):
  25. q = ret_filter_none('!=', q, splitKey.split("__")[0], None, UserAccount)
  26. elif len(splitKey.split("__")) > 1 and splitKey.split("__")[1] == 'search' and User.__dict__.get(
  27. splitKey.split("__")[0]):
  28. q = q.filter(getattr(User, splitKey.split("__")[0]).like(value + '%'))
  29. elif len(splitKey.split("__")) > 1 and splitKey.split("__")[1] == 'search' and UserAccount.__dict__.get(
  30. splitKey.split("__")[0]):
  31. q = q.filter(getattr(UserAccount, splitKey.split("__")[0]).like(value + '%'))
  32. elif len(splitKey.split("__")) > 1 and splitKey.split("__")[1] == 'search' and Event.__dict__.get(
  33. splitKey.split("__")[0]):
  34. q = q.filter(getattr(Event, splitKey.split("__")[0]).like(value + '%'))
  35. elif len(splitKey.split("__")) > 1 and splitKey.split("__")[1] == 'greaterthan':
  36. if User.__dict__.get(splitKey.split("__")[0]):
  37. q = ret_filter('>', q, splitKey.split("__")[0], value, User)
  38. elif UserAccount.__dict__.get(key):
  39. q = ret_filter('>', q, splitKey.split("__")[0], value, UserAccount)
  40. elif len(splitKey.split("__")) > 1 and splitKey.split("__")[1] == 'lessthan':
  41. if User.__dict__.get(splitKey.split("__")[0]):
  42. q = ret_filter('<', q, splitKey.split("__")[0], value, User)
  43. elif UserAccount.__dict__.get(splitKey.split("__")[0]):
  44. q = ret_filter('<', q, splitKey.split("__")[0], value, UserAccount)
  45. elif Message.__dict__.get(splitKey.split("__")[0]):
  46. q = ret_filter('<', q, splitKey.split("__")[0], value, Message)
  47. elif len(splitKey.split("__")) > 1 and splitKey.split("__")[1] == 'isnotequal':
  48. if User.__dict__.get(splitKey.split("__")[0]):
  49. q = ret_filter_none('!=', q, splitKey.split("__")[0], value, User)
  50. elif UserAccount.__dict__.get(key):
  51. q = ret_filter_none('!=', q, splitKey.split("__")[0], value, UserAccount)
  52. # For same name attrs in diffrent models specify model too i.e model__attr
  53. elif len(splitKey.split("__")) > 1:
  54. q = ret_filter('=', q, splitKey.split("__")[1], value, JOIN_OBJ[splitKey.split("__")[0]])
  55. return q
Add Comment
Please, Sign In to add comment