def get_uta_by_keyword( database, keyword ): """ Returns the unicode encoded uta corresponding to index, dictionary of number, subject, kundoku """ keyword = unsafe2safe( keyword.decode( 'utf-8' ) ) where = ' OR '.join( [ '%(key)s LIKE \'%%%(target)s%%\'' % dict ( key = key, target = '%'.join( [ char for char in keyword ] ) ) for key in [ 'subject', 'original', 'kundoku', 'kana', 'sachu', 'koui', 'jikou', 'kuni' ] ] ) query = SQL_UTA_BY_KEYWORD + where fetched = database_fetch( database, query ) return dict( [ [ int( uta[ 'id' ] ), dict( number = dec( uta[ 'number' ] ), subject = dec( uta[ 'subject' ] ), original = dec( uta[ 'original' ] ), kundoku = dec( uta[ 'kundoku' ] ), kana = dec( uta[ 'kana' ] ), sachu = dec( uta[ 'sachu' ] ), koui = dec( uta[ 'koui' ] ), jikou = dec( uta[ 'jikou' ] ), kuni = dec( uta[ 'kuni' ] ), ) ] for uta in fetched ] )
def transition_of_num_of_registered(): 'the transition of number of registered users' database = database_open() database_execute( database, "SET max_error_count = 0" ) fetched = database_fetch( database, SQL_TRANSITION_USERS ) database_execute( database, "SET max_error_count = 64" ) database_close( database ) return fetched
def get_user_by_mail( database, mail_address ): "get user id from user's mail address" query = ''.join( [ 'SELECT id FROM manyoushu_personal_information WHERE ', 'mail_address = \'%s\'' % mail_address ] ) fetched = database_fetch( database, query ) if len( fetched ) < 1: return None else: return fetched[ 0 ]
def num_of_registered(): 'the number of registerd users' database = database_open() fetched = database_fetch( database, SQL_NUM_OF_REGISTERED ) database_close( database ) try: return fetched[ 0 ][ 'COUNT( * )' ] except: return 0
def get_uta_by_indices( database, indices ): """ Returns the unicode encoded uta corresponding to index, dictionary of number, subject, kundoku """ indices = set( [ index % NUM_OF_UTA for index in indices ] ) query = ''.join( [ 'SELECT id, number, subject, kundoku FROM ', 'manyoushu_text WHERE ', ' OR '.join( [ 'id = %d' % index for index in indices ] ) ] ) fetched = database_fetch( database, query ) return dict( [ [ int( uta[ 'id' ] ), dict( number = dec( uta[ 'number' ] ), subject = dec( uta[ 'subject' ] ), kundoku = dec( uta[ 'kundoku' ] ), ) ] for uta in fetched ] )
def get_user_by_date( database, day, hour ): 'get users corresponding to day and hour' query = SQL_USER_DATE % dict( day = day, hour = hour ) return database_fetch( database, query )