-
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathrss.py
More file actions
129 lines (101 loc) · 3.23 KB
/
rss.py
File metadata and controls
129 lines (101 loc) · 3.23 KB
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
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
"""
RSS Notipy
Main Server File
2020 maschhoff github.com/maschhoff
"""
import os
from flask import Flask, render_template, request
import logging
import time
import threading
import rssreader
import searchfile
import cron_rss
import settings
app = Flask(__name__)
global config
config=settings.loadConfig()
@app.route('/')
def index():
search=searchfile.loadSearchfile()
return render_template('liste.html', config=config, movies=search)
@app.route('/rel/<string:title>')
def rel(title):
rss=config["rss"]
url=rss[title]
movies=rssreader.getRSSTitles(url)
return render_template('relsource.html', config=config, source=title, movies=movies)
@app.route('/movies/<string:title>')
def movies(title):
rss=config["movies"]
url=rss[title]
movies=rssreader.getMovieTitles(url)
return render_template('movies.html', config=config, source=title, movies=movies)
#TODO - not implemented jet
"""
@app.route('/<string:search>')
def search(search):
movies=rssreader.getRSSTitles("")
res = [i for i in movies if search in i]
return render_template('relsource.html', source="", movies=movies)
"""
@app.route('/details/<string:id>')
def detailsData(id):
search=searchfile.loadSearchfile()
movie=next(item for item in search if item["id"] == id)
return render_template('details.html', config=config, movie=movie)
@app.route('/del/<string:id>')
def deleteData(id):
searchfile.deleteData(id)
search=searchfile.loadSearchfile()
return render_template('liste.html', config=config, message="Movie has been deleted" ,movies=search)
@app.route('/refresh')
def refreshing():
cron_rss.run()
search=searchfile.loadSearchfile()
return render_template('liste.html', config=config, movies=search)
@app.route('/settings')
def setting():
config_raw= settings.getConfigRaw()
return render_template('settings.html', config=config, config_raw=config_raw.read())
@app.route('/settings', methods=['POST'])
def setting_save():
config_raw=request.form['hiddenconfig']
settings.writeConfig(config_raw)
global config
config=settings.loadConfig()
#os.execl(sys.executable, sys.executable, *sys.argv)
return render_template('settings.html', config=config, config_raw=config_raw, message="config saved")
@app.route('/', methods=['POST'])
def my_form_post():
film = request.form['film']
if film!="":
mdate = request.form['date']
if "any" in mdate:
mdate=""
quality = request.form['quality']
if "any" in quality:
quality=""
requester = request.form['requester']
searchfile.createData(film,mdate,quality,requester,False,[])
search=searchfile.loadSearchfile()
if film!="":
return render_template('liste.html', config=config, message="Movie was added "+film , movies=search)
else:
return render_template('liste.html', config=config, message="Error: Movietitle was empty" , movies=search)
def rss_cron():
while True:
cron_rss.run()
time.sleep(config["updatetime"])
if __name__ == '__main__':
logging.basicConfig(filename='server.log',level=logging.INFO)
#loadConfig
logging.info("load Config")
#Cron Thread start
th = threading.Thread(target=rss_cron)
logging.info("Starte Cron Thread...")
th.start()
#Server start
logging.info("Start RSS Notipy Server...")
print("Start RSS Notipy Server...")
app.run(host='0.0.0.0',port=config["port"],debug=True)