Mercurial > kraina_muminkow
diff frontend/mfrontend/db.py @ 16:c87f82a15606
Dopisałem co nieco do dokumentacji i małę poprawki w zarządzainu zadaniami
author | Michał Rudowicz <michal.rudowicz@fl9.eu> |
---|---|
date | Sun, 03 Apr 2011 13:47:13 +0200 |
parents | df32c1d01b8d |
children | 9916d46ff096 b75a9ae3a060 |
line wrap: on
line diff
--- a/frontend/mfrontend/db.py Fri Apr 01 23:00:13 2011 +0200 +++ b/frontend/mfrontend/db.py Sun Apr 03 13:47:13 2011 +0200 @@ -32,8 +32,9 @@ 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. + + :returns: 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: @@ -45,8 +46,17 @@ 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/ + """ Funkcja ułatwiająca odpytywanie bazy danych, źródło: + http://flask.pocoo.org/docs/patterns/sqlite3/ + + :param query: Zapytanie SQL. Wszelkie niewiadome należy + zastępować znakiem zapytania ("?"), a + wartości umieszczać na liście w parametrze + args. + :param args: Lista zawierająca argumenty do zappytania. + :param one: Jeśli ustawione na True, to funkcja zwróci + tylko jeden element z bazy, w przeciwnym wypadku + wszystkie spełniające warunek zapytania. """ cur = g.db.execute(query, args) rv = [dict((cur.description[idx][0], value) @@ -56,10 +66,11 @@ 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. + + :param username: Nazwa użytkownika + :param password: Hasło + :returns: Prawda, jeśli podane dane są akceptowalne, w przeciwnym + razie fałsz. """ user = query_db('select * from users where username = ?', [username], one=True) @@ -73,10 +84,11 @@ 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 + """ 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 """ user = query_db('select * from users where username = ?;', [username], one=True) @@ -89,16 +101,18 @@ g.db.commit() def get_jobs(owner_id, hash, state): - """Funkcja pobiera informacje o zadaniach. Możliwe jest filtrowanie zadań. - @param owner_id Pobiera informacje jedynie o zadaniach stworzonych przez - użytkownika o podanym id. Jeśli parametr ten jest ustawiony - na None, to pobiera zadania wszystkich użytkowników. - @param hash Pobiera informacje o zadaniu o podanym hashu. Jeśli jest ustawione - na None, to pobiera informacje o wszystkich hashach. - @param state Pobiera informacje o zadaniach będących w określonym stanie. - Jeśli jest ustawione na None, to pobiera informację o zadaniach - znajdujących się w każdym stanie. - @return Informacje o zadaniach z uwzględnieniem podanych w parametrach filtrów. + """ Funkcja pobiera informacje o zadaniach. Możliwe jest filtrowanie zadań. + + :param owner_id: Pobiera informacje jedynie o zadaniach stworzonych przez + użytkownika o podanym id. Jeśli parametr ten jest ustawiony + na None, to pobiera zadania wszystkich użytkowników. + :param hash: Pobiera informacje o zadaniu o podanym hashu. Jeśli jest ustawione + na None, to pobiera informacje o wszystkich hashach. + :param state: Pobiera informacje o zadaniach będących w określonym stanie. + Jeśli jest ustawione na None, to pobiera informację o zadaniach + znajdujących się w każdym stanie. + :returns: Informacje o zadaniach z uwzględnieniem podanych w + parametrach filtrów. """ parameters = [] sqlLine = "" @@ -128,23 +142,26 @@ def get_waiting_job(): """ Funkcja zwraca dane o najstarszym oczekującym zadaniu. - @return Dane o zadaniu. + + :returns: Dane o zadaniu. """ return query_db("SELECT * FROM jobs WHERE state = 0 ORDER BY id ASC",[],one=True) def get_job_by_id(job_id): """ Funkcja zwraca wszystkie informacje o wybranym zadaniu na podstawie numeru identyfikacyjnego. - @param job_id Identyfikator żądanego zadania - @return Informacje o żądanym zadaniu.;q + + :param job_id: Identyfikator żądanego zadania + :returns: Informacje o żądanym zadaniu.;q """ return query_db("SELECT * FROM jobs WHERE id = ?;", [job_id], one=True) def edit_job(job_id, options): - """ Funkcja omdyfikująca właściwości zadania o podanym identyfikatorze. - @param job_id Identyfikator zadania, które chcemy zmodyfikować. - @param options Słownik z nowymi wartościami kolumn w tabeli. + """ Funkcja modyfikująca właściwości zadania o podanym identyfikatorze. + + :param job_id: Identyfikator zadania, które chcemy zmodyfikować. + :param options: Słownik z nowymi wartościami kolumn w tabeli. """ # klucze, których zmianę dopuszczamy keys = ["label", "state", "result", "percent", "last_checked"] @@ -157,21 +174,31 @@ def get_user_name(user_id): """ Funkcja pobiera nazwę użytkownika o podanym identyfikatorze. - user_id -- Identyfikator użytkownika, którego nazwa jest pożądana. - @return String zawierający nazwę użytkownika, lub None, jeśli użytkownik nie istnieje. + :param user_id: Identyfikator użytkownika, którego nazwa jest pożądana. + :returns: String zawierający nazwę użytkownika, lub None, + jeśli użytkownik nie istnieje. """ return query_db("SELECT username FROM users WHERE id = ?;", [user_id], one=True)["username"] def get_user_id(user_name): """ Funkcja pobiera identyfikator użytkownika na podstawie nazwy. - @param user_name Nazwa użytkownika, którego indentyfikator ma zostać zwrócony. - @return Identyfikator użytkownika. + + :param user_name: Nazwa użytkownika, którego indentyfikator ma zostać zwrócony. + :returns: Identyfikator użytkownika. """ return query_db("SELECT id FROM users WHERE username = ?;", [user_name], one=True)["id"] -def new_job(id, label, hash): - query_db("INSERT INTO jobs (owner_id, label, hash) VALUES (?,?,?);", - [id, label, hash]) +def new_job(id, label, hash, method): + """ Funkcja tworzy nowe zadanie i zapisuje je w bazie danych. + + :param id: Identyfikator użytkownika, który ma zostać oznaczony + jako właściciel zadania. + :param label: Opis zadania. + :param hash: Hash do zdekodowania. + :param method: Metoda łamania haseł. + """ + query_db("INSERT INTO jobs (owner_id, label, hash, method) VALUES (?,?,?,?);", + [id, label, hash,method]) g.db.commit()