Facebook
From vid, 3 Years ago, written in Python.
Embed
Download Paste or View Raw
Hits: 52
  1. from flask import Flask
  2. import csv
  3. from datetime import datetime
  4.  
  5. app = Flask(__name__)
  6.  
  7. def gettime():
  8.    now = datetime.now()
  9.    current_time = now.strftime("%H:%M")
  10.    return current_time
  11.  
  12. #get correct row based on time
  13. def getrow():
  14.    current_time = gettime()
  15.    row = 0
  16.    time_split = current_time.split(":")
  17.    row = ((int(time_split[0]) * 60)+int(time_split[1]))
  18.    return row
  19.  
  20. #write which light is on at certain time
  21. def writeToLog(col):
  22.   row = getrow()
  23.   f = open('/Users/vid/Desktop/gasperhobi/log.csv', 'r')
  24.   reader = csv.reader(f)
  25.   mylist = list(reader)
  26.   f.close()
  27.   NewNum = int(mylist[row][col])+1
  28.  
  29.   mylist[row][col] = str(NewNum)
  30.   my_new_list = open('/Users/vid/Desktop/gasperhobi/log.csv', 'w', newline = '')
  31.   csv_writer = csv.writer(my_new_list)
  32.   csv_writer.writerows(mylist)
  33.   my_new_list.close()
  34.    
  35.  
  36. #get which light is usualy turned on at certain time
  37. def NextLightOn():
  38.   najvec = 0
  39.   row = getrow() +5
  40.   f = open('/Users/vid/Desktop/gasperhobi/log.csv', 'r')
  41.   reader = csv.reader(f)
  42.   NovLog = list(reader)
  43.   f.close()
  44.   for i in range(NovLog[row], -1, -1):
  45.     for j in range(NovLog[i],1):
  46.       if(int(NovLog[i][j]) >= najvec):
  47.         najvec = int(j)
  48.         cell = j
  49.     if (najvec>0):
  50.       break  
  51.   return cell
  52.  
  53.  
  54.  
  55.  
  56.  
  57. @app.route("/<section>")
  58.  
  59. def data(section):
  60.    
  61.  
  62.     if (section == "Soba1"):
  63.  
  64.       writeToLog(1)
  65.       return gettime() +"  "+ section
  66.        
  67.    
  68.     elif (section == "Soba2"):
  69.       writeToLog(2)
  70.       return gettime() +"  "+ section
  71.    
  72.    
  73.     elif (section == "Soba3"):
  74.       writeToLog(3)
  75.       return gettime() +"  "+ section
  76.  
  77.     elif (section == "Soba4"):
  78.       writeToLog(4)
  79.       return gettime() +"  "+ section
  80.  
  81.     elif (section == "Soba5"):
  82.       writeToLog(5)
  83.       return gettime() +"  "+ section
  84.        
  85.     else:
  86.       return "invalid input"
  87.  
  88.    
  89.  
  90.  
  91.  
  92. app.run(port = 8080)