def process_student_list(user_id, txt): #sheets.acquire_auth() values = sheets.get_range_values('Список группы!A3:B') name_list = [] for row in values: name_list.append('%s. %s' % (row[0], row[1])) say(user_id, '👫 Список группы:\n\n' + '\n'.join(name_list))
def process_student_patronymic(user_id, txt): global state #sheets.acquire_auth() name = final_name_pattern.search(txt).group(1) name = name[:1].upper() + name[1:] values = sheets.get_range_values('Список группы!A3:G') for row in values: if row[6][:len(row[6]) - 4] in name: full_name = row[1] say(user_id, '✒ %s' % (full_name)) return say( user_id, '❗ В группе не числится студент с фамилией %s! Ты точно правильно её указал?' % (name))
def process_student_othernumber(user_id, txt): global state name = final_name_pattern.search(txt).group(1) if name == 'меня': return process_student_selfnumber(user_id, txt) name = name[:1].upper() + name[1:] #sheets.acquire_auth() values = sheets.get_range_values('Список группы!A3:G') for row in values: if row[6][:len(row[6]) - 4] in name: say(user_id, '🔢 %s: вариант №%s' % (row[6], row[0])) return say( user_id, '❗ В группе не числится студент с фамилией %s! Ты точно правильно её указал?' % (name))
def process_student_selfnumber(user_id, txt): global state try: name = state.get('names/%d' % user_id, throw=True) except: response = vk.method('users.get', { 'user_ids': user_id, 'fields': 'last_name' }) name = response[0]['last_name'] #sheets.acquire_auth() values = sheets.get_range_values('Список группы!A3:G') for row in values: if row[6] == name: say(user_id, '🔢 Твой вариант — №%s!' % (row[0])) return say( user_id, '❗ В группе не числится студент с фамилией %s! Может, ты сидишь под псевдонимом? ' 'В таком случае напиши «моя фамилия Х», и я запомню твой псевдоним.' % (name))
def get_schedule_for_day(day, denom): #sheets.acquire_auth() offset = 2 if denom else 0 values = sheets.get_range_values('Расписание!A4:H28') processing = False schedule = [] row_i = 0 for row in values: if processing: row_i += 1 if len(row) == 0: continue if (row[0].startswith('wd')): if (row[0] == 'wd%d' % (day)): processing = True else: if processing: processing = False break continue if processing: if row[1 + offset] != '': schedule.append((row_i, row[1 + offset], row[5], row[6])) return schedule
def get_class_index(time): schedule = sheets.get_range_values('Расписание!E39:G44') for row in schedule: if time == row[1]: return int(row[0]) return None