updates.py 889 B

1234567891011121314151617181920212223242526
  1. import json
  2. from random import randint
  3. from functools import partial
  4. from WebKit.HTTPContent import HTTPContent
  5. from DbSession import Database
  6. from World import World
  7. import UrlHelper
  8. class updates(HTTPContent):
  9. def defaultAction(self):
  10. self.response().clearHeaders()
  11. self.response()._headers["Content-Type"] = "application/json"
  12. num_queries = UrlHelper.getQueryNum(self.request().field("queries"))
  13. worlds = []
  14. rp = partial(randint, 1, 10000)
  15. ids = [rp() for _ in xrange(num_queries)]
  16. ids.sort()
  17. for id in ids:
  18. world = Database.DbSession.query(World).get(id)
  19. world.randomNumber = rp()
  20. worlds.append(world.serialize())
  21. Database.DbSession.commit()
  22. output = json.dumps(worlds)
  23. self.response()._headers["Content-Length"] = len(output)
  24. self.write(output)