Example #1
0
def midnight_tweet(param):
    if param and '/' in param:
        splitted = param.split('/')
        month = splitted[0]
        day = splitted[1].split('#')[0]
    else:
        now = datetime.now(timezone(timedelta(hours=9))) # JST current time
        month = str(now.month)
        day = str(now.day)
    month_day_str = month+'月'+day+'日'
    content = wikipedia.get_content_wiki('Wikipedia:今日は何の日_'+month+'月')
    content = content[re.search(r'^==\s*\[\['+month_day_str+'\]\]\s*==$', content, re.MULTILINE).end():]
    next_header = re.search(r'^==[^=]', content, re.MULTILINE)
    if next_header:
        content = content[:next_header.start()]
    items = re.findall(r'^\*.*$', content, re.MULTILINE)
    choice = wikipedia.strip_wiki_notation(items[random.randint(0, len(items)-1) if not param or '#' not in param else int(param.split('#')[1])])
    year_match = re.search(r'(\(|()([0-90-9]*?年).*(\)|))\s*$',choice)
    if year_match:
        year = year_match.group(2)
        event = choice[:year_match.start()]
    else:
        year = None
        event = choice
    
    summary = summarize_today(event, year)
    return Template('よるほー。明けて本日${date}は、${year}${summary} ${url}' ).substitute({
        'date':month_day_str,
        'year':year+'に' if year else '',
        'url':wikipedia.get_article_url(month_day_str),
        'summary':summary})
Example #2
0
def random_tweet(param):
    if param:
        item, content = (param, wikipedia.get_content_wiki(param))
    else:
        item, content = wikipedia.get_random_content_wiki()
    return Template('「${item}」 ${url} ${summary}' ).substitute({
        'item':item,
        'url':wikipedia.get_article_url(item),
        'summary':summarize(wikipedia.strip_wiki_notation(content))})
Example #3
0
def noon_tweet(param):
    wiki_link_pattern = re.compile(r'\[\[(.*?)\]\]')

    featured_wiki = wikipedia.get_content_wiki('Wikipedia:秀逸な記事')
    articles = wiki_link_pattern.findall(featured_wiki[featured_wiki.find('== 秀逸な記事 =='):featured_wiki.rfind('== 関連項目 ==')])
    good_beginning = len(articles)
    good_wiki = wikipedia.get_content_wiki('Wikipedia:良質な記事/リスト')
    articles.extend(wiki_link_pattern.findall(good_wiki[good_wiki.find('=== 総記 ==='):]))
    if param:
        i = int(param.split('#')[1])
    else:
        i = random.randint(0, len(articles)-1)

    item = articles[i]
    return Template('お昼ですよー。${featured_or_good}な記事を紹介しますね。「${item}」 ${url} ${summary}').substitute({
        'featured_or_good': '秀逸' if i<good_beginning else '良質',
        'item': item,
        'url': wikipedia.get_article_url(item),
        'summary': summarize(wikipedia.strip_wiki_notation(wikipedia.get_content_wiki(item)))})