Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/python3
- import sys
- sys.path.append('/var/www/gardenpi_control/gardenpi/utilities')
- sys.path.append('/var/www/gardenpi_control/gardenpi')
- import neptune
- from flask import render_template, redirect, url_for, request
- from gardenpi import app
- from gardenpi.forms import JobForm
- import time
- from datetime import datetime
- @app.route('/')
- def gardenpi():
- any_zones_running = neptune.any_zones_running()
- return render_template('gardenpi_index.html',
- any_zones_running = any_zones_running)
- @app.route('/zone_control')
- def zone_control():
- current_zones = ['zone1', 'zone2', 'zone3', 'zone4', 'zone5', 'zone6']
- zone_running_data = {}
- for zone in current_zones:
- zone_running_data[zone] = neptune.is_this_zone_running(zone)
- return render_template('zone_control.html',
- **zone_running_data)
- @app.route('/zone1')
- def zone1():
- any_zones_running = neptune.any_zones_running()
- is_zone_enabled = neptune.zone_enabled('zone1')
- is_zone1_running = neptune.is_this_zone_running('zone1')
- return render_template('zone_one.html',
- zone_enabled = is_zone_enabled,
- is_zone_running = is_zone1_running,
- any_zones_running = any_zones_running)
- @app.route('/zone2')
- def zone2():
- any_zones_running = neptune.any_zones_running()
- is_zone_enabled = neptune.zone_enabled('zone2')
- is_zone2_running = neptune.is_this_zone_running('zone2')
- return render_template('zone_two.html',
- zone_enabled = is_zone_enabled,
- is_zone_running = is_zone2_running,
- any_zones_running = any_zones_running)
- @app.route('/zone3')
- def zone3():
- any_zones_running = neptune.any_zones_running()
- is_zone_enabled = neptune.zone_enabled('zone3')
- is_zone3_running = neptune.is_this_zone_running('zone3')
- return render_template('zone_three.html',
- zone_enabled = is_zone_enabled,
- is_zone_running = is_zone3_running,
- any_zones_running = any_zones_running)
- @app.route('/zone4')
- def zone4():
- any_zones_running = neptune.any_zones_running()
- is_zone_enabled = neptune.zone_enabled('zone4')
- is_zone4_running = neptune.is_this_zone_running('zone4')
- return render_template('zone_four.html',
- zone_enabled = is_zone_enabled,
- is_zone_running = is_zone4_running,
- any_zones_running = any_zones_running)
- @app.route('/zone5')
- def zone5():
- any_zones_running = neptune.any_zones_running()
- is_zone_enabled = neptune.zone_enabled('zone5')
- is_zone5_running = neptune.is_this_zone_running('zone5')
- return render_template('zone_five.html',
- zone_enabled = is_zone_enabled,
- is_zone_running = is_zone5_running,
- any_zones_running = any_zones_running)
- @app.route('/zone6')
- def zone6():
- any_zones_running = neptune.any_zones_running()
- is_zone_enabled = neptune.zone_enabled('zone6')
- is_zone6_running = neptune.is_this_zone_running('zone6')
- return render_template('zone_six.html',
- zone_enabled = is_zone_enabled,
- is_zone_running = is_zone6_running,
- any_zones_running = any_zones_running)
- @app.route('/toggle_zone/<zone>')
- def toggle_zone(zone):
- is_zone_enabled = neptune.zone_enabled(zone)
- if is_zone_enabled:
- neptune.disable_zone(zone)
- return redirect(url_for(zone))
- else:
- neptune.enable_zone(zone)
- return redirect(url_for(zone))
- @app.route('/toggle_job/<zone>/<job>')
- def toggle_job(zone, job):
- neptune.toggle_job(zone, job)
- return redirect(url_for('schedule', zone = zone))
- @app.route('/manual_run/<zone>')
- def manual_run(zone):
- neptune.run_zone(zone)
- return redirect(url_for(zone))
- @app.route('/stop_zone/<zone>')
- def stop_zone(zone):
- neptune.stop_zone(zone)
- return redirect(url_for(zone))
- @app.route('/schedule/<zone>',methods=['GET','POST'])
- def schedule(zone):
- form = JobForm()
- job1_enabled = (neptune.get_schedule_by_zone_job(zone, '1')[0][3])
- job1_start_time = (neptune.get_schedule_by_zone_job(zone, '1')[0][4])
- job1_duration = (neptune.get_schedule_by_zone_job(zone, '1')[0][6])
- job1_monday = (neptune.get_schedule_by_zone_job(zone, '1')[0][8])
- job1_tuesday = (neptune.get_schedule_by_zone_job(zone, '1')[0][9])
- job1_wednesday = (neptune.get_schedule_by_zone_job(zone, '1')[0][10])
- job1_thursday = (neptune.get_schedule_by_zone_job(zone, '1')[0][11])
- job1_friday = (neptune.get_schedule_by_zone_job(zone, '1')[0][12])
- job1_saturday = (neptune.get_schedule_by_zone_job(zone, '1')[0][13])
- job1_sunday = (neptune.get_schedule_by_zone_job(zone, '1')[0][14])
- form.start_hour_job1.data = str(job1_start_time.hour)
- form.start_minute_job1.data = str(job1_start_time.minute)
- form.duration_job1.data = str(job1_duration)
- form.monday_job1.data = job1_monday
- form.tuesday_job1.data = job1_tuesday
- form.wednesday_job1.data = job1_wednesday
- form.thursday_job1.data = job1_thursday
- form.friday_job1.data = job1_friday
- form.saturday_job1.data = job1_saturday
- form.sunday_job1.data = job1_sunday
- job2_enabled = (neptune.get_schedule_by_zone_job(zone, '2')[0][3])
- job2_start_time = (neptune.get_schedule_by_zone_job(zone, '2')[0][4])
- job2_duration = (neptune.get_schedule_by_zone_job(zone, '2')[0][6])
- job2_monday = (neptune.get_schedule_by_zone_job(zone, '2')[0][8])
- job2_tuesday = (neptune.get_schedule_by_zone_job(zone, '2')[0][9])
- job2_wednesday = (neptune.get_schedule_by_zone_job(zone, '2')[0][10])
- job2_thursday = (neptune.get_schedule_by_zone_job(zone, '2')[0][11])
- job2_friday = (neptune.get_schedule_by_zone_job(zone, '2')[0][12])
- job2_saturday = (neptune.get_schedule_by_zone_job(zone, '2')[0][13])
- job2_sunday = (neptune.get_schedule_by_zone_job(zone, '2')[0][14])
- form.start_hour_job2.data = str(job2_start_time.hour)
- form.start_minute_job2.data = str(job2_start_time.minute)
- form.duration_job2.data = str(job2_duration)
- form.monday_job2.data = job2_monday
- form.tuesday_job2.data = job2_tuesday
- form.wednesday_job2.data = job2_wednesday
- form.thursday_job2.data = job2_thursday
- form.friday_job2.data = job2_friday
- form.saturday_job2.data = job2_saturday
- form.sunday_job2.data = job2_sunday
- if form.validate_on_submit():
- print(form.data)
- job1_start_time = datetime.strptime(form.start_hour_job1.data + ':' + form.start_minute_job1.data + ':00', '%H:%M:%S').time()
- job2_start_time = datetime.strptime(form.start_hour_job2.data + ':' + form.start_minute_job2.data + ':00', '%H:%M:%S').time()
- print(start_time)
- return render_template("success_test.html", data=form.data, start_time = start_time)
- else:
- print("Validation Failed")
- print(form.errors)
- return render_template('schedule.html',form = form, job1_enabled = job1_enabled,
- job2_enabled = job2_enabled)
Advertisement
Add Comment
Please, Sign In to add comment