Mercurial > kraina_muminkow
view frontend/mfrontend/db.py @ 4:cf786ee26a22
MOŻNA SIĘ LOGOWAĆ I WYLOGOWAĆ jestem wspaniały
author | michalr |
---|---|
date | Tue, 22 Feb 2011 20:38:51 +0000 |
parents | c3fb1e9fc1f7 |
children | 3ba60dfc1d64 |
line wrap: on
line source
#!/usr/bin/python # -*- coding: utf-8 -*- import sqlite3 from flask import g import ConfigParser from mfrontend import utils config = ConfigParser.SafeConfigParser() config.read('config.ini') def connect_db(): """Funkcja łącząca się z bazą danych.""" g.db = sqlite3.connect(config.get('Basic','Database')) def disconnect_db(): """Funkcja zamykająca połączenie z bazą danych""" g.db.close() def query_db(query, args=(), one=False): """Funkcja ułatwiająca odpytywanie bazy danych, źródło: http://flask.pocoo.org/docs/patterns/sqlite3/ """ cur = g.db.execute(query, args) rv = [dict((cur.description[idx][0], value) for idx, value in enumerate(row)) for row in cur.fetchall()] return (rv[0] if rv else None) if one else rv def user_can_login(username, password): """Funkcja sprawdzająca, czy podany użytkownik może sie zalogować po podaniu danego w argumencie hasła. @param username Nazwa użytkownika @param password Hasło @return Prawda, jeśli podane dane są akceptowalne, w przeciwnym razie fałsz. """ user = query_db('select * from users where username = ?', [username], one=True) if user is None: # Brak użytkownika o takiej nazwie return False if user['password'] == utils.hashPassword(password): return True # Jeśli mamy takiego użytkownika, i hasło się zgadza # Najwyraźniej jest taki użytkownik, ale hasło się nie zgadza return False