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.

43 lines
1.8 KiB

  1. from flask import current_app, Blueprint, render_template, url_for, redirect
  2. default_views = Blueprint('default_views', __name__, url_prefix='/')
  3. @default_views.route('/')
  4. def index():
  5. return render_template('index.html')
  6. @default_views.route('/handbook')
  7. def handbook():
  8. return render_template('handbook.html')
  9. @default_views.route('/worldmap')
  10. def worldmap():
  11. return render_template('worldmap.html')
  12. #@default_views.route('/treasure')
  13. #@default_views.route('/treasure/<string:treasure_type>')
  14. def treasure(treasure_type=None):
  15. # import requests
  16. # from lxml import html
  17. # Unused, we can't tap into Autarch's generator, so just link to a new tab
  18. # in navigation bar now
  19. if treasure_type is not None:
  20. with requests.Session() as s:
  21. # First grab the page to pull a fresh form_build_id
  22. treasure_page = s.get('http://autarch.co/treasure')
  23. dom_tree = html.fromstring(treasure_page.content)
  24. form_build_id = dom_tree.find('.//input[@name="form_build_id"]').attrib['value']
  25. # Use that form_build_id to make a request for generated treasure
  26. headers = {'content-type': 'application/x-www-form-urlencoded; charset=UTF-8'}
  27. payload = {
  28. "form_id": "acks_treasure_form",
  29. "form_build_id": form_build_id,
  30. "treasure_type": treasure_type
  31. }
  32. response = s.post("http://autarch.co/system/ajax", data=payload, headers=headers)
  33. print("TG Response: {}, Payload: {}".format(response.text, payload))
  34. generated_treasure = response.json()[1]["data"].replace('class="form-textarea"', 'class="uk-textarea"')
  35. return render_template('treasure.html', generated_treasure=generated_treasure, treasure_type=treasure_type)
  36. return render_template('treasure.html')