Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # print weeknum, monday-sunday str
- # like: 19w36(190902-190908)
- import datetime
- import argparse
- parser = argparse.ArgumentParser()
- parser.add_argument('--scrapbox' ,action='store_true') #for scrapbox text
- parser.add_argument('--name') #for scrapbox text
- args = parser.parse_args()
- # args.scrapbox
- def yymmdd(dayobj):
- retstr = '%02d%02d%02d' % (dayobj.year % 100, dayobj.month, dayobj.day)
- return retstr
- def yymmdd_wday(dayobj):
- list_wday = ['Mon','Tue','Wed','Thu','Fri','Sat','Sun']
- wday = list_wday[dayobj.weekday()]
- retstr = '%02d%02d%02d(%s)' % (dayobj.year % 100, dayobj.month, dayobj.day, wday)
- return retstr
- def yy_wnum(dayobj):
- # dayobj.isocalendar(): returns iso-year, iso-wnum etc.
- # 'iso-year' 'iso-wnum' means
- # which calendar year/week the day belongs to.
- (calyear,calweek) = dayobj.isocalendar()[0:2]
- retstr = '%02dw%02d' % (calyear % 100, calweek)
- return retstr
- def weekstr(monday):
- # 190902-190908
- # iso weeknum counts Thursday
- sunday = monday + datetime.timedelta(days=6)
- retstr = '%s(%s-%s)' % (yy_wnum(monday), yymmdd(monday),yymmdd(sunday))
- if(args.name):
- retstr = args.name + '-' + retstr
- return retstr
- def monday_thru_friday(monday):
- list_weekdays = [monday]
- list_outstr = []
- for i in range(1,5):# 1,2,3,4
- theday = monday + datetime.timedelta(days=i)
- list_weekdays.append(theday)
- for day in list_weekdays:
- list_outstr.append(yymmdd_wday(day))
- return list_outstr
- today = datetime.date.today()
- # isocalendar() works:
- # see 2018/12/31 is 2019-w1, not 2018-w52
- #today = datetime.date(2018,12,31)
- # need to determine 'Monday of the week'
- # 0:Monday
- # Monday = today - day_of_wk
- day_of_wk = today.weekday()
- # determine Monday and Sunday
- monday = today - datetime.timedelta(days=day_of_wk)
- out_title = weekstr(monday)
- print(out_title)
- if(args.scrapbox):
- # 来週・先週へのリンク
- last_monday = monday - datetime.timedelta(days=7)
- next_monday = monday + datetime.timedelta(days=7)
- # 7 days from this monday
- # link to next/last
- print ("last < ["+weekstr(last_monday) + "] ["+weekstr(next_monday) + "] > next")
- wdaylist = monday_thru_friday(monday)
- wdaylist.reverse()
- for wdaystr in wdaylist:
- print("[*** " + wdaystr + "]")
- if args.name:
- print("#" + args.name)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement