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.

46 lines
1.9 KiB

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