view frontend/mfrontend/utils.py @ 10:58a993029d9f

Dodawanie nowych zadań i dekorator sprawdzający zalogowanie.
author Michał Rudowicz <michal.rudowicz@fl9.eu>
date Mon, 07 Mar 2011 10:47:48 +0100
parents 79fc37fe85a6
children 79cf8ca2a0e5
line wrap: on
line source

#!/usr/bin/python
# -*- coding: utf-8 -*-

import random, string, hashlib
from ConfigParser import SafeConfigParser

def randomString(n):
    """Funkcja generująca losowy łańcuch znaków, np. do haseł czy Secret Key.
       @param n Ilość znaków do wygenerowania.
       @return Losowo wygenerowany łańcuch znaków.
    """
    wynik = ''.join(random.choice(string.ascii_letters + string.digits) for i in range(n))
    return wynik

def default_ini():
    """Funkcja tworząca domyślny plik .ini z ustawieniami aplikacji"""
    config = SafeConfigParser()
    config.add_section('Basic')
    config.set('Basic', 'Database', 'baza.sqlite')
    config.set('Basic', 'Debug', '0')
    config.set('Basic', 'Secret_Key', randomString(10))
    config.set('Basic', 'HashCrypto', 'sha512')
    with open('config.ini', 'wb') as configfile:
        config.write(configfile)

def hashPassword(password):
    """Funkcja hashuje hasła."""
    config = SafeConfigParser()
    config.read('config.ini')
    m = hashlib.new(config.get('Basic', 'HashCrypto'))
    m.update(config.get('Basic', 'Secret_Key'))
    m.update(password)
    return m.hexdigest()