party-upload: port to python 3
[clinton/unknownlamer-kodi-addons.git] / party-upload / normals.cgi
CommitLineData
b61367d1 1#!/usr/bin/python3
51a600c2
CE
2
3# Simple PartyMode Web Console
4# Limited interface for normal party goers
5# Copyright (c) 2015,2016 Clinton Ebadi <clinton@unknownlamer.org>
6# This program is free software: you can redistribute it and/or modify
7# it under the terms of the GNU General Public License as published by
8# the Free Software Foundation, either version 3 of the License, or
9# (at your option) any later version.
10
11# This program is distributed in the hope that it will be useful,
12# but WITHOUT ANY WARRANTY; without even the implied warranty of
13# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14# GNU General Public License for more details.
15
16# You should have received a copy of the GNU General Public License
17# along with this program. If not, see <http://www.gnu.org/licenses/>.
18
19# limit playlist view to next five
20
51a600c2
CE
21import cgi, cgitb
22from datetime import datetime
23import hashlib
24import numbers
25import os
26import random
27import subprocess
b61367d1
CE
28import sys
29from kodijson import Kodi
51a600c2
CE
30from yattag import Doc
31
32import partyparty
33from partyparty import Song, SongControls, Search, Playlist, PartyManager
34
35cgitb.enable()
36
37print ("content-type: text/html; charset=utf-8\n\n")
38sys.stdout.flush ()
39print ("<!DOCTYPE html>\n<html><head><title>partyparty beb</title></head><body>")
40print (partyparty.css ())
41
b61367d1 42print ('<p style="font-size: 5rem"><a href="upload.html">Upload A Song</a> | <a href="youtube.html">Add From YouTube</a> | <a href="normals.cgi">home</a> | <a href="normals.cgi?browseartists=1">browse</a></p>')
51a600c2
CE
43
44
45
46class NormalsPlaylist (Playlist):
47 def get_playlist (self):
b61367d1 48 return Playlist.get_playlist (self)#[0:10]
51a600c2
CE
49
50class NormalsManager (PartyManager):
51 DEFAULT_QUEUE_DIVISOR = 1
52
b61367d1 53xbmc = partyparty.connect (Kodi ("http://localhost:8080/jsonrpc"))
51a600c2
CE
54
55manager = NormalsManager (cgi.FieldStorage ())
56manager.process ()
57playlist = NormalsPlaylist ()
58
59print ('<a name="search"></a>')
60Search ().show_quick_search (thereal=True)
61
62print ('<a name="playlist"></a><h1>What\'s Playing</h1>')
63print (playlist.show (controls = []))
64
65print ('</body></html>')