"""Store various constants here"""
from enum import Enum

# Maximum file upload size (in bytes).
MAX_CONTENT_LENGTH = 1 * 1024 * 1024 * 1024

# Authentication/account creation constants
PWD_HASH_ALGORITHM = 'pbkdf2_sha256'
SALT_SIZE = 24
MIN_USERNAME_LENGTH = 2
MAX_USERNAME_LENGTH = 32
MIN_PASSWORD_LENGTH = 8
MAX_PASSWORD_LENGTH = 1024
HASH_ROUNDS = 100000
PWD_RESET_KEY_LENGTH = 32
# Length of time before recovery key expires, in minutes.
PWD_RESET_KEY_EXPIRATION = 1 * 24 * 60
CREATE_ACCOUNT_KEY_LENGTH = 32


class Gender(Enum):
    """Value of members.gender if member's gender is unknown"""
    NO_GENDER = None
    """Value of members.gender if member is female"""
    FEMALE = 0
    """Value of members.gender if member is male"""
    MALE = 1


CONTACTS = {
    'Administration': [{
        'name': '<NAME>',
        'role': 'Dean of Undergraduate Students',
        'email': '<EMAIL>'
    }, {
        'name': '<NAME>',
        'role': 'Dean of Undergraduate Students',
        'email': '<EMAIL>'
    }, {
        'name': '<NAME>',
        'role': 'Associate Dean of Undergraduate Students',
        'email': '<EMAIL>'
    }, {
        'name': '<NAME>',
        'role': 'Office Manager',
        'email': '<EMAIL>'
    }, {
        'name': '<NAME>',
        'role': 'Office Assistant',
        'email': '<EMAIL>'
    }],
    'Student Life': [{
        'name':
        '<NAME>',
        'role':
        'Senior Director, Student Activities and Programs',
        'email':
        'mann<EMAIL>'
    }, {
        'name': '<NAME>',
        'role': 'Vice President for Student Affairs',
        'email': '<EMAIL>'
    }, {
        'name':
        '<NAME>',
        'role':
        'Assistant Vice President for Student Affairs and Residential Experience',
        'email':
        '<EMAIL>'
    }, {
        'name': '<NAME>',
        'role': 'Director of Housing',
        'email': '<EMAIL>'
    }, {
        'name':
        '<NAME>',
        'role':
        'Community Educator and Deputy Title IX Coordinator',
        'email':
        '<EMAIL>'
    }, {
        'name': '<NAME>',
        'role': 'Acting Director of Dining Services',
        'email': '<EMAIL>'
    }]
}

"""Store various constants here"""
from enum import Enum

# Maximum file upload size (in bytes).
MAX_CONTENT_LENGTH = 1 * 1024 * 1024 * 1024

# Authentication/account creation constants
PWD_HASH_ALGORITHM = 'pbkdf2_sha256'
SALT_SIZE = 24
MIN_USERNAME_LENGTH = 2
MAX_USERNAME_LENGTH = 32
MIN_PASSWORD_LENGTH = 8
MAX_PASSWORD_LENGTH = 1024
HASH_ROUNDS = 100000
PWD_RESET_KEY_LENGTH = 32
# Length of time before recovery key expires, in minutes.
PWD_RESET_KEY_EXPIRATION = 1 * 24 * 60
CREATE_ACCOUNT_KEY_LENGTH = 32


class Gender(Enum):
    """Value of members.gender if member's gender is unknown"""
    NO_GENDER = None
    """Value of members.gender if member is female"""
    FEMALE = 0
    """Value of members.gender if member is male"""
    MALE = 1


CONTACTS = {
    'Administration': [{
        'name': '<NAME>',
        'role': 'Dean of Undergraduate Students',
        'email': '<EMAIL>'
    }, {
        'name': '<NAME>',
        'role': 'Dean of Undergraduate Students',
        'email': '<EMAIL>'
    }, {
        'name': '<NAME>',
        'role': 'Associate Dean of Undergraduate Students',
        'email': '<EMAIL>'
    }, {
        'name': '<NAME>',
        'role': 'Office Manager',
        'email': '<EMAIL>'
    }, {
        'name': '<NAME>',
        'role': 'Office Assistant',
        'email': '<EMAIL>'
    }],
    'Student Life': [{
        'name':
        '<NAME>',
        'role':
        'Senior Director, Student Activities and Programs',
        'email':
        'mann<EMAIL>'
    }, {
        'name': '<NAME>',
        'role': 'Vice President for Student Affairs',
        'email': '<EMAIL>'
    }, {
        'name':
        '<NAME>',
        'role':
        'Assistant Vice President for Student Affairs and Residential Experience',
        'email':
        '<EMAIL>'
    }, {
        'name': '<NAME>',
        'role': 'Director of Housing',
        'email': '<EMAIL>'
    }, {
        'name':
        '<NAME>',
        'role':
        'Community Educator and Deputy Title IX Coordinator',
        'email':
        '<EMAIL>'
    }, {
        'name': '<NAME>',
        'role': 'Acting Director of Dining Services',
        'email': '<EMAIL>'
    }]
}

Store various constants here # Maximum file upload size (in bytes). # Authentication/account creation constants # Length of time before recovery key expires, in minutes. Value of members.gender if member's gender is unknown Value of members.gender if member is female Value of members.gender if member is male