## $Id: utils.py 7845 2012-03-12 11:40:52Z henrik $
##
## Copyright (C) 2012 Uli Fouquet & Henrik Bettermann
## This program is free software; you can redistribute it and/or modify
## it under the terms of the GNU General Public License as published by
## the Free Software Foundation; either version 2 of the License, or
## (at your option) any later version.
##
## This program is distributed in the hope that it will be useful,
## but WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
## GNU General Public License for more details.
##
## You should have received a copy of the GNU General Public License
## along with this program; if not, write to the Free Software
## Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
##
"""Customize general helper utilities for Kofa.
"""
import os
from waeup.kofa.utils.utils import KofaUtils


class KofaUtils(KofaUtils):
    """A collection of methods subject to customization.
    """
    PORTAL_LANGUAGE = 'en'

    PREFERRED_LANGUAGES_DICT = {
        'en':(1, u'English'),
        'fr':(2, u'Fran&ccedil;ais'),
        'de':(3, u'Deutsch'),
        'ha':(4, u'Hausa'),
        'yo':(5, u'Yoruba'),
        'ig':(6, u'Igbo'),
        }

    EXAM_SUBJECTS_DICT = {
        'accounts': 'Accounts',
        'add_general_science': 'Add General Science',
        'add_maths': 'Add Maths',
        'agricultural_science': 'Agricultural Science',
        'applied_electricity': 'Applied Electricity',
        'arabi': 'Arabic',
        'arithmetics': 'Arithmetics',
        'art': 'Art',
        'auto_mechanics': 'Auto Mechanics',
        'basic_electricity': 'Basic Electricity',
        'bible_knowledge': 'Bible Knowledge',
        'biology': 'Biology',
        'biology_alt_syl': 'Biology (Alt.Syl)',
        'book_keeping': 'Book Keeping',
        'building_construction': 'Building Construction',
        'business_management': 'Business Management',
        'business_construction_management': 'Business/Construction Management (Adv)',
        'chemistry': 'Chemistry',
        'chemistry_alt_syl': 'Chemistry (Alt.Syl)',
        'christian_religious_studies': 'Christian Religious Studies',
        'clerical_office_duties': 'Clerical Office Duties',
        'clothing_and_textiles': 'Clothing and Textiles',
        'commerce': 'Commerce',
        'economics': 'Economics',
        'education': 'Education',
        'efik': 'Efik',
        'electronics': 'Electronics',
        'elementary_surveying': 'Elementary Surveying',
        'english_language': 'English Language',
        'engineering_science': 'Engineering Science',
        'financial_accounting': 'Financial Accounting',
        'food_and_nutrition': 'Food and Nutrition',
        'french': 'French',
        'further_mathematics': 'Further Mathematics',
        'general_science': 'General Science',
        'geography': 'Geography',
        'german': 'German',
        'government': 'Government',
        'hausa': 'Hausa',
        'hausa_literature': 'Hausa Literature',
        'health_science': 'Health Science',
        'history': 'History',
        'home_management': 'Home Management',
        'industrial_electrical_installation': 'Industrial Elect Installation (Adv)',
        'intergrated_science': 'Intergrated Science',
        'islamic_studies': 'Islamic Studies',
        'literature_in_english': 'Literature in English',
        'literature_in_nigerian_languages': 'Literature in Nigerian Languages',
        'igbo': 'Igbo',
        'igbo_literature': 'Igbo Literature',
        'yoruba': 'Yoruba',
        'yoruba_literature': 'Yoruba Literature',
        'management_in_living': 'Management in Living',
        'mathematics': 'Mathematics',
        'metalwork': 'Metalwork',
        'music': 'Music',
        'nigerian_language': 'Nigerian Language',
        'office_practice': 'Office Practice',
        'physical_education': 'Physical Education',
        'physical_health_education': 'Physical and Health Education',
        'physics': 'Physics',
        'physics_alt_syl': 'Physics (Alt.Syl)',
        'principles_of_cost_accounting': 'Principles of Cost Accounting',
        'rural_science': 'Rural Science',
        'science': 'Science',
        'secretarial_duties': 'Secretarial Duties',
        'shorthand': 'Shorthand',
        'sierra_leone_studies': 'Sierra Leone Studies',
        'sierra_leone_languages': 'Sierra Leone Languages',
        'social_studies': 'Social Studies',
        'statistics': 'Statistics',
        'teaching_practice': 'Teaching Practice',
        'technical_drawing': 'Technical Drawing',
        'typewriting': 'Typewriting',
        'visual_art': 'Visual Art',
        'woodwork': 'Woodwork',
        'winding_elect_machines': 'Winding of Elect Machines and Elect Eng Sc'
        }

    EXAM_GRADES_DICT = {
        'A1': (1, 'Excellent (A1)'),
        'A2': (2, 'Very Good (A2)'),
        'A3': (3, 'Good (A3)'),
        'B2': (4, 'Very Good (B2)'),
        'B3': (5, 'Good (B3)'),
        'C4': (6, 'Credit (C4)'),
        'C5': (7, 'Credit (C5)'),
        'C6': (8, 'Credit (C6)'),
        'D7': (9, 'Pass (D7)'),
        'E8': (10, 'Pass (E8)'),
        'F9': (11, 'Fail (F9)'),
        'Aa': (12, 'A (a)'),
        'Bb': (13, 'B (b)'),
        'Cc': (14, 'C (c)'),
        'Dd': (15, 'D (d)'),
        'Ee': (16, 'E (e)'),
        'Ff': (17, 'F (f)'),
        'Gg': (18, 'G (g)')
        }

    INST_TYPES_DICT = {
        'faculty': 'Faculty of',
        'department': 'Department of',
        'school': 'School of',
        'office': 'Office for',
        'centre': 'Centre for',
        'institute': 'Institute of',
        'school_for': 'School for',
        }

    STUDY_MODES_DICT = {
        'rmd_ft': 'Remedial with deficiencies',
        'dp_pt': 'Diploma Part Time',
        'ct_ft': 'Certificate Full Time',
        'dp_ft': 'Diploma Full Time',
        'de_pt': 'Direct Entry Part Time',
        'pg_ft': 'Postgraduate Full Time',
        'pg_pt': 'Postgraduate Part Time',
        'jm_ft': 'Joint Matriculation Full Time',
        'ume_ft': 'UME Full Time',
        'de_ft': 'Direct Entry Full Time',
        'ph_ft': 'Post Higher Education Full Time',
        'transfer_pt': 'Transfer Part Time',
        'ug_pt': 'Undergraduate Part Time',
        'transfer_ft': 'Transfer Full Time',
        'ct_pt': 'Certificate Part Time',
        'ug_ft': 'Undergraduate Full Time',
        'rm_ft': 'Remedial'
        }

    APP_CATS_DICT = {
        'basic': 'PUME, PDE, PCE, PRENCE',
        'no': 'no application',
        'pg': 'Postgraduate',
        'sandwich': 'Sandwich',
        'cest': 'Part-Time, Diploma, Certificate'
        }
