Repository :
http://git.fedorahosted.org/cgit/fedocal.git
On branch : master
---------------------------------------------------------------
commit 52b2c71b6864e0f19a6342419f572b22ca6c2ccc
Author: Pierre-Yves Chibon <pingou(a)pingoured.fr>
Date: Tue Dec 11 08:52:47 2012 +0100
Hey look two routes for one function
We can simplify the routing by providing default values to that specific function.
This
reduces the code and code complexity.
Templates were adjusted for to fix the link.
---------------------------------------------------------------
fedocal/__init__.py | 18 +++++-------------
fedocal/fedocallib/fedora_calendar.py | 6 +++---
fedocal/templates/agenda.html | 4 ++--
3 files changed, 10 insertions(+), 18 deletions(-)
diff --git a/fedocal/__init__.py b/fedocal/__init__.py
index 61fd7b0..4cf3006 100644
--- a/fedocal/__init__.py
+++ b/fedocal/__init__.py
@@ -111,7 +111,8 @@ def index():
"""
calendars = Calendar.get_all(SESSION)
if calendars:
- return calendar(calendars[0].calendar_name)
+ return calendar(calendars[0].calendar_name, None, None,
+ None)
else:
auth_form = forms.LoginForm()
admin = is_admin()
@@ -121,20 +122,11 @@ def index():
admin=admin)
-(a)APP.route('/<calendar_name>/')
-def calendar(calendar_name):
- """ Display the current week for a specific calendar.
-
- :arg calendar_name: the name of the calendar that one would like to
- consult.
- """
- return calendar_fullday(calendar_name, year=None, month=None,
- day=None)
-
-
# pylint: disable=R0914
+(a)APP.route('/<calendar_name>/',
+ defaults={'year': None, 'month': None, 'day': None})
@APP.route('/<calendar_name>/<int:year>/<int:month>/<int:day>/')
-def calendar_fullday(calendar_name, year, month, day):
+def calendar(calendar_name, year, month, day):
""" Display the week of a specific date for a specified calendar.
:arg calendar_name: the name of the calendar that one would like to
diff --git a/fedocal/fedocallib/fedora_calendar.py
b/fedocal/fedocallib/fedora_calendar.py
index b62b495..5905bf4 100644
--- a/fedocal/fedocallib/fedora_calendar.py
+++ b/fedocal/fedocallib/fedora_calendar.py
@@ -46,7 +46,7 @@ class FedocalCalendar(HTMLCalendar):
link_day = day
if self.calendar_name:
link_day = '<a href="%s">%d</a>' %
(flask.url_for(
- 'calendar_fullday',
+ 'calendar',
calendar_name=self.calendar_name, year=self.year,
month=self.month, day=day), day)
if day == cur_date.day \
@@ -91,7 +91,7 @@ class FedocalCalendar(HTMLCalendar):
if self.calendar_name:
prev_month_lnk = '<a class="button"
href="%s"><</a>' % (
flask.url_for(
- 'calendar_fullday',
+ 'calendar',
calendar_name=self.calendar_name,
year=int(prev_year),
month=int(prev_month),
@@ -105,7 +105,7 @@ class FedocalCalendar(HTMLCalendar):
if self.calendar_name:
next_month_lnk = '<a class="button"
href="%s">></a>' % (
flask.url_for(
- 'calendar_fullday',
+ 'calendar',
calendar_name=self.calendar_name,
year=int(next_year),
month=int(next_month),
diff --git a/fedocal/templates/agenda.html b/fedocal/templates/agenda.html
index 257c909..2dd50be 100644
--- a/fedocal/templates/agenda.html
+++ b/fedocal/templates/agenda.html
@@ -17,13 +17,13 @@
<p>{{ calendar.calendar_description }}</p>
</header>
<nav id="weeks">
- <a href="{{url_for('calendar_fullday',
+ <a href="{{url_for('calendar',
calendar_name=calendar.calendar_name, year=prev_week.year,
month=prev_week.month, day=prev_week.day)}}"
class="button">
<
</a>
{{ weekdays | WeekHeading }}
- <a href="{{url_for('calendar_fullday',
+ <a href="{{url_for('calendar',
calendar_name=calendar.calendar_name, year=next_week.year,
month=next_week.month, day=next_week.day)}}"
class="button">
>