## Create HTML files for main Vikings Web page.

### NOTE: IMPORTANT ###
### Add your own database name in Line: 42  ###
### (no need for full path if running 'htmlbuilder.py' in same folder) ###

from datetime import datetime
import sqlite3
from sqlite3 import Error

### HTML BUILDER Creates HTML files from MASTER Database Tables. (22/10/22)

print('INDEX BUILDER v1.0.0')
now = datetime.now()
date_time = now.strftime('%d-%m-%y @ %H:%M')

## Format HTML for HEADER, BODY, CSS, TABLE and basic layout details.
title = "<html><head><title>Endless Playlist Management System</title>"
style = "<link href='index.css' rel='stylesheet' type='text/css' /></head><body>"
head = "<table width='100%' border='0' align='center' cellpadding='3' cellspacing='55'><tr><td>"
banner = "<table width='100%' align='center' border='0' cellspacing='3' cellpadding='3'><tr><th><h2>ENDLESS PLAYLIST MANAGEMENT SYSTEM</h2></th></tr></table></td></tr><tr><td>"
menu = "<table border='1' align='center' cellpadding='3' cellspacing='3'><tr>"
menu0 = "<td><a href='index.html'>MAIN</a></td>"
menu1 = "<td><a href='additions.html'>ADDED</a></td>"
menu2 = "<td><a href='deletions.html'>DELETED</a></td>"
menu3 = "<td><a href='duplicates.html'>DUPLICATES</a></td>"
menu4 = "<td><a href='urichanges.html'>URI CHANGES</a></td>"
menu5 = "<td><a href='queue-errors.html'>QUEUE ERRORS</a></td>" 
menu6 = "<td><a href='played-epm.html'>PLAYED [EPM]</a></td>"
menu7 = "<td><a href='played-ext.html'>PLAYED [EXT]</a></td></tr></table></td></tr><tr><td>"
main = title + style + head + banner + menu + menu0 + menu1 + menu2 + menu3 + menu4 + menu5 + menu6 + menu7

b0 = "<table border='1' align='center' cellpadding='3' cellspacing='3'><tr>"
b1 = "<td><a href='https://www.python.org' target='_blank'>PYTHON</a></td>"
b2 = "<td><a href='https://www.sqlite.org' target='_blank'>SQLITE3</a></td>"
b3 = "<td><a href='https://developer.spotify.com/documentation/web-api/reference/#/' target='_blank'>SPOTIFY WEB API</a></td>"
b4 = "<td><a href='https://html.com/' target='_blank'>HTML</a></td></table></td></tr>"
base = b0 + b1 + b2 + b3 + b4
footer = "</table><tr><td><table width='65%' height='40' border='0' align='center' cellpadding='3' cellspacing='3' bgcolor='#66cccc'><tr><th>&copy; Viking Utilities ~ 2022</th></tr></table></td></tr></table></body></html>"

conn = None
### filename = "MASTER.db" ### CHANGE HERE ###
filename = "C:\Spotty Main\Vi&Cyn Test\Endless Feed.db" ### <== Als db path ###

try:
      conn = sqlite3.connect(filename)

      ## NOTE: Re-build index.html.
      sql = ("SELECT COUNT (*) FROM Track_List WHERE QUEUED = 0")
      curr = conn.cursor()
      curr.execute(sql)
      rows = curr.fetchall()
    
      ## Replicate HTML Header plus data Table for:
      table = "Unplayed tracks: " + date_time
      html = main + "<table border='0' align='center' cellpadding='3' cellspacing='3'><th>" + table + "</th>"

      tr = 1
      ## html = html + "<tr><td align='center' font-color='Ff00ff'" + str(row[0]) + "</td></tr>"
      for row in rows:
            html = html + "<tr><td align='center' style='color:00ffff'>" + str(row[0]) + "</td></tr><tr><td height='40'></td></tr>"
            tr = tr + 1
      html = html + base + footer

      file = open("index.html", "w")
      file.write(html)
      file.close


except Error as e:       
            print(e)  
finally:
      if conn:
            conn.close()
print('Finished.')

