Index: main/waeup.aaue/trunk/src/waeup/aaue/interswitch/browser.py
===================================================================
--- main/waeup.aaue/trunk/src/waeup/aaue/interswitch/browser.py	(revision 17446)
+++ main/waeup.aaue/trunk/src/waeup/aaue/interswitch/browser.py	(revision 17447)
@@ -36,4 +36,5 @@
 from waeup.aaue.students.interfaces import ICustomStudentOnlinePayment
 from waeup.aaue.applicants.interfaces import ICustomApplicantOnlinePayment
+from waeup.aaue.students.utils import SFEECHANGES
 from waeup.aaue.interfaces import MessageFactory as _
 
@@ -85,38 +86,12 @@
     }
 
-schoolfees_path = os.path.join(
-    os.path.dirname(__file__), '../students/schoolfees_22.csv')
-reader = csv.DictReader(open(schoolfees_path, 'rb'))
-SCHOOLFEES_22 = {item['code']:item for item in reader}
-
-schoolfees_path = os.path.join(
-    os.path.dirname(__file__), '../students/schoolfees_21.csv')
-reader = csv.DictReader(open(schoolfees_path, 'rb'))
-SCHOOLFEES_21 = {item['code']:item for item in reader}
-
-schoolfees_path = os.path.join(
-    os.path.dirname(__file__), '../students/schoolfees_20.csv')
-reader = csv.DictReader(open(schoolfees_path, 'rb'))
-SCHOOLFEES_20 = {item['code']:item for item in reader}
-
-schoolfees_path = os.path.join(
-    os.path.dirname(__file__), '../students/schoolfees_19.csv')
-reader = csv.DictReader(open(schoolfees_path, 'rb'))
-SCHOOLFEES_19 = {item['code']:item for item in reader}
-
-schoolfees_path = os.path.join(
-    os.path.dirname(__file__), '../students/schoolfees_14.csv')
-reader = csv.DictReader(open(schoolfees_path, 'rb'))
-SCHOOLFEES_14 = {item['code']:item for item in reader}
-
-schoolfees_path = os.path.join(
-    os.path.dirname(__file__), '../students/schoolfees_13.csv')
-reader = csv.DictReader(open(schoolfees_path, 'rb'))
-SCHOOLFEES_13 = {item['code']:item for item in reader}
-
-schoolfees_path = os.path.join(
-    os.path.dirname(__file__), '../students/schoolfees_12.csv')
-reader = csv.DictReader(open(schoolfees_path, 'rb'))
-SCHOOLFEES_12 = {item['code']:item for item in reader}
+
+SCHOOLFEES = dict()
+
+for year in SFEECHANGES:
+    schoolfees_path = os.path.join(
+        os.path.dirname(__file__), '../students/schoolfees_%s.csv' %year)
+    reader = csv.DictReader(open(schoolfees_path, 'rb'))
+    SCHOOLFEES[year] = {item['code']:item for item in reader}
 
 acceptancefees_path = os.path.join(
@@ -290,17 +265,17 @@
 
                 if student.entry_session < 2013:
-                    sorted_items = SCHOOLFEES_12[student.certcode].items()
-                elif student.entry_session < 2013:
-                    sorted_items = SCHOOLFEES_19[student.certcode].items()
+                    sorted_items = SCHOOLFEES[12][student.certcode].items()
                 elif student.entry_session < 2014:
-                    sorted_items = SCHOOLFEES_19[student.certcode].items()
+                    sorted_items = SCHOOLFEES[13][student.certcode].items()
+                elif student.entry_session < 2015:
+                    sorted_items = SCHOOLFEES[14][student.certcode].items()
                 elif student.entry_session < 2020:
-                    sorted_items = SCHOOLFEES_19[student.certcode].items()
+                    sorted_items = SCHOOLFEES[19][student.certcode].items()
                 elif student.entry_session < 2021:
-                    sorted_items = SCHOOLFEES_20[student.certcode].items()
+                    sorted_items = SCHOOLFEES[20][student.certcode].items()
                 elif student.entry_session < 2022:
-                    sorted_items = SCHOOLFEES_21[student.certcode].items()
+                    sorted_items = SCHOOLFEES[21][student.certcode].items()
                 else:
-                    sorted_items = SCHOOLFEES_22[student.certcode].items()
+                    sorted_items = SCHOOLFEES[22][student.certcode].items()
                 sorted_items.insert(0, sorted_items.pop(4))
                 for item in sorted_items:
Index: main/waeup.aaue/trunk/src/waeup/aaue/students/utils.py
===================================================================
--- main/waeup.aaue/trunk/src/waeup/aaue/students/utils.py	(revision 17446)
+++ main/waeup.aaue/trunk/src/waeup/aaue/students/utils.py	(revision 17447)
@@ -32,38 +32,12 @@
 MINIMUM_UNITS_THRESHOLD = 15
 
-schoolfees_path = os.path.join(
-    os.path.dirname(__file__), 'schoolfees_22.csv')
-reader = csv.DictReader(open(schoolfees_path, 'rb'))
-SCHOOLFEES_22 = {item['code']:(item['tuition'], item.values()) for item in reader}
-
-schoolfees_path = os.path.join(
-    os.path.dirname(__file__), 'schoolfees_21.csv')
-reader = csv.DictReader(open(schoolfees_path, 'rb'))
-SCHOOLFEES_21 = {item['code']:(item['tuition'], item.values()) for item in reader}
-
-schoolfees_path = os.path.join(
-    os.path.dirname(__file__), 'schoolfees_20.csv')
-reader = csv.DictReader(open(schoolfees_path, 'rb'))
-SCHOOLFEES_20 = {item['code']:(item['tuition'], item.values()) for item in reader}
-
-schoolfees_path = os.path.join(
-    os.path.dirname(__file__), 'schoolfees_19.csv')
-reader = csv.DictReader(open(schoolfees_path, 'rb'))
-SCHOOLFEES_19 = {item['code']:(item['tuition'], item.values()) for item in reader}
-
-schoolfees_path = os.path.join(
-    os.path.dirname(__file__), 'schoolfees_14.csv')
-reader = csv.DictReader(open(schoolfees_path, 'rb'))
-SCHOOLFEES_14 = {item['code']:(item['tuition'], item.values()) for item in reader}
-
-schoolfees_path = os.path.join(
-    os.path.dirname(__file__), 'schoolfees_13.csv')
-reader = csv.DictReader(open(schoolfees_path, 'rb'))
-SCHOOLFEES_13 = {item['code']:(item['tuition'], item.values()) for item in reader}
-
-schoolfees_path = os.path.join(
-    os.path.dirname(__file__), 'schoolfees_12.csv')
-reader = csv.DictReader(open(schoolfees_path, 'rb'))
-SCHOOLFEES_12 = {item['code']:(item['tuition'], item.values()) for item in reader}
+SCHOOLFEES = dict()
+SFEECHANGES = (12, 13, 14, 19, 20, 21, 22)
+
+for year in SFEECHANGES:
+    schoolfees_path = os.path.join(
+        os.path.dirname(__file__), 'schoolfees_%s.csv' %year)
+    reader = csv.DictReader(open(schoolfees_path, 'rb'))
+    SCHOOLFEES[year] = {item['code']:(item['tuition'], item.values()) for item in reader}
 
 acceptancefees_path = os.path.join(
@@ -416,17 +390,17 @@
             try:
                 if student.entry_session < 2013:
-                    schoolfees = SCHOOLFEES_12[student.certcode]
+                    schoolfees = SCHOOLFEES[12][student.certcode]
                 elif student.entry_session < 2014:
-                    schoolfees = SCHOOLFEES_13[student.certcode]
+                    schoolfees = SCHOOLFEES[13][student.certcode]
                 elif student.entry_session < 2015:
-                    schoolfees = SCHOOLFEES_14[student.certcode]
+                    schoolfees = SCHOOLFEES[14][student.certcode]
                 elif student.entry_session < 2020:
-                    schoolfees = SCHOOLFEES_19[student.certcode]
+                    schoolfees = SCHOOLFEES[19][student.certcode]
                 elif student.entry_session < 2021:
-                    schoolfees = SCHOOLFEES_20[student.certcode]
+                    schoolfees = SCHOOLFEES[20][student.certcode]
                 elif student.entry_session < 2022:
-                    schoolfees = SCHOOLFEES_21[student.certcode]
+                    schoolfees = SCHOOLFEES[21][student.certcode]
                 else:
-                    schoolfees = SCHOOLFEES_22[student.certcode]
+                    schoolfees = SCHOOLFEES[22][student.certcode]
             except KeyError:
                 return _('School fees not yet fixed.'), None
