aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xpyAggr3g470r.py114
1 files changed, 70 insertions, 44 deletions
diff --git a/pyAggr3g470r.py b/pyAggr3g470r.py
index 8a69d794..4de1e6b3 100755
--- a/pyAggr3g470r.py
+++ b/pyAggr3g470r.py
@@ -63,33 +63,8 @@ class Root:
"""
html = htmlheader
html += htmlnav
- html += """<div class="right inner">\n"""
- html += """<a href="/management/">Management</a><br />\n"""
- html += """<a href="/fetch/">Fetch all feeds</a><br />\n"""
- html += """<a href="/mark_as_read/All:">Mark articles as read</a>\n"""
- html += """<form method=get action="/q/"><input type="text" name="querystring" value=""><input
- type="submit" value="Search"></form>\n"""
- html += "<hr />\n"
- html += """Your feeds (%s):<br />\n""" % len(self.articles.keys())
- for rss_feed_id in self.articles.keys():
-
- if self.feeds[rss_feed_id][1] != 0:
- # not readed articles are in bold
- not_read_begin = "<b>"
- not_read_end = "</b>"
- else:
- not_read_begin = ""
- not_read_end = ""
-
- html += """<a href="/#%s">%s</a> (<a href="/unread/%s"
- title="Unread article(s)">%s%s%s</a> / %s)<br />\n""" % \
- (rss_feed_id.encode('utf-8'), \
- self.feeds[rss_feed_id][3].encode('utf-8'), \
- rss_feed_id, not_read_begin, \
- self.feeds[rss_feed_id][1], not_read_end, \
- self.feeds[rss_feed_id][0])
-
- html += """</div>\n<div class="left inner">\n"""
+ html += self.create_right_menu()
+ html += """<div class="left inner">\n"""
for rss_feed_id in self.articles.keys():
html += """<h2><a name="%s"><a href="%s" rel="noreferrer"
@@ -139,13 +114,51 @@ class Root:
index.exposed = True
+ def create_right_menu(self):
+ """
+ Create the right menu.
+ """
+ html = """<div class="right inner">\n"""
+ html += """<a href="/management/">Management</a><br />\n"""
+ html += """<a href="/fetch/">Fetch all feeds</a><br />\n"""
+ html += """<a href="/mark_as_read/All:">Mark articles as read</a>\n"""
+ html += """<form method=get action="/q/"><input type="text" name="querystring" value=""><input
+ type="submit" value="Search"></form>\n"""
+ html += "<hr />\n"
+ html += self.create_list_of_feeds()
+ html += "</div>\n"
+ return html
+
+ def create_list_of_feeds(self):
+ """
+ Create the list of feeds.
+ """
+ html = """Your feeds (%s):<br />\n""" % len(self.articles.keys())
+ for rss_feed_id in self.articles.keys():
+ if self.feeds[rss_feed_id][1] != 0:
+ # not readed articles are in bold
+ not_read_begin = "<b>"
+ not_read_end = "</b>"
+ else:
+ not_read_begin = ""
+ not_read_end = ""
+ html += """<a href="/#%s">%s</a> (<a href="/unread/%s"
+ title="Unread article(s)">%s%s%s</a> / %s)<br />\n""" % \
+ (rss_feed_id.encode('utf-8'), \
+ self.feeds[rss_feed_id][3].encode('utf-8'), \
+ rss_feed_id, not_read_begin, \
+ self.feeds[rss_feed_id][1], not_read_end, \
+ self.feeds[rss_feed_id][0])
+ return html
+
+
def management(self):
"""
Management of articles.
"""
html = htmlheader
html += htmlnav
- html += """</div> <div class="left inner">\n"""
+ html += """<div class="left inner">\n"""
html += "<h1>Add Feeds</h1>\n"
html += """<form method=get action="add_feed/"><input type="text" name="v" value="">\n<input
type="submit" value="OK"></form>\n"""
@@ -157,6 +170,7 @@ class Root:
html += """\t<option value="%s">%s</option>\n""" % \
(feed_id, self.feeds[feed_id][3].encode('utf-8'))
html += """</select></form>\n"""
+ html += """<p><a href="/list_notification">Active e-mail notifications</a></p>\n"""
html += "<hr />\n"
html += """<p>The database contains a total of %s article(s) with
@@ -222,7 +236,7 @@ class Root:
feed_id, _, querystring = value.partition(':')
html = htmlheader
html += htmlnav
- html += """</div> <div class="left inner">"""
+ html += """<div class="left inner">"""
html += """<h1>Articles containing the string <i>%s</i></h1><br />""" % (querystring,)
@@ -300,7 +314,7 @@ class Root:
return self.error_page("This feed do not exists.")
html = htmlheader
html += htmlnav
- html += """</div> <div class="left inner">"""
+ html += """<div class="left inner">"""
for article in articles_list:
if article_id == article[0]:
@@ -370,14 +384,7 @@ class Root:
html += """<br />\n<form method=get action="/q/Feed"><input type="text" name="Feed:%s:querystring" value=""><input
type="submit" value="Search this feed"></form>\n""" % (feed_id,)
html += "<hr />\n"
- html += """Your feeds (%s):<br />\n""" % len(self.articles.keys())
- for rss_feed_id in self.articles.keys():
-
- html += """<a href="/#%s">%s</a> (<a href="/unread/%s" title="Unread article(s)">%s</a> / %s)<br />\n""" % \
- (rss_feed_id.encode('utf-8'), \
- self.feeds[rss_feed_id][3].encode('utf-8'), \
- rss_feed_id, self.feeds[rss_feed_id][1], \
- self.feeds[rss_feed_id][0])
+ html += self.create_list_of_feeds()
html += """</div> <div class="left inner">"""
html += """<h1>Articles of the feed <i>%s</i></h1><br />""" % (self.feeds[feed_id][3].encode('utf-8'))
@@ -413,8 +420,7 @@ class Root:
"""
html = htmlheader
html += htmlnav
- html += """</div> <div class="left inner">"""
-
+ html += """<div class="left inner">"""
if feed_id == "All":
html += "<h1>Unread article(s)</h1>"
for rss_feed_id in self.feeds.keys():
@@ -440,7 +446,6 @@ class Root:
""" - <a href="/description/%s:%s" rel="noreferrer" target="_blank">%s</a>""" % \
(feed_id, article[0].encode('utf-8'), article[2].encode('utf-8')) + \
"<br />\n"
-
html += """<hr />\n<a href="/mark_as_read/Feed:%s">Mark all as read</a>""" % (feed_id,)
html += """\n<h4><a href="/">All feeds</a></h4>"""
html += "<hr />\n"
@@ -458,7 +463,7 @@ class Root:
return self.error_page('This language is not supported.')
html = htmlheader
html += htmlnav
- html += """</div> <div class="left inner">"""
+ html += """<div class="left inner">"""
html += """<h1>Article(s) written in %s</h1>\n<br />\n""" % (lang,)
if "oice" not in utils.IMPORT_ERROR:
for rss_feed_id in self.articles.keys():
@@ -494,7 +499,7 @@ class Root:
return self.error_page("This feed do not exists.")
html = htmlheader
html += htmlnav
- html += """</div> <div class="left inner">"""
+ html += """<div class="left inner">"""
feed_id, article_id = target.split(':')
for article in articles_list:
if article_id == article[0]:
@@ -518,7 +523,7 @@ class Root:
"""
html = htmlheader
html += htmlnav
- html += """</div> <div class="left inner">"""
+ html += """<div class="left inner">"""
html += """%s""" % message
html += "\n<hr />\n" + htmlfooter
return html
@@ -563,6 +568,27 @@ class Root:
mark_as_read.exposed = True
+ def list_notification(self):
+ """
+ List all active e-mail notifications.
+ """
+ html = htmlheader
+ html += htmlnav
+ html += """<div class="left inner">"""
+ html += "<h1>You are receiving e-mails for the following feeds:</h1>\n"
+ for rss_feed_id in self.feeds.keys():
+ if self.feeds[rss_feed_id][6] == "1":
+ html += """\t<a href="/all_articles/%s">%s</a> - <a href="/mail_notification/stop:%s">Stop</a><br />\n""" % \
+ (rss_feed_id, self.feeds[rss_feed_id][3].encode('utf-8'), rss_feed_id)
+
+ html += """<p>Notifications are sent to: <a href="mail:%s">%s</a></p>""" % \
+ (utils.mail_to, utils.mail_to)
+ html += "\n<hr />\n" + htmlfooter
+ return html
+
+ list_notification.exposed = True
+
+
def mail_notification(self, param):
"""
Enable or disable to notifications of news for a feed.
bgstack15