def import_user(): import csv from stepbystep.models import UserModel, AccountItem, Account from stepbystep.libs.tasks import account_crawler with open('stepbystep_user.csv', 'r') as users: for sid, name, grade, sdut_id, poj_id in csv.reader( users.read().splitlines()[1:]): if sid and name and grade: user = UserModel.objects(username=sid).first() if not user: user = UserModel.create_user(username=sid, password='******', name=name, grade=grade) if sdut_id: sdut_account = AccountItem.objects.create(origin_oj='sdut', username=sdut_id) user.sdut = Account(user_id=sdut_id, account=sdut_account) account_crawler.delay(origin_oj='sdut', username=sdut_id) if poj_id: poj_account = AccountItem.objects.create(origin_oj='poj', username=poj_id) user.poj = Account(user_id=poj_id, account=poj_account) account_crawler.delay(origin_oj='poj', username=poj_id) user.save()
def deploy(): RoleModel.insert_roles() admin = RoleModel.objects(name='admin').first() user = UserModel.objects(username='******').first() if user is None: user = UserModel.create_user(username='******', name='admin', password='******') user.roles.append(admin) user.save() if UserModel.objects().count() == 1: import os os.chdir('./stepbystep/script/') execfile('import_category_problem.py') execfile('import_user.py')
def get(self): per_page = current_app.config['STATISTICS_PER_PAGE'] page = request.args.get('page', 1, type=int) role = RoleModel.objects(name='statistics').first() paginate = UserModel.objects(roles=role).paginate(page=page, per_page=per_page) users = paginate.items return render_template(self.template, users=users, paginate=paginate)
def deploy(): RoleModel.insert_roles() admin = RoleModel.objects(name='admin').first() user = UserModel.objects(username='******').first() if user is None: user = UserModel.create_user( username='******', name='admin', password='******' ) user.roles.append(admin) user.save() if UserModel.objects().count() == 1: import os os.chdir('./stepbystep/script/') execfile('import_category_problem.py') execfile('import_user.py')
def get(self, ordinal): role = RoleModel.objects(name=ordinal).first() ordinal = CategoryModel.objects.get_or_404( ordinal=ORDINAL.get(ordinal), origin_oj='poj') problems = ProblemModel.objects(origin_oj='poj', genera=ordinal).all() problems = list(problems) problems.sort(cmp=ProblemModel.p_cmp) users = UserModel.objects(roles=role).all() return render_template(self.template, problems=problems, users=users, ordinal=ordinal)
def deploy(): RoleModel.insert_roles() admin = RoleModel.objects(name='admin').first() user = UserModel.objects(username='******').first() if user is None: user = UserModel.create_user( username='******', name='admin', password='******' ) user.roles.append(admin) user.save()
def import_user(filename): import csv from stepbystep.models import UserModel, AccountItem, Account, RoleModel from stepbystep.libs.tasks import account_crawler sdut_program_1 = RoleModel.objects(name='program_1').first() sdut_program_2 = RoleModel.objects(name='program_2').first() sdut_data_structure = RoleModel.objects(name='data_structure').first() with open(filename, 'r') as users: for sid, name, grade, sdut_id, poj_id in csv.reader( users.read().splitlines()[1:]): if sid and name and grade: user = UserModel.objects( username=sid).first() if not user: user = UserModel.create_user( username=sid, password='******', name=name, grade=grade ) if sdut_id: sdut_account = AccountItem.objects.create( origin_oj='sdut', username=sdut_id ) user.sdut = Account( user_id=sdut_id, account=sdut_account ) user.roles.append(sdut_program_1) user.roles.append(sdut_program_2) user.roles.append(sdut_data_structure) account_crawler.delay( origin_oj='sdut', username=sdut_id ) if poj_id: poj_account = AccountItem.objects.create( origin_oj='poj', username=poj_id ) user.poj = Account( user_id=poj_id, account=poj_account ) account_crawler.delay( origin_oj='poj', username=poj_id ) user.save()
def get(self): per_page = current_app.config['STATISTICS_PER_PAGE'] page = request.args.get('page', 1, type=int) role = RoleModel.objects(name='statistics').first() paginate = UserModel.objects(roles=role).paginate( page=page, per_page=per_page ) users = paginate.items return render_template( self.template, users=users, paginate=paginate )
def get(self, ordinal): role = RoleModel.objects(name=ordinal).first() ordinal = CategoryModel.objects.get_or_404( ordinal=ORDINAL.get(ordinal), origin_oj='poj') problems = ProblemModel.objects( origin_oj='poj', genera=ordinal ).all() problems = list(problems) problems.sort(cmp=ProblemModel.p_cmp) users = UserModel.objects(roles=role).all() return render_template( self.template, problems=problems, users=users, ordinal=ordinal)
def import_user(): import csv from stepbystep.models import UserModel, AccountItem, Account from stepbystep.libs.tasks import account_crawler with open('stepbystep_user.csv', 'r') as users: for sid, name, grade, sdut_id, poj_id in csv.reader( users.read().splitlines()[1:]): if sid and name and grade: user = UserModel.objects( username=sid).first() if not user: user = UserModel.create_user( username=sid, password='******', name=name, grade=grade ) if sdut_id: sdut_account = AccountItem.objects.create( origin_oj='sdut', username=sdut_id ) user.sdut = Account( user_id=sdut_id, account=sdut_account ) account_crawler.delay( origin_oj='sdut', username=sdut_id ) if poj_id: poj_account = AccountItem.objects.create( origin_oj='poj', username=poj_id ) user.poj = Account( user_id=poj_id, account=poj_account ) account_crawler.delay( origin_oj='poj', username=poj_id ) user.save()