def getMenu(today): day = today.weekday() is_this_week = lambda date: datetime.strptime( date, '%Y-%m-%dT%H:%M:%S%z').date() > today.date() - timedelta(days=7) is_today = lambda date: datetime.strptime(date, '%Y-%m-%dT%H:%M:%S%z' ).date() == today.date() ignore_hashtags = lambda post: " ".join(word.lower() for word in post.split() if word[0] != "#") daily_menu_filter = lambda post: is_today(post['created_time']) \ and "menü" in post['message'].lower() weekly_menu_filter = lambda post: is_this_week(post['created_time']) \ and days_lower[day] in ignore_hashtags(post['message']) weekly_menu = get_filtered_fb_post(FB_ID, weekly_menu_filter) if weekly_menu: menu = pattern_slice( weekly_menu.splitlines(), [days_lower[day]], days_lower + ["sütiket", "#", "jó étvágyat", "mai menü"]) else: menu_post = get_filtered_fb_post(FB_ID, daily_menu_filter).splitlines() menu = [] for i, line in enumerate(menu_post): if "A:" in line: menu = list((menu_post[i - 1], menu_post[i], menu_post[i + 1])) break return menu
def getMenu(today): is_this_week = lambda date: datetime.strptime(date, '%Y-%m-%dT%H:%M:%S%z').date() > today.date() - timedelta(days=7) menu_filter = lambda post: is_this_week(post['created_time']) and sum(day in post['message'].lower() for day in days_lower) >= 2 menu = get_filtered_fb_post(FB_ID, menu_filter) menu = pattern_slice(menu.splitlines(), [days_lower[today.weekday()]], days_lower + ["desszert"], inclusive=False) menu = skip_empty_lines(menu) return list(menu)
def get_menu(today): fbfilter = lambda post: fb_filter(post, today) menu = get_filtered_fb_post(FB_ID, fbfilter) drop_words = ["ajánlatunk"] menu = filter( lambda line: not any(word in line.lower() for word in drop_words), menu.splitlines()) return menu
def get_menu(today): is_today = lambda date: datetime.strptime(date, '%Y-%m-%dT%H:%M:%S%z').date() == today.date() menu_heuristic = lambda msg: msg.count(':') + msg.count('+') >= 3 menu_filter = lambda post: is_today(post['created_time']) and menu_heuristic(post['message']) menu = get_filtered_fb_post(FB_ID, menu_filter).splitlines() drop = lambda l: l.strip().endswith((':', '!', '.', ',')) for i in (n for n in (0, -1) if menu and drop(menu[n])): menu.pop(i) return menu
def get_menu(today): is_today = lambda date: datetime.strptime(date, '%Y-%m-%dT%H:%M:%S%z' ).date() == today.date() menu_filter = lambda post: is_today(post[ 'created_time']) and "menü" in post['message'].lower() menu = get_filtered_fb_post(FB_ID, menu_filter).splitlines() menu = list( skip_empty_lines(line.strip() for line in menu if "menü" not in line.lower())) return menu
def get_menu(today): is_this_week = lambda date: datetime.strptime( date, '%Y-%m-%dT%H:%M:%S%z').date() >= today.date() - timedelta(days=7) menu_filter = lambda post: is_this_week(post[ 'created_time']) and "jelmagyarázat" in post['message'].lower() menu = get_filtered_fb_post(FB_ID, menu_filter) menu = pattern_slice(menu.splitlines(), [days_lower[today.weekday()]], days_lower, inclusive=False) return menu
def get_menu(today): is_today = lambda date: datetime.strptime(date, '%Y-%m-%dT%H:%M:%S%z' ).date() == today.date() menu_filter = lambda post: is_today(post[ 'created_time']) and "mai menü" in post['message'].lower() menu = get_filtered_fb_post(FB_ID, menu_filter) drop_words = ["mai menünk", "jó étvágyat"] menu = skip_empty_lines( filter(lambda l: not any(word in l.lower() for word in drop_words), menu.splitlines())) return list(menu)
def get_menu(today): is_this_week = lambda date: datetime.strptime(date, '%Y-%m-%dT%H:%M:%S%z').date() >= today.date() - timedelta(days=7) menu_filter = lambda post: is_this_week(post['created_time']) and days_lower[today.weekday()] in post['message'].lower() menu = get_filtered_fb_post(FB_ID, menu_filter) menu = pattern_slice(menu.splitlines(), [days_lower[today.weekday()]], days_lower, inclusive=True) menulist = [] for line in menu: line = line.split(":", maxsplit=1)[1] if ':' in line else line menulist.append(line) return menulist
def get_menu(today): is_today = lambda date: datetime.strptime(date, '%Y-%m-%dT%H:%M:%S%z' ).date() == today.date() menu_filter = lambda post: is_today(post['created_time']) and \ any(word in post['message'].lower() for word in ["ebédmenü", "ebéd menü", "mai menü", "déli menü", "mai ebéd", "ajánlat"]) menu = get_filtered_fb_post(FB_ID, menu_filter) drop_words = ["ajánlat", "tacskó", "ebéd", "menü", "="] menu = list( skip_empty_lines( filter(lambda l: not any(word in l.lower() for word in drop_words), menu.splitlines()))) return menu
def getMenu(today): is_this_week = lambda date: datetime.strptime( date, '%Y-%m-%dT%H:%M:%S%z').date() > today.date() - timedelta(days=7) menu_filter = lambda post: is_this_week(post['created_time']) and sum( day in post['message'].lower() for day in days_lower) >= 2 menu = get_filtered_fb_post(FB_ID, menu_filter) menu = menu.replace("•", "\n") menu = pattern_slice(menu.splitlines(), [days_lower[today.weekday()]], days_lower + ["wolt", "ez is budai", "nyitva", "rendelj"], inclusive=True) return menu
def getMenu(today): is_today = lambda date: datetime.strptime(date, '%Y-%m-%dT%H:%M:%S%z' ).date() == today.date() menu_keywords = ["chef", "ajánlat", "1490", "1390", ",-", ".-", "ára"] menu_filter = lambda post: is_today(post['created_time']) and any( word in post['message'].lower() for word in menu_keywords) menu = get_filtered_fb_post(FB_ID, menu_filter) menu = (line for line in menu.splitlines() if not any(word in line.lower() for word in menu_keywords)) return menu
def getMenu(today): is_today = lambda date: datetime.strptime(date, '%Y-%m-%dT%H:%M:%S%z' ).date() == today.date() menu_keywords = ["mai menü", "napi menü", days_lower[today.weekday()]] menu_filter = lambda post: is_today(post['created_time']) and any( word in post['message'].lower() for word in menu_keywords) menu = get_filtered_fb_post(FB_ID, menu_filter) drop_words = [ "11:00", "1590", "mindenkit", "minden menü", "étlapunk", "csodás", days_lower[today.weekday()] ] menu = (line for line in menu.splitlines() if not any(word in line.lower() for word in drop_words)) return list(skip_empty_lines(menu))
def getMenu(today): is_this_week = lambda date: datetime.strptime( date, '%Y-%m-%dT%H:%M:%S%z').date() > today.date() - timedelta(days=7) menu_filter = lambda post: is_this_week(post['created_time']) and \ any(word in post['message'].lower() for word in ["lunch menü ", "business lunch", "előételek", "déli menü", "heti menü", "menünk"]) menu = get_filtered_fb_post(FB_ID, menu_filter) drop_words = [ "előételek", "főételek", "desszer", "étvágy", "menü", "lunch", str(today.year) ] menu = skip_empty_lines( filter(lambda l: not any(word in l.lower() for word in drop_words), menu.splitlines())) menu = pattern_slice(menu, [""], ["---", "broth", "soup"], inclusive=True) return list(menu)
def get_menu(today): is_today = lambda date: datetime.strptime(date, '%Y-%m-%dT%H:%M:%S%z' ).date() == today.date() menu_words = ["mai menü", "napi menü"] menu_filter = lambda post: is_today(post['created_time']) and any( word in post['message'].lower() for word in menu_words) menu = get_filtered_fb_post(FB_ID, menu_filter) if menu: drop_words = [ "#", "mai menü", "napi menü", '"', "hétvég", "590", "...", "!", "“" ] menu = filter( lambda l: not any(word in l.lower() for word in drop_words), menu.splitlines()) return list(skip_empty_lines(menu)) else: return []
def getMenu(today): is_this_week = lambda date: datetime.strptime( date, '%Y-%m-%dT%H:%M:%S%z').date() > today.date() - timedelta(days=7) is_today = lambda date: datetime.strptime(date, '%Y-%m-%dT%H:%M:%S%z' ).date() == today.date() menu_filter = lambda post: (is_this_week(post['created_time']) and days_lower[today.weekday()] in post['message'].lower() and "asztalfoglalás" not in post['message'].lower()) \ or ("menü" in post['message'].lower() and is_today(post['created_time']) and "asztalfoglalás" not in post['message'].lower()) menu = get_filtered_fb_post(FB_ID, menu_filter) menu = pattern_slice(menu.splitlines(), [days_lower[today.weekday()], "mai", "menü"], days_lower + ["ár:"]) return list(skip_empty_lines(menu))
def get_menu(today): fbfilter = lambda post: fb_filter(post, today) menu = get_filtered_fb_post(FB_ID, fbfilter) menu = pattern_slice(menu.splitlines(), ["holnapi"], ["tomorrow"]) return menu
def getMenu(today): is_today = lambda date: dt.strptime(date, '%Y-%m-%dT%H:%M:%S%z').date() == today.date() menu_filter = lambda post: is_today(post['created_time']) and "leveseink" in post['message'].lower() dailymenu = get_filtered_fb_post(FB_ID, menu_filter) menu = [line for line in dailymenu.splitlines() if line.strip().startswith('-')] return menu