Skip to content

Instantly share code, notes, and snippets.

@fbartels
Forked from mhermans/pvr_poweron.py
Last active March 13, 2016 18:23
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save fbartels/6419909 to your computer and use it in GitHub Desktop.
Save fbartels/6419909 to your computer and use it in GitHub Desktop.
#!/volume1/@appstore/python/bin/python
import datetime, os, json
# Write upcoming Tvheadend recording start dates to Synology power scheduler
# i.e. turn on your Synology so Tvheadend can record.
# Usage: ./pvr_poweron.py > /etc/power_sched.conf (or use cron)
# location of Tvheadend PVR-schedule files:
PVR_DIR="/usr/local/tvheadend/var/dvr/log"
# Day-code constants for power scheduler Monday-Sunday:
DAYS = (16908288, 17039360, 17301504, 17825792, 18874368, 20971520, 16842752)
# read in all the recording start dates
start_dates = []
for f in os.listdir(PVR_DIR):
f = open(os.path.join(PVR_DIR,f), 'r')
data = f.read()
f.close()
data = json.loads(data)
start_dates.append(int(data.get('start')))
# print out config file, with upcoming dates
print '[Power On schedule]'
for date in start_dates:
date = date - 600
d = datetime.datetime.fromtimestamp(date)
n = datetime.datetime.now()
#print d.isoformat()
day_constant = DAYS[d.weekday()]
time_offset = 256*d.hour + d.minute
time_code = day_constant + time_offset
if d > n: print time_code
print '[Power Off schedule]'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment