Pulls repairability scores for various devices from iFixit, which are then displayed on a website in a few categories.
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.

67 lines
2.6 KiB

  1. import time
  2. import csv
  3. from flask import Flask, make_response, request, render_template, redirect, url_for, send_from_directory #Import flask web server and additional components
  4. app = Flask(__name__)
  5. smartphone_file = "/home/ravi/Documents/Git/iFixit-Repairability-Dashboard/smartphone.csv"
  6. tablet_file = "/home/ravi/Documents/Git/iFixit-Repairability-Dashboard/tablet.csv"
  7. laptop_file = "/home/ravi/Documents/Git/iFixit-Repairability-Dashboard/laptop.csv"
  8. @app.route('/')
  9. def index():
  10. smartphone = []
  11. tablet = []
  12. laptop = []
  13. with open(smartphone_file, 'r', newline='') as file:
  14. bad_smartphone = []
  15. bad_smartphone_2 = []
  16. bad_smartphone_3 = []
  17. reader = csv.reader(file)
  18. for row in reader:
  19. smartphone.append(row)
  20. if row[2] == '1':
  21. message = row[0] + " " + row[1]
  22. bad_smartphone.append(message)
  23. if row[2] == '2':
  24. message = row[0] + " " + row[1]
  25. bad_smartphone_2.append(message)
  26. if row[2] == '3':
  27. message = row[0] + " " + row[1]
  28. bad_smartphone_3.append(message)
  29. with open(tablet_file, 'r', newline='') as file:
  30. bad_tablet = []
  31. bad_tablet_2 = []
  32. bad_tablet_3 = []
  33. reader = csv.reader(file)
  34. for row in reader:
  35. tablet.append(row)
  36. if row[2] == '1':
  37. message = row[0] + " " + row[1]
  38. bad_tablet.append(message)
  39. if row[2] == '2':
  40. message = row[0] + " " + row[1]
  41. bad_tablet_2.append(message)
  42. if row[2] == '3':
  43. message = row[0] + " " + row[1]
  44. bad_tablet_3.append(message)
  45. with open(laptop_file, 'r', newline='') as file:
  46. bad_laptop = []
  47. bad_laptop_2 = []
  48. bad_laptop_3 = []
  49. reader = csv.reader(file)
  50. for row in reader:
  51. laptop.append(row)
  52. if row[2] == '1':
  53. message = row[0] + " " + row[1]
  54. bad_laptop.append(message)
  55. if row[2] == '2':
  56. message = row[0] + " " + row[1]
  57. bad_laptop_2.append(message)
  58. if row[2] == '3':
  59. message = row[0] + " " + row[1]
  60. bad_laptop_3.append(message)
  61. return render_template('index.html', smartphone=bad_smartphone, tablet=bad_tablet, laptop=bad_laptop,smartphone_3=bad_smartphone_3, tablet_3=bad_tablet_3, laptop_3=bad_laptop_3, smartphone_2=bad_smartphone_2, tablet_2=bad_tablet_2, laptop_2=bad_laptop_2)
  62. 2
  63. if __name__ == '__main__':
  64. app.run(host='0.0.0.0', port=1235) #Run the webserver2