Usage:
-Write down a game name and choose language
+Write down a game name and choose language.
Name should be _exact_ name from Twitch i.e. csgo should be "Counter-Strike: Global Offensive"
diff --git a/.gitignore b/.gitignore
index 91a03f3..3147bd0 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,4 @@
src/__pycache__
*.swp
src/.token
+src/server.conf
diff --git a/src/main.py b/src/main.py
index d811a28..2dc005d 100755
--- a/src/main.py
+++ b/src/main.py
@@ -6,37 +6,43 @@ from twitch import TwitchClient
import json
import cherrypy
+ver = '1.00'
+
+
class FleastServer(object):
def __init__(self):
try:
with open('.token', 'r') as reader:
self.twitch_token = reader.read().strip()
with open('./web/fl.html', 'r') as reader:
- self.index = reader.read()
+ self.index_page = reader.read()
with open('./web/fl_template_main.html', 'r') as reader:
self.templ_main = reader.read()
with open('./web/fl_template_stream.html', 'r') as reader:
self.templ_stream = reader.read()
+ self.client = TwitchClient(self.twitch_token, freq = 1)
except e:
print("Cannot read token for twitch app or templates, abort.")
exit(1)
- self.client = TwitchClient(self.twitch_token, freq = 1)
+
@cherrypy.expose
- def index(self):
- return 'Hello World'
+ def index(self, game=None, lang=None):
+ return self.fleast(game, lang)
@cherrypy.expose
def fleast(self, game=None, lang=None):
if game is None and lang is None:
- return self.index
+ return self.index_page.format(_version_ = ver)
+
cherrypy.log('Getting game:"%s" language:%s' % (game, lang))
data = self.client.get_streams(game, lang)
+
if data is None:
- return 'Internal Error' #Do Better
+ return 'Internal Error
Tell me more at https://twitter.com/alexvanin'
if data['_total'] == 0:
- return self.templ_main.format(data['_total'], '')
+ return self.templ_main.format( _stream_num_ = data['_total'], _stream_list_ = '', _version_ = ver)
cherrypy.log('Found %d streams' % data['_total'])
@@ -45,12 +51,13 @@ class FleastServer(object):
for s in streams:
result_str += self.templ_stream.format(s['channel']['url'], s['preview']['medium'],s['channel']['status'], \
s['channel']['display_name'], s['viewers']) +'\n'
- return self.templ_main.format(data['_total'], result_str)
+
+ return self.templ_main.format(_stream_num_ = data['_total'], _game_name_ = game, _stream_list_ = result_str, _version_ = ver)
def main():
server = FleastServer()
- cherrypy.quickstart(server, '/','./server.conf')
+ cherrypy.quickstart(server, '/fleast', './server.conf')
if __name__ == '__main__':
diff --git a/src/server.conf b/src/server.conf
deleted file mode 100644
index 342d24f..0000000
--- a/src/server.conf
+++ /dev/null
@@ -1,6 +0,0 @@
-[global]
-server.socket_port: 8080
-
-[/style.css]
-tools.staticfile.on = True
-tools.staticfile.filename = "/home/alexvanin/tmp/av/fleast/fleast/src/web/style.css"
diff --git a/src/web/favicon.ico b/src/web/favicon.ico
new file mode 100644
index 0000000..073cdb3
Binary files /dev/null and b/src/web/favicon.ico differ
diff --git a/src/web/fl.html b/src/web/fl.html
index bbec523..b1c019e 100644
--- a/src/web/fl.html
+++ b/src/web/fl.html
@@ -5,8 +5,9 @@
Write down a game name and choose language
+Write down a game name and choose language.
Name should be _exact_ name from Twitch i.e. csgo should be "Counter-Strike: Global Offensive"