summaryrefslogtreecommitdiffstats
path: root/linhes/linhes-web/website/contents/count.py
blob: d5f3259f7ab21bd965920b1d1662dba3ce382a14 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
#!/usr/bin/python
# import MySQL module

import MySQLdb
import sys
import getopt
import socket


def main(argv):
    #get LinHES version
    verfile = open('/etc/os-release', 'r')
    for line in verfile:
        if line.startswith('PRETTY_NAME'):
            verLHlist = line.split('"')
            verLH = verLHlist[1]
    verfile.close()

    grandtotal=0
    grandtotal_current=0
    db = MySQLdb.connect(host="localhost", user="mythtv", passwd="mythtv", db="mythconverg")
    # create a cursor
    cursor = db.cursor()
    # execute SQL statement
    cursor.execute("SELECT unix_timestamp(starttime),unix_timestamp(endtime),title FROM oldrecorded where oldrecorded.recstatus = -3  ORDER by starttime;")
    result = cursor.fetchall()

    for row in result:
      #  print row[0], row[1] ,row [2]
        start=row[0]
        end=row[1]
        if ( end  > start ):
            total = (end - start) /60
            grandtotal+=total
    hours = grandtotal / 60.0
    days = hours / 24.0

    cursor.execute("SELECT unix_timestamp(starttime),unix_timestamp(endtime),title FROM recorded where not (recgroup=(%s))  ORDER by starttime",("LiveTV"))
    result_current = cursor.fetchall()
    for row in result_current:
        start=row[0]
        end=row[1]
        if ( end  > start ):
            total = (end - start) /60
            grandtotal_current+=total
    hours_current = grandtotal_current / 60.0
    days_current = hours_current / 24.0

    print('<div id="header">')
    print("<h3>Welcome to</h3>")
    print("<h1>" , verLH , "</h1>")
    print("<h3>on " , socket.gethostname() , "</h3>")
    print("</br>")
    print("<table>")
    print("    <tr>")
    print("	  <td>Currently there are " , len(result_current) , " recorded programs, with a viewing time of %.2f days or %.2f hours.</td>" %(days_current,hours_current))
    print("    </tr>")
    print("</table>")
    print("</br> ")

    print("<table>")
    print("	<tr>")
    print("  		<td>Overall there have been " , len(result) , "shows recorded, with a viewing time of %.2f days or %.2f hours.</td>"%(days,hours))
    print("	</tr>")
    print("</table>")
    print('</div>')
    print("</br> </br> ")
#Top shows
    print('<div id="content"> <p></p>')
    print('<table class="sample">')
    print("Top 20 Shows")
    cursor.execute("select title,count(title),category as numtitle from oldrecorded where oldrecorded.recstatus = -3 group by title having (COUNT(title) > 0 ) order by (COUNT(title)) DESC  limit 20;" )
    result = cursor.fetchall()
    for row in result:
        print("	<tr>")
        print("		<td>",row[0],"</td>")
        print("		<td>",row[2],"</td>")
        print("		<td>",row[1],"</td>")
        print("	</tr>")
       # print "%40s %26s %10s" %(row[0],row[2],row[1])
    print("</table>")
    print("</div>")
#Top categories

    print('<div id="column">')
    print('<table class="sample">')
    print("Top 20 Categories")
    cursor.execute("select category,count(category) as numtitle from oldrecorded where oldrecorded.recstatus = -3 group by category having (COUNT(category) > 0 ) order by (COUNT(category)) DESC  limit 20; " )
    result = cursor.fetchall()
    for row in result:
        category = row[0]
        if category == "":
            category = "Unknown"
        print("	<tr>")
        print("		<td>",category,"</td>")
        print("		<td>",row[1],"</td>")
        print("	</tr>")
        #print "%16s %16s" %(row[0],row[1])
    print("</table>")
    print("</div>")

if __name__ == "__main__":
    main(sys.argv[1:])