I2P Address: [http://git.idk.i2p]

Skip to content
Snippets Groups Projects
Commit 769d983d authored by str4d's avatar str4d
Browse files

Dynamically generate meeting index

parent c7c5623e
No related branches found
No related tags found
No related merge requests found
......@@ -198,21 +198,35 @@ def get_meetings_feed_items(num=0):
meetings = get_meetings(num)
items = []
for meeting in meetings:
parts = render_meeting_rst(meeting)
a = {}
a['title'] = meeting['parts']['title']
a['content'] = meeting['parts']['fragment']
a['url'] = url_for('meetings_show', lang=g.lang, id=meeting['id'])
a['updated'] = (meeting['date'] if meeting['date'] else datetime.datetime(0))
items.append(a)
return items
def get_meetings(num=0):
meetings_ids = get_meetings_ids(num)
meetings = []
for id in meetings_ids:
parts = render_meeting_rst(id)
if parts:
try:
updated = datetime.datetime.strptime(parts['title'], 'I2P dev meeting, %B %d, %Y @ %H:%M %Z')
date = datetime.datetime.strptime(parts['title'], 'I2P dev meeting, %B %d, %Y @ %H:%M %Z')
except ValueError:
updated = datetime.datetime.strptime(parts['title'], 'I2P dev meeting, %B %d, %Y')
try:
date = datetime.datetime.strptime(parts['title'], 'I2P dev meeting, %B %d, %Y')
except ValueError:
date = None
a = {}
a['title'] = parts['title']
a['content'] = parts['fragment']
a['url'] = url_for('meetings_show', lang=g.lang, id=meeting)
a['updated'] = updated
items.append(a)
return items
a['id'] = id
a['date'] = date
a['parts'] = parts
meetings.append(a)
return meetings
def get_meetings(num=0):
def get_meetings_ids(num=0):
"""
Returns the latest #num valid meetings, or all meetings if num=0.
"""
......@@ -252,7 +266,9 @@ def render_meeting_rst(id):
# Meeting index
@app.route('/<string:lang>/meetings/')
def meetings_index():
return render_template('meetings/index.html')
meetings = get_meetings()
return render_template('meetings/index.html', meetings=meetings)
# Renderer for specific meetings
@app.route('/<string:lang>/meetings/<int:id>')
......
I2P dev meeting, July 27, XXXX
I2P dev meeting, July 27, 2004
==============================
Quick recap
......
I2P dev meeting, August 3, XXXX @ 21:00 GMT
I2P dev meeting, August 3, 2004 @ 21:00 GMT
===========================================
Quick recap
......
I2P dev meeting, August 10, XXXX @ 21:00 GMT
I2P dev meeting, August 10, 2004 @ 21:00 GMT
============================================
Quick recap
......
I2P dev meeting, March 29, 2005
I2P dev meeting, March 28, 2005
===============================
Quick recap
......
I2P dev meeting, February 7, 2005
I2P dev meeting, February 7, 2006
=================================
Quick recap
......
I2P dev meeting, DATE
=============================
I2P dev meeting
===============
Quick recap
-----------
......
......@@ -8,182 +8,9 @@ If you have something to discuss, please find the developers on IRC in #i2p-dev.
</p><div class="underline"></div>
<ul class="infolist">
{%- macro meeting_url(m_id) -%}{{ url_for('meetings_show', lang=g.lang, id=m_id) }}{%- endmacro -%}
<li><a href="{{ meeting_url(210) }}">Meeting 210</a> - November 27, 2012</li>
<li><a href="{{ meeting_url(209) }}">Meeting 209</a> - November 20, 2012</li>
<li><a href="{{ meeting_url(208) }}">Meeting 208</a> - September 8, 2010</li>
<li><a href="{{ meeting_url(207) }}">Meeting 207</a> - February 10, 2009</li>
<li><a href="{{ meeting_url(206) }}">Meeting 206</a> - April 10, 2007</li>
<li><a href="{{ meeting_url(205) }}">Meeting 205</a> - April 3, 2007</li>
<li><a href="{{ meeting_url(204) }}">Meeting 204</a> - March 27, 2007</li>
<li><a href="{{ meeting_url(203) }}">Meeting 203</a> - March 20, 2007</li>
<li><a href="{{ meeting_url(202) }}">Meeting 202</a> - March 13, 2007</li>
<li><a href="{{ meeting_url(201) }}">Meeting 201</a> - February 20, 2007</li>
<li><a href="{{ meeting_url(200) }}">Meeting 200</a> - February 13, 2007</li>
<li><a href="{{ meeting_url(199) }}">Meeting 199</a> - February 6, 2007</li>
<li><a href="{{ meeting_url(198) }}">Meeting 198</a> - January 30, 2007</li>
<li><a href="{{ meeting_url(197) }}">Meeting 197</a> - January 16, 2007</li>
<li><a href="{{ meeting_url(196) }}">Meeting 196</a> - January 9, 2007</li>
<li><a href="{{ meeting_url(195) }}">Meeting 195</a> - January 2, 2007</li>
<li><a href="{{ meeting_url(194) }}">Meeting 194</a> - December 26, 2006</li>
<li><a href="{{ meeting_url(193) }}">Meeting 193</a> - December 12, 2006</li>
<li><a href="{{ meeting_url(192) }}">Meeting 192</a> - December 05, 2006</li>
<li><a href="{{ meeting_url(191) }}">Meeting 191</a> - November 28, 2006</li>
<li><a href="{{ meeting_url(190) }}">Meeting 190</a> - November 21, 2006</li>
<li><a href="{{ meeting_url(189) }}">Meeting 189</a> - November 14, 2006</li>
<li><a href="{{ meeting_url(188) }}">Meeting 188</a> - November 7, 2006</li>
<li><a href="{{ meeting_url(187) }}">Meeting 187</a> - October 31, 2006</li>
<li><a href="{{ meeting_url(186) }}">Meeting 186</a> - October 24, 2006</li>
<li><a href="{{ meeting_url(185) }}">Meeting 185</a> - October 17, 2006</li>
<li><a href="{{ meeting_url(184) }}">Meeting 184</a> - September 12, 2006</li>
<li><a href="{{ meeting_url(183) }}">Meeting 183</a> - August 1, 2006</li>
<li><a href="{{ meeting_url(182) }}">Meeting 182</a> - June 13, 2006</li>
<li><a href="{{ meeting_url(181) }}">Meeting 181</a> - May 30, 2006</li>
<li><a href="{{ meeting_url(180) }}">Meeting 180</a> - May 16, 2006</li>
<li><a href="{{ meeting_url(179) }}">Meeting 179</a> - May 9, 2006</li>
<li><a href="{{ meeting_url(178) }}">Meeting 178</a> - May 2, 2006</li>
<li><a href="{{ meeting_url(177) }}">Meeting 177</a> - April 25, 2006</li>
<li><a href="{{ meeting_url(176) }}">Meeting 176</a> - April 18, 2006</li>
<li><a href="{{ meeting_url(175) }}">Meeting 175</a> - April 4, 2006</li>
<li><a href="{{ meeting_url(174) }}">Meeting 174</a> - March 28, 2006</li>
<li><a href="{{ meeting_url(173) }}">Meeting 173</a> - March 21, 2006</li>
<li><a href="{{ meeting_url(172) }}">Meeting 172</a> - March 14, 2006</li>
<li><a href="{{ meeting_url(171) }}">Meeting 171</a> - March 7, 2006</li>
<li><a href="{{ meeting_url(170) }}">Meeting 170</a> - February 28, 2006</li>
<li><a href="{{ meeting_url(169) }}">Meeting 169</a> - February 21, 2006</li>
<li><a href="{{ meeting_url(168) }}">Meeting 168</a> - February 14, 2006</li>
<li><a href="{{ meeting_url(167) }}">Meeting 167</a> - February 7, 2006</li>
<li><a href="{{ meeting_url(166) }}">Meeting 166</a> - January 31, 2006</li>
<li><a href="{{ meeting_url(165) }}">Meeting 165</a> - January 24, 2006</li>
<li><a href="{{ meeting_url(164) }}">Meeting 164</a> - January 17, 2006</li>
<li><a href="{{ meeting_url(163) }}">Meeting 163</a> - January 10, 2006</li>
<li><a href="{{ meeting_url(162) }}">Meeting 162</a> - January 4, 2006</li>
<li><a href="{{ meeting_url(161) }}">Meeting 161</a> - December 20, 2005</li>
<li><a href="{{ meeting_url(160) }}">Meeting 160</a> - December 13, 2005</li>
<li><a href="{{ meeting_url(159) }}">Meeting 159</a> - December 6, 2005</li>
<li><a href="{{ meeting_url(158) }}">Meeting 158</a> - November 29, 2005</li>
<li><a href="{{ meeting_url(157) }}">Meeting 157</a> - November 22, 2005</li>
<li><a href="{{ meeting_url(156) }}">Meeting 156</a> - November 15, 2005</li>
<li><a href="{{ meeting_url(155) }}">Meeting 155</a> - November 8, 2005</li>
<li><a href="{{ meeting_url(154) }}">Meeting 154</a> - November 1, 2005</li>
<li><a href="{{ meeting_url(153) }}">Meeting 153</a> - October 25, 2005</li>
<li><a href="{{ meeting_url(152) }}">Meeting 152</a> - October 18, 2005</li>
<li><a href="{{ meeting_url(151) }}">Meeting 151</a> - October 11, 2005</li>
<li><a href="{{ meeting_url(150) }}">Meeting 150</a> - October 4, 2005</li>
<li><a href="{{ meeting_url(149) }}">Meeting 149</a> - September 27, 2005</li>
<li><a href="{{ meeting_url(148) }}">Meeting 148</a> - September 20, 2005</li>
<li><a href="{{ meeting_url(147) }}">Meeting 147</a> - September 13, 2005</li>
<li><a href="{{ meeting_url(146) }}">Meeting 146</a> - September 6, 2005</li>
<li><a href="{{ meeting_url(145) }}">Meeting 145</a> - August 30, 2005</li>
<li><a href="{{ meeting_url(144) }}">Meeting 144</a> - August 23, 2005</li>
<li><a href="{{ meeting_url(143) }}">Meeting 143</a> - August 16, 2005</li>
<li><a href="{{ meeting_url(142) }}">Meeting 142</a> - August 9, 2005</li>
<li><a href="{{ meeting_url(141) }}">Meeting 141</a> - August 2, 2005</li>
<li><a href="{{ meeting_url(140) }}">Meeting 140</a> - May 3, 2005</li>
<li><a href="{{ meeting_url(139) }}">Meeting 139</a> - April 26, 2005</li>
<li><a href="{{ meeting_url(138) }}">Meeting 138</a> - April 19, 2005</li>
<li><a href="{{ meeting_url(137) }}">Meeting 137</a> - April 12, 2005</li>
<li><a href="{{ meeting_url(136) }}">Meeting 136</a> - April 5, 2005</li>
<li><a href="{{ meeting_url(135) }}">Meeting 135</a> - March 28, 2005</li>
<li><a href="{{ meeting_url(134) }}">Meeting 134</a> - March 22, 2005</li>
<li><a href="{{ meeting_url(133) }}">Meeting 133</a> - March 15, 2005</li>
<li><a href="{{ meeting_url(132) }}">Meeting 132</a> - March 8, 2005</li>
<li><a href="{{ meeting_url(131) }}">Meeting 131</a> - March 1, 2005</li>
<li><a href="{{ meeting_url(130) }}">Meeting 130</a> - February 22, 2005</li>
<li><a href="{{ meeting_url(129) }}">Meeting 129</a> - February 15, 2005</li>
<li><a href="{{ meeting_url(128) }}">Meeting 128</a> - February 8, 2005</li>
<li><a href="{{ meeting_url(127) }}">Meeting 127</a> - February 1, 2005</li>
<li><a href="{{ meeting_url(126) }}">Meeting 126</a> - January 25, 2005</li>
<li><a href="{{ meeting_url(125) }}">Meeting 125</a> - January 18, 2005</li>
<li><a href="{{ meeting_url(124) }}">Meeting 124</a> - January 11, 2005</li>
<li><a href="{{ meeting_url(123) }}">Meeting 123</a> - January 4, 2005</li>
<li><a href="{{ meeting_url(122) }}">Meeting 122</a> - December 28, 2004</li>
<li><a href="{{ meeting_url(121) }}">Meeting 121</a> - December 21, 2004</li>
<li><a href="{{ meeting_url(120) }}">Meeting 120</a> - December 14, 2004</li>
<li><a href="{{ meeting_url(119) }}">Meeting 119</a> - December 7, 2004</li>
<li><a href="{{ meeting_url(118) }}">Meeting 118</a> - November 30, 2004</li>
<li><a href="{{ meeting_url(117) }}">Meeting 117</a> - November 23, 2004</li>
<li><a href="{{ meeting_url(116) }}">Meeting 116</a> - November 16, 2004</li>
<li><a href="{{ meeting_url(115) }}">Meeting 115</a> - November 9, 2004</li>
<li><a href="{{ meeting_url(114) }}">Meeting 114</a> - November 2, 2004</li>
<li><a href="{{ meeting_url(113) }}">Meeting 113</a> - October 26, 2004</li>
<li><a href="{{ meeting_url(112) }}">Meeting 112</a> - October 19, 2004</li>
<li><a href="{{ meeting_url(111) }}">Meeting 111</a> - October 12, 2004</li>
<li><a href="{{ meeting_url(110) }}">Meeting 110</a> - October 5, 2004</li>
<li><a href="{{ meeting_url(109) }}">Meeting 109</a> - September 28, 2004</li>
<li><a href="{{ meeting_url(108) }}">Meeting 108</a> - September 21, 2004</li>
<li><a href="{{ meeting_url(107) }}">Meeting 107</a> - September 14, 2004</li>
<li><a href="{{ meeting_url(106) }}">Meeting 106</a> - September 7, 2004</li>
<li><a href="{{ meeting_url(105) }}">Meeting 105</a> - August 31, 2004</li>
<li><a href="{{ meeting_url(104) }}">Meeting 104</a> - August 24, 2004</li>
<li><a href="{{ meeting_url(103) }}">Meeting 103</a> - August 17, 2004</li>
<li><a href="{{ meeting_url(102) }}">Meeting 102</a> - August 10, 2004</li>
<li><a href="{{ meeting_url(101) }}">Meeting 101</a> - August 3, 2004</li>
<li><a href="{{ meeting_url(100) }}">Meeting 100</a> - July 27, 2004</li>
<li><a href="{{ meeting_url(99) }}">Meeting 99</a> - July 20, 2004</li>
<li><a href="{{ meeting_url(95) }}">Meeting 95</a></li>
<li><a href="{{ meeting_url(93) }}">Meeting 93</a></li>
<li><a href="{{ meeting_url(92) }}">Meeting 92</a></li>
<li><a href="{{ meeting_url(90) }}">Meeting 90</a></li>
<li><a href="{{ meeting_url(82) }}">Meeting 82</a></li>
<li><a href="{{ meeting_url(81) }}">Meeting 81</a></li>
<li><a href="{{ meeting_url(80) }}">Meeting 80</a></li>
<li><a href="{{ meeting_url(79) }}">Meeting 79</a></li>
<li><a href="{{ meeting_url(78) }}">Meeting 78</a></li>
<li><a href="{{ meeting_url(77) }}">Meeting 77</a></li>
<li><a href="{{ meeting_url(76) }}">Meeting 76</a></li>
<li><a href="{{ meeting_url(75) }}">Meeting 75</a></li>
<li><a href="{{ meeting_url(74) }}">Meeting 74</a></li>
<li><a href="{{ meeting_url(73) }}">Meeting 73</a></li>
<li><a href="{{ meeting_url(72) }}">Meeting 72</a></li>
<li><a href="{{ meeting_url(71) }}">Meeting 71</a></li>
<li><a href="{{ meeting_url(70) }}">Meeting 70</a></li>
<li><a href="{{ meeting_url(69) }}">Meeting 69</a></li>
<li><a href="{{ meeting_url(68) }}">Meeting 68</a></li>
<li><a href="{{ meeting_url(66) }}">Meeting 66</a></li>
<li><a href="{{ meeting_url(65) }}">Meeting 65</a></li>
<li><a href="{{ meeting_url(64) }}">Meeting 64</a></li>
<li><a href="{{ meeting_url(63) }}">Meeting 63</a></li>
<li><a href="{{ meeting_url(62) }}">Meeting 62</a></li>
<li><a href="{{ meeting_url(61) }}">Meeting 61</a></li>
<li><a href="{{ meeting_url(60) }}">Meeting 60</a></li>
<li><a href="{{ meeting_url(59) }}">Meeting 59</a></li>
<li><a href="{{ meeting_url(58) }}">Meeting 58</a></li>
<li><a href="{{ meeting_url(57) }}">Meeting 57</a></li>
<li><a href="{{ meeting_url(56) }}">Meeting 56</a></li>
<li><a href="{{ meeting_url(55) }}">Meeting 55</a></li>
<li><a href="{{ meeting_url(54) }}">Meeting 54</a></li>
<li><a href="{{ meeting_url(53) }}">Meeting 53</a></li>
<li><a href="{{ meeting_url(52) }}">Meeting 52</a></li>
<li><a href="{{ meeting_url(51) }}">Meeting 51</a></li>
<li><a href="{{ meeting_url(50) }}">Meeting 50</a></li>
<li><a href="{{ meeting_url(49) }}">Meeting 49</a></li>
<li><a href="{{ meeting_url(47) }}">Meeting 47</a></li>
<li><a href="{{ meeting_url(35) }}">Meeting 35</a></li>
<li><a href="{{ meeting_url(34) }}">Meeting 34</a></li>
<li><a href="{{ meeting_url(33) }}">Meeting 33</a></li>
<li><a href="{{ meeting_url(32) }}">Meeting 32</a></li>
<li><a href="{{ meeting_url(31) }}">Meeting 31</a></li>
<li><a href="{{ meeting_url(30) }}">Meeting 30</a></li>
<li><a href="{{ meeting_url(29) }}">Meeting 29</a></li>
<li><a href="{{ meeting_url(28) }}">Meeting 28</a></li>
<li><a href="{{ meeting_url(26) }}">Meeting 26</a></li>
<li><a href="{{ meeting_url(25) }}">Meeting 25</a></li>
<li><a href="{{ meeting_url(23) }}">Meeting 23</a></li>
<li><a href="{{ meeting_url(22) }}">Meeting 22</a></li>
<li><a href="{{ meeting_url(21) }}">Meeting 21</a></li>
<li><a href="{{ meeting_url(20) }}">Meeting 20</a></li>
<li><a href="{{ meeting_url(18) }}">Meeting 18</a></li>
<li><a href="{{ meeting_url(15) }}">Meeting 15</a></li>
<li><a href="{{ meeting_url(12) }}">Meeting 12</a></li>
<li><a href="{{ meeting_url(11) }}">Meeting 11</a></li>
<li><a href="{{ meeting_url(10) }}">Meeting 10</a></li>
<li><a href="{{ meeting_url(9) }}">Meeting 9</a></li>
<li><a href="{{ meeting_url(8) }}">Meeting 8</a></li>
<li><a href="{{ meeting_url(7) }}">Meeting 7</a></li>
<li><a href="{{ meeting_url(4) }}">Meeting 4</a></li>
<li><a href="{{ meeting_url(3) }}">Meeting 3</a></li>
<li><a href="{{ meeting_url(2) }}">Meeting 2</a></li>
<li><a href="{{ meeting_url(1) }}">Meeting 1</a></li>
<!-- {{ meetings }} -->
{% for meeting in meetings -%}
<li><a href="{{ meeting_url(meeting['id']) }}">Meeting {{ meeting['id'] }}</a>{% if meeting['date'] %} - {{ meeting['date'].strftime("%B %d, %Y") }}{% endif %}</li>
{%- endfor %}
</ul>
{% endblock %}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment