annotate frontend/mfrontend/utils.py @ 25:3a26da290650

merge
author Michał Rudowicz <michal.rudowicz@fl9.eu>
date Mon, 09 May 2011 10:49:01 +0200
parents 79cf8ca2a0e5
children
rev   line source
1
michalr
parents:
diff changeset
1 #!/usr/bin/python
michalr
parents:
diff changeset
2 # -*- coding: utf-8 -*-
michalr
parents:
diff changeset
3
3
79fc37fe85a6 Zabawy z Flaskiem ciąg dalszy, zaczyna to jakoś wyglądać
michalr
parents: 2
diff changeset
4 import random, string, hashlib
2
e0061735c327 Usunąłem nieskończoną pętlę
michalr
parents: 1
diff changeset
5 from ConfigParser import SafeConfigParser
e0061735c327 Usunąłem nieskończoną pętlę
michalr
parents: 1
diff changeset
6
e0061735c327 Usunąłem nieskończoną pętlę
michalr
parents: 1
diff changeset
7 def randomString(n):
e0061735c327 Usunąłem nieskończoną pętlę
michalr
parents: 1
diff changeset
8 """Funkcja generująca losowy łańcuch znaków, np. do haseł czy Secret Key.
e0061735c327 Usunąłem nieskończoną pętlę
michalr
parents: 1
diff changeset
9 @param n Ilość znaków do wygenerowania.
e0061735c327 Usunąłem nieskończoną pętlę
michalr
parents: 1
diff changeset
10 @return Losowo wygenerowany łańcuch znaków.
e0061735c327 Usunąłem nieskończoną pętlę
michalr
parents: 1
diff changeset
11 """
e0061735c327 Usunąłem nieskończoną pętlę
michalr
parents: 1
diff changeset
12 wynik = ''.join(random.choice(string.ascii_letters + string.digits) for i in range(n))
e0061735c327 Usunąłem nieskończoną pętlę
michalr
parents: 1
diff changeset
13 return wynik
1
michalr
parents:
diff changeset
14
michalr
parents:
diff changeset
15 def default_ini():
michalr
parents:
diff changeset
16 """Funkcja tworząca domyślny plik .ini z ustawieniami aplikacji"""
2
e0061735c327 Usunąłem nieskończoną pętlę
michalr
parents: 1
diff changeset
17 config = SafeConfigParser()
1
michalr
parents:
diff changeset
18 config.add_section('Basic')
3
79fc37fe85a6 Zabawy z Flaskiem ciąg dalszy, zaczyna to jakoś wyglądać
michalr
parents: 2
diff changeset
19 config.set('Basic', 'Database', 'baza.sqlite')
1
michalr
parents:
diff changeset
20 config.set('Basic', 'Debug', '0')
2
e0061735c327 Usunąłem nieskończoną pętlę
michalr
parents: 1
diff changeset
21 config.set('Basic', 'Secret_Key', randomString(10))
3
79fc37fe85a6 Zabawy z Flaskiem ciąg dalszy, zaczyna to jakoś wyglądać
michalr
parents: 2
diff changeset
22 config.set('Basic', 'HashCrypto', 'sha512')
13
79cf8ca2a0e5 Dodałem pobieranie informacji o podanym zadaniu oraz pobieranie zadania oczekującego poprzez API
Michał Rudowicz <michal.rudowicz@fl9.eu>
parents: 3
diff changeset
23 config.set('Basic', 'ApiKey', randomString(10))
1
michalr
parents:
diff changeset
24 with open('config.ini', 'wb') as configfile:
michalr
parents:
diff changeset
25 config.write(configfile)
michalr
parents:
diff changeset
26
3
79fc37fe85a6 Zabawy z Flaskiem ciąg dalszy, zaczyna to jakoś wyglądać
michalr
parents: 2
diff changeset
27 def hashPassword(password):
79fc37fe85a6 Zabawy z Flaskiem ciąg dalszy, zaczyna to jakoś wyglądać
michalr
parents: 2
diff changeset
28 """Funkcja hashuje hasła."""
79fc37fe85a6 Zabawy z Flaskiem ciąg dalszy, zaczyna to jakoś wyglądać
michalr
parents: 2
diff changeset
29 config = SafeConfigParser()
79fc37fe85a6 Zabawy z Flaskiem ciąg dalszy, zaczyna to jakoś wyglądać
michalr
parents: 2
diff changeset
30 config.read('config.ini')
79fc37fe85a6 Zabawy z Flaskiem ciąg dalszy, zaczyna to jakoś wyglądać
michalr
parents: 2
diff changeset
31 m = hashlib.new(config.get('Basic', 'HashCrypto'))
79fc37fe85a6 Zabawy z Flaskiem ciąg dalszy, zaczyna to jakoś wyglądać
michalr
parents: 2
diff changeset
32 m.update(config.get('Basic', 'Secret_Key'))
79fc37fe85a6 Zabawy z Flaskiem ciąg dalszy, zaczyna to jakoś wyglądać
michalr
parents: 2
diff changeset
33 m.update(password)
79fc37fe85a6 Zabawy z Flaskiem ciąg dalszy, zaczyna to jakoś wyglądać
michalr
parents: 2
diff changeset
34 return m.hexdigest()
79fc37fe85a6 Zabawy z Flaskiem ciąg dalszy, zaczyna to jakoś wyglądać
michalr
parents: 2
diff changeset
35