fork download
  1. import random
  2.  
  3. class ExpiredTokenException(Exception):
  4. pass
  5.  
  6. class external_http_request_interface:
  7. def get_token(self):
  8. return "some token"
  9.  
  10. def make_request(self, token, request):
  11. if (random.randint(0, 5) < 3):
  12. raise ExpiredTokenException("Your token has expired!")
  13. return "Request result for: " + str(request)
  14.  
  15.  
  16. http = external_http_request_interface()
  17. token = http.get_token()
  18.  
  19. # Do some stuff with your token here...
  20.  
  21. attempts = 0
  22. while (attempts < 10):
  23. try:
  24. result = http.make_request(token, "some request")
  25. except ExpiredTokenException:
  26. token = http.get_token()
  27. continue
  28.  
  29. print(result)
  30.  
  31. break
Success #stdin #stdout 0.02s 36944KB
stdin
Standard input is empty
stdout
Request result for: some request