view.py 1.0 KB

123456789101112131415161718192021222324252627282930313233343536
  1. import os
  2. from datetime import datetime
  3. import requests
  4. def create_message(name, timestamp, price, quantity):
  5. """
  6. Creates the string to be broadcast
  7. :param name:
  8. :param timestamp:
  9. :param price:
  10. :param quantity:
  11. :return:
  12. """
  13. this_time = datetime.utcfromtimestamp(timestamp).strftime('%Y-%m-%d %H:%M:%S')
  14. this_drop_decimal = float((quantity * 1.0) * (price * 1.0) / 1e9)
  15. this_message = "{}: {} dropped {} shares at ${:.2f} for a grand total of ${:.1f}B".format(
  16. this_time, name, quantity, price, this_drop_decimal)
  17. return this_message
  18. def broadcast(this_message):
  19. """
  20. :param this_message:
  21. :return:
  22. """
  23. # development only
  24. # load_dotenv()
  25. url = os.environ["BROADCAST_URL"]
  26. json = {'content': this_message}
  27. response = requests.post(url, json=json)
  28. if response.status_code in [200, 204]:
  29. print("Webhook executed")
  30. else:
  31. print("status code {}: {}".format(response.status_code, response.content.decode("utf-8")))