Commit 1cb1329f6a9b2bcd210f328e7d92a7bd2c223d1f

Authored by Miguel Barão
1 parent cb220399
Exists in master and in 1 other branch dev

- fixes in initdb, now even slightly faster.

Showing 1 changed file with 10 additions and 9 deletions   Show diff stats
initdb.py
... ... @@ -7,7 +7,6 @@ import re
7 7 import string
8 8 from sys import exit
9 9 from concurrent.futures import ThreadPoolExecutor
10   -from multiprocessing import cpu_count
11 10 import asyncio
12 11  
13 12 # installed packages
... ... @@ -17,9 +16,8 @@ import sqlalchemy as sa
17 16 # this project
18 17 from models import Base, Student
19 18  
20   -pool = ThreadPoolExecutor() #cpu_count()
21 19  
22   -# replace password by hash for a single student dict
  20 +# replace password by hash for a single student
23 21 def hashpw(student):
24 22 pw = student.get('pw', student['uid']).encode('utf-8')
25 23 print('.', end='', flush=True)
... ... @@ -53,11 +51,10 @@ def parse_commandline_arguments():
53 51 action='store_true',
54 52 help='initialize database with a few fake students')
55 53  
56   - # FIXME
57   - # argparser.add_argument('--pw',
58   - # default='',
59   - # type=str,
60   - # help='default password')
  54 + argparser.add_argument('--pw',
  55 + default='',
  56 + type=str,
  57 + help='default password')
61 58  
62 59 argparser.add_argument('csvfile',
63 60 nargs='?',
... ... @@ -97,8 +94,12 @@ elif args.demo:
97 94 {'uid': '1903', 'name': 'John von Neumann'}]
98 95 students.append({'uid': '0', 'name': 'Admin'})
99 96  
  97 +if args.pw:
  98 + for s in students:
  99 + s['pw'] = args.pw
  100 +
100 101 print(f'Generating {len(students)} bcrypt password hashes.')
101   -executor = ThreadPoolExecutor(cpu_count())
  102 +executor = ThreadPoolExecutor()
102 103 event_loop = asyncio.get_event_loop()
103 104 event_loop.run_until_complete(hash_all_passwords(executor, students))
104 105 event_loop.close()
... ...