Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.

89 rindas
2.6KB

  1. from django.http import HttpResponse, HttpResponseRedirect
  2. from django.shortcuts import render
  3. from datetime import datetime
  4. import json
  5. import os
  6. def index(request):
  7. return render(request, 'mobile/index.html')
  8. def scan(request):
  9. question = q1
  10. if request.POST:
  11. data = request.POST
  12. print("data")
  13. if data["question"]:
  14. print("response to question", data["question"])
  15. for q in questions:
  16. if not q.key == data["question"]:
  17. continue
  18. for opt in q.options:
  19. if not opt.text == data["chosen_option"]:
  20. continue
  21. if opt.question:
  22. question = opt.question
  23. break
  24. else:
  25. return scanned(request, opt.result)
  26. # first question
  27. context = {'question': question}
  28. return render(request, 'mobile/scan.html', context)
  29. def scanned(request, tree):
  30. context = {'tree': {'name': tree}}
  31. return render(request, 'mobile/scanned.html', context)
  32. def addtree(request):
  33. if not request.POST:
  34. return HttpResponseRedirect("/mobile/scan")
  35. name = request.POST["name"]
  36. tree = request.POST["name"]
  37. longitude = request.POST["longitude"]
  38. latitude = request.POST["latitude"]
  39. bloom_start = datetime.now().timetuple().tm_yday
  40. if not os.path.isfile('/tmp/data.json'):
  41. data = {'trees': []}
  42. else:
  43. with open('/tmp/data.json', 'r') as f:
  44. data = json.load(f)
  45. with open('/tmp/data.json', 'w') as f:
  46. data["trees"].append(
  47. {'name': name, 'species': tree,
  48. 'longitude': longitude, 'latitude': latitude,
  49. 'bloom_start': bloom_start }
  50. )
  51. json.dump(data, f, indent=4)
  52. return render(request, "mobile/thankyou.html")
  53. class Option:
  54. def __init__(self, text, question=None, result=None):
  55. self.text = text
  56. self.question = question
  57. self.result = result
  58. class Question:
  59. def __init__(self, key, text, options):
  60. self.key = key
  61. self.text = text
  62. self.options = options
  63. q3 = Question("alive", "Is your tree alive?",
  64. [Option("yes", result="Poor Apple Tree"),
  65. Option("no", result="Dead Apple Tree")])
  66. q2 = Question("red", "Is your tree red?",
  67. [Option("yes", result="Red Apple Tree"),
  68. Option("no", result="Green Apple Tree")])
  69. q1 = Question("leaves", "Does your tree have leaves?",
  70. [Option("yes", question=q2), Option("no", question=q3)])
  71. questions = [q1, q2, q3]