def parse_records(self): """ Called by controller code to parse form submission, it being a cvs file or input box Returns nothing, but sets self.records to the parsed lines of the csv as string types """ if self.csv.data: # uploaded a cohort file csv_lines = normalize_newlines(self.csv.data.stream) else: # used upload box, note that wtforms returns unicode types here csv_lines = parse_textarea_ids_or_names(self.paste_ids_or_names.data) records = format_records(csv_lines, self.project.data) if self.centralauth.data is True: ca_session = db.get_ca_session() records = g.centralauth_service.expand_via_centralauth(records, ca_session) self.records = records
def generate_centralauth_users(project, n, name_formatter): session = db.get_ca_session() try: user_count = ( session.query(func.count()). filter(CentralAuthLocalUser.lu_wiki == project). filter(CentralAuthLocalUser.lu_name.like(name_formatter('%'))). one()[0] ) users_to_generate = n - user_count if users_to_generate > 0: start_index = user_count + 1 session.bind.engine.execute( CentralAuthLocalUser.__table__.insert(), [ { 'lu_wiki' : project, 'lu_name' : name_formatter(start_index + i) } for i in range(users_to_generate) ] ) session.commit() finally: session.close()
def parse_records(self): """ Called by controller code to parse form submission, it being a cvs file or input box Returns nothing, but sets self.records to the parsed lines of the csv as string types """ if self.csv.data: # uploaded a cohort file csv_lines = normalize_newlines(self.csv.data.stream) else: # used upload box, note that wtforms returns unicode types here csv_lines = parse_textarea_ids_or_names( self.paste_ids_or_names.data) records = format_records(csv_lines, self.project.data) if self.centralauth.data is True: ca_session = db.get_ca_session() records = g.centralauth_service.expand_via_centralauth( records, ca_session) self.records = records
def setUp(self): #**************************************************************** # set up and clean database (Warning: this DESTROYS ALL DATA) #**************************************************************** self.session = db.get_session() engine = db.get_mw_engine(mediawiki_project) db.MediawikiBase.metadata.create_all(engine, checkfirst=True) engine2 = db.get_mw_engine(second_mediawiki_project) db.MediawikiBase.metadata.create_all(engine2, checkfirst=True) ca_engine = db.get_ca_engine() db.CentralAuthBase.metadata.create_all(ca_engine) # mediawiki_project is a global defined on this file self.mwSession = db.get_mw_session(mediawiki_project) self.mwSession2 = db.get_mw_session(second_mediawiki_project) self.caSession = db.get_ca_session() DatabaseTest.tearDown(self)