From f8b1cbffbb532e39c4e7c1dd12e5052bac75d3f0 Mon Sep 17 00:00:00 2001
From: str4d
Date: Thu, 13 Sep 2012 03:42:24 +0000
Subject: [PATCH] Dynamically generate meetings index (as for blog index)
---
i2p2www/__init__.py | 26 ++++-
i2p2www/pages/meetings/index.html | 178 +-----------------------------
runserver.py | 2 +-
3 files changed, 29 insertions(+), 177 deletions(-)
diff --git a/i2p2www/__init__.py b/i2p2www/__init__.py
index be03a629..6ba06a56 100644
--- a/i2p2www/__init__.py
+++ b/i2p2www/__init__.py
@@ -129,13 +129,37 @@ def site_show(page='index'):
return render_template(name, page=page)
+########################
+# Meeting helper methods
+
+def get_meetings_index():
+ """
+ Returns reverse-sorted list of valid ids
+ """
+ # list of ids
+ meetings=[]
+ # walk over all directories/files
+ for v in os.walk(MEETINGS_DIR):
+ # iterate over all files
+ for f in v[2]:
+ # ignore all non-.rst files
+ if not f.endswith('.rst'):
+ continue
+ meetings.append(int(f[:-4]))
+ meetings.sort()
+ meetings.reverse()
+ return meetings
+
+
##################
# Meeting handlers
# Meeting index
@app.route('//meetings/')
def meetings_index():
- return render_template('meetings/index.html')
+ meetings = get_meetings_index()
+
+ return render_template('meetings/index.html', meetings=meetings)
# Renderer for specific meetings
@app.route('//meetings/')
diff --git a/i2p2www/pages/meetings/index.html b/i2p2www/pages/meetings/index.html
index b8effc6b..c7172051 100644
--- a/i2p2www/pages/meetings/index.html
+++ b/i2p2www/pages/meetings/index.html
@@ -7,180 +7,8 @@ If you have something to discuss, please find the developers on IRC in #i2p-dev.
Status updates from developers are also available.
-- Meeting 208 - September 8, 2010
-- Meeting 207 - February 10, 2009
-- Meeting 206 - April 10, 2007
-- Meeting 205 - April 3, 2007
-- Meeting 204 - March 27, 2007
-- Meeting 203 - March 20, 2007
-- Meeting 202 - March 13, 2007
-- Meeting 201 - February 20, 2007
-- Meeting 200 - February 13, 2007
-- Meeting 199 - February 6, 2007
-- Meeting 198 - January 30, 2007
-- Meeting 197 - January 16, 2007
-- Meeting 196 - January 9, 2007
-- Meeting 195 - January 2, 2007
-- Meeting 194 - December 26, 2006
-- Meeting 193 - December 12, 2006
-- Meeting 192 - December 05, 2006
-- Meeting 191 - November 28, 2006
-- Meeting 190 - November 21, 2006
-- Meeting 189 - November 14, 2006
-- Meeting 188 - November 7, 2006
-- Meeting 187 - October 31, 2006
-- Meeting 186 - October 24, 2006
-- Meeting 185 - October 17, 2006
-- Meeting 184 - September 12, 2006
-- Meeting 183 - August 1, 2006
-- Meeting 182 - June 13, 2006
-- Meeting 181 - May 30, 2006
-- Meeting 180 - May 16, 2006
-- Meeting 179 - May 9, 2006
-- Meeting 178 - May 2, 2006
-- Meeting 177 - April 25, 2006
-- Meeting 176 - April 18, 2006
-- Meeting 175 - April 4, 2006
-- Meeting 174 - March 28, 2006
-- Meeting 173 - March 21, 2006
-- Meeting 172 - March 14, 2006
-- Meeting 171 - March 7, 2006
-- Meeting 170 - February 28, 2006
-- Meeting 169 - February 21, 2006
-- Meeting 168 - February 14, 2006
-- Meeting 167 - February 7, 2006
-- Meeting 166 - January 31, 2006
-- Meeting 165 - January 24, 2006
-- Meeting 164 - January 17, 2006
-- Meeting 163 - January 10, 2006
-- Meeting 162 - January 4, 2006
-- Meeting 161 - December 20, 2005
-- Meeting 160 - December 13, 2005
-- Meeting 159 - December 6, 2005
-- Meeting 158 - November 29, 2005
-- Meeting 157 - November 22, 2005
-- Meeting 156 - November 15, 2005
-- Meeting 155 - November 8, 2005
-- Meeting 154 - November 1, 2005
-- Meeting 153 - October 25, 2005
-- Meeting 152 - October 18, 2005
-- Meeting 151 - October 11, 2005
-- Meeting 150 - October 4, 2005
-- Meeting 149 - September 27, 2005
-- Meeting 148 - September 20, 2005
-- Meeting 147 - September 13, 2005
-- Meeting 146 - September 6, 2005
-- Meeting 145 - August 30, 2005
-- Meeting 144 - August 23, 2005
-- Meeting 143 - August 16, 2005
-- Meeting 142 - August 9, 2005
-- Meeting 141 - August 2, 2005
-- Meeting 140 - May 3, 2005
-- Meeting 139 - April 26, 2005
-- Meeting 138 - April 19, 2005
-- Meeting 137 - April 12, 2005
-- Meeting 136 - April 5, 2005
-- Meeting 135 - March 28, 2005
-- Meeting 134 - March 22, 2005
-- Meeting 133 - March 15, 2005
-- Meeting 132 - March 8, 2005
-- Meeting 131 - March 1, 2005
-- Meeting 130 - February 22, 2005
-- Meeting 129 - February 15, 2005
-- Meeting 128 - February 8, 2005
-- Meeting 127 - February 1, 2005
-- Meeting 126 - January 25, 2005
-- Meeting 125 - January 18, 2005
-- Meeting 124 - January 11, 2005
-- Meeting 123 - January 4, 2005
-- Meeting 122 - December 28, 2004
-- Meeting 121 - December 21, 2004
-- Meeting 120 - December 14, 2004
-- Meeting 119 - December 7, 2004
-- Meeting 118 - November 30, 2004
-- Meeting 117 - November 23, 2004
-- Meeting 116 - November 16, 2004
-- Meeting 115 - November 9, 2004
-- Meeting 114 - November 2, 2004
-- Meeting 113 - October 26, 2004
-- Meeting 112 - October 19, 2004
-- Meeting 111 - October 12, 2004
-- Meeting 110 - October 5, 2004
-- Meeting 109 - September 28, 2004
-- Meeting 108 - September 21, 2004
-- Meeting 107 - September 14, 2004
-- Meeting 106 - September 7, 2004
-- Meeting 105 - August 31, 2004
-- Meeting 104 - August 24, 2004
-- Meeting 103 - August 17, 2004
-- Meeting 102 - August 10, 2004
-- Meeting 101 - August 3, 2004
-- Meeting 100 - July 27, 2004
-- Meeting 99 - July 20, 2004
-- Meeting 95
-- Meeting 93
-- Meeting 92
-- Meeting 90
-- Meeting 82
-- Meeting 81
-- Meeting 80
-- Meeting 79
-- Meeting 78
-- Meeting 77
-- Meeting 76
-- Meeting 75
-- Meeting 74
-- Meeting 73
-- Meeting 72
-- Meeting 71
-- Meeting 70
-- Meeting 69
-- Meeting 68
-- Meeting 66
-- Meeting 65
-- Meeting 64
-- Meeting 63
-- Meeting 62
-- Meeting 61
-- Meeting 60
-- Meeting 59
-- Meeting 58
-- Meeting 57
-- Meeting 56
-- Meeting 55
-- Meeting 54
-- Meeting 53
-- Meeting 52
-- Meeting 51
-- Meeting 50
-- Meeting 49
-- Meeting 47
-- Meeting 35
-- Meeting 34
-- Meeting 33
-- Meeting 32
-- Meeting 31
-- Meeting 30
-- Meeting 29
-- Meeting 28
-- Meeting 26
-- Meeting 25
-- Meeting 23
-- Meeting 22
-- Meeting 21
-- Meeting 20
-- Meeting 18
-- Meeting 15
-- Meeting 12
-- Meeting 11
-- Meeting 10
-- Meeting 9
-- Meeting 8
-- Meeting 7
-- Meeting 4
-- Meeting 3
-- Meeting 2
-- Meeting 1
-
+{% for meeting in meetings -%}
+ - Meeting {{ meeting }}
+{%- endfor %}
{% endblock %}
diff --git a/runserver.py b/runserver.py
index 695772b8..45e60621 100644
--- a/runserver.py
+++ b/runserver.py
@@ -1,2 +1,2 @@
from i2p2www import app
-app.run(debug=False)
+app.run(debug=True)