Mercurial > kraina_muminkow
diff frontend/mfrontend/db.py @ 5:3ba60dfc1d64
Dodałem prosty instalator aplikacji tworzący bazę danych ze schematu
author | Michał Rudowicz <michal.rudowicz@fl9.eu> |
---|---|
date | Sun, 27 Feb 2011 09:33:03 +0100 |
parents | cf786ee26a22 |
children | 27d63cac76ac |
line wrap: on
line diff
--- a/frontend/mfrontend/db.py Tue Feb 22 20:38:51 2011 +0000 +++ b/frontend/mfrontend/db.py Sun Feb 27 09:33:03 2011 +0100 @@ -5,6 +5,8 @@ from flask import g import ConfigParser from mfrontend import utils +from contextlib import closing +import os.path config = ConfigParser.SafeConfigParser() config.read('config.ini') @@ -17,6 +19,26 @@ """Funkcja zamykająca połączenie z bazą danych""" g.db.close() +def init_db(): + """Funkcja przeprowadzająca inicjalizację bazy danych zgodnie + z plikiem schema.sql. Na podstawie kodu ze strony + http://flask.pocoo.org/docs/patterns/sqlite3/#initial-schemas + Instalacja powiedzie się tylko wtedy, gdy w obecnym katalogu + nie istnieje plik '.installed'. Plik taki jest tworzony + po każdej instalacji, aby zapobiec operacjom na + istniejących bazach. + @return True, jeśli instalacja została wykonana, + False, jeśli plik '.installed' istnieje. + """ + if not os.path.isfile('.installed'): + with open('schema.sql', 'r') as f: + g.db.cursor().executescript(f.read()) + g.db.commit() + open('.installed', 'w').close() + return True + else: + return False + def query_db(query, args=(), one=False): """Funkcja ułatwiająca odpytywanie bazy danych, źródło: http://flask.pocoo.org/docs/patterns/sqlite3/ @@ -42,3 +64,11 @@ 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 + +def register_user(username, password): + """Funkcja rejestrująca nowego użytkownika w systemie. + @param username Nazwa nowego użytkownika + @param password Hasło w czystym tekście, funkcja sama + zajmie się hashowaniem + """ + return