Mercurial > kraina_muminkow
comparison 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 |
comparison
equal
deleted
inserted
replaced
4:cf786ee26a22 | 5:3ba60dfc1d64 |
---|---|
3 | 3 |
4 import sqlite3 | 4 import sqlite3 |
5 from flask import g | 5 from flask import g |
6 import ConfigParser | 6 import ConfigParser |
7 from mfrontend import utils | 7 from mfrontend import utils |
8 from contextlib import closing | |
9 import os.path | |
8 | 10 |
9 config = ConfigParser.SafeConfigParser() | 11 config = ConfigParser.SafeConfigParser() |
10 config.read('config.ini') | 12 config.read('config.ini') |
11 | 13 |
12 def connect_db(): | 14 def connect_db(): |
14 g.db = sqlite3.connect(config.get('Basic','Database')) | 16 g.db = sqlite3.connect(config.get('Basic','Database')) |
15 | 17 |
16 def disconnect_db(): | 18 def disconnect_db(): |
17 """Funkcja zamykająca połączenie z bazą danych""" | 19 """Funkcja zamykająca połączenie z bazą danych""" |
18 g.db.close() | 20 g.db.close() |
21 | |
22 def init_db(): | |
23 """Funkcja przeprowadzająca inicjalizację bazy danych zgodnie | |
24 z plikiem schema.sql. Na podstawie kodu ze strony | |
25 http://flask.pocoo.org/docs/patterns/sqlite3/#initial-schemas | |
26 Instalacja powiedzie się tylko wtedy, gdy w obecnym katalogu | |
27 nie istnieje plik '.installed'. Plik taki jest tworzony | |
28 po każdej instalacji, aby zapobiec operacjom na | |
29 istniejących bazach. | |
30 @return True, jeśli instalacja została wykonana, | |
31 False, jeśli plik '.installed' istnieje. | |
32 """ | |
33 if not os.path.isfile('.installed'): | |
34 with open('schema.sql', 'r') as f: | |
35 g.db.cursor().executescript(f.read()) | |
36 g.db.commit() | |
37 open('.installed', 'w').close() | |
38 return True | |
39 else: | |
40 return False | |
19 | 41 |
20 def query_db(query, args=(), one=False): | 42 def query_db(query, args=(), one=False): |
21 """Funkcja ułatwiająca odpytywanie bazy danych, źródło: | 43 """Funkcja ułatwiająca odpytywanie bazy danych, źródło: |
22 http://flask.pocoo.org/docs/patterns/sqlite3/ | 44 http://flask.pocoo.org/docs/patterns/sqlite3/ |
23 """ | 45 """ |
40 return False | 62 return False |
41 if user['password'] == utils.hashPassword(password): | 63 if user['password'] == utils.hashPassword(password): |
42 return True # Jeśli mamy takiego użytkownika, i hasło się zgadza | 64 return True # Jeśli mamy takiego użytkownika, i hasło się zgadza |
43 # Najwyraźniej jest taki użytkownik, ale hasło się nie zgadza | 65 # Najwyraźniej jest taki użytkownik, ale hasło się nie zgadza |
44 return False | 66 return False |
67 | |
68 def register_user(username, password): | |
69 """Funkcja rejestrująca nowego użytkownika w systemie. | |
70 @param username Nazwa nowego użytkownika | |
71 @param password Hasło w czystym tekście, funkcja sama | |
72 zajmie się hashowaniem | |
73 """ | |
74 return |