Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

97 linhas
2.7KB

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