11import re
2+ from datetime import datetime
3+
24
35from flask import abort , jsonify , redirect , request , send_from_directory
46from urllib .parse import urlsplit , urlunsplit , parse_qsl , urlencode
1012from . import talisman
1113from . import techreport as tech_report_util
1214from . import url_for
15+ from .dates import get_dates
1316
1417
1518def safe_int (value , default = 1 ):
@@ -145,6 +148,17 @@ def techreportlanding(page_id):
145148
146149 last_page = request .args .get ("last_page" ) or False
147150
151+ all_dates = [
152+ {
153+ "value" : d .replace ("_" , "-" ),
154+ "display" : datetime .strptime (d , "%Y_%m_%d" ).strftime ("%b %Y" ),
155+ }
156+ for d in get_dates ()
157+ ]
158+
159+ requested_start = request .args .get ("start" ) or ""
160+ requested_end = request .args .get ("end" ) or ""
161+
148162 filters = {
149163 "geo" : requested_geo ,
150164 "rank" : requested_rank ,
@@ -154,6 +168,8 @@ def techreportlanding(page_id):
154168 "last_page" : last_page ,
155169 "selected" : selected_techs ,
156170 "rows" : selected_rows ,
171+ "start" : requested_start ,
172+ "end" : requested_end ,
157173 }
158174 params = {
159175 "geo" : requested_geo .replace (" " , "+" ),
@@ -171,6 +187,7 @@ def techreportlanding(page_id):
171187 tech_report_page = active_tech_report ,
172188 custom_navigation = True ,
173189 reports = all_reports ,
190+ all_dates = all_dates ,
174191 )
175192
176193
@@ -209,11 +226,25 @@ def techreport():
209226 requested_geo = request .args .get ("geo" ) or "ALL"
210227 requested_rank = request .args .get ("rank" ) or "ALL"
211228 requested_category = request .args .get ("category" ) or "ALL"
229+
230+ all_dates = [
231+ {
232+ "value" : d .replace ("_" , "-" ),
233+ "display" : datetime .strptime (d , "%Y_%m_%d" ).strftime ("%b %Y" ),
234+ }
235+ for d in get_dates ()
236+ ]
237+
238+ requested_start = request .args .get ("start" ) or ""
239+ requested_end = request .args .get ("end" ) or ""
240+
212241 filters = {
213242 "geo" : requested_geo ,
214243 "rank" : requested_rank ,
215244 "app" : requested_technologies ,
216245 "category" : requested_category ,
246+ "start" : requested_start ,
247+ "end" : requested_end ,
217248 }
218249 params = {
219250 "geo" : requested_geo .replace (" " , "+" ),
@@ -242,6 +273,7 @@ def techreport():
242273 tech_report_page = active_tech_report ,
243274 custom_navigation = True ,
244275 reports = all_reports ,
276+ all_dates = all_dates ,
245277 )
246278
247279
0 commit comments