Example #1
0
    parser.add_argument('-f', '--facility', type=int, help='Facility id')
    parser.add_argument('-c', '--channel', type=str, help='Slack channel')
    parser.add_argument('-n', '--username', type=str, help='Slack username')
    parser.add_argument('-e', '--emoji', type=str, help='Slack icon_emoji')
    parser.add_argument(
        '-d', '--date',
        type=lambda x: datetime.datetime.strptime(x, '%Y-%m-%d'),
        help='Target date YYYY-mm-dd')
    parser.set_defaults(date=datetime.datetime.now())

    args = parser.parse_args()
    f = lambda x: not any(x) or all(x)
    if f((args.user, args.facility)):
        parser.print_help()
        sys.exit(1)

    for key in ('username', 'emoji', 'channel'):
        if getattr(args, key):
            conf.settings['slack'][key] = getattr(args, key)

    if args.user:
        xml = api.get_user_schedule(date=args.date, user_id=args.user)
        with_facility = True
    else:
        xml = api.get_facility_schedule(date=args.date, facility_id=args.facility)
        with_facility = False

    slack.send('', '\n\n'.join((
        fmt.date(args.date),
        fmt.events(schedule.find_events(xml), with_facility))))
Example #2
0
        '--datetime',
        type=lambda x: datetime.datetime.strptime(x, '%Y-%m-%d %H:%M'),
        help='Target datetime YYYY-mm-dd HH:MM')
    parser.set_defaults(datetime=datetime.datetime.now() +
                        datetime.timedelta(minutes=10))

    args = parser.parse_args()
    f = lambda x: not any(x) or all(x)
    if f((args.user, args.facility)):
        parser.print_help()
        sys.exit(1)

    for key in ('username', 'emoji', 'channel'):
        if getattr(args, key):
            conf.settings['slack'][key] = getattr(args, key)

    if args.user:
        xml = api.get_user_schedule(date=args.datetime, user_id=args.user)
        with_facility = True
    else:
        xml = api.get_facility_schedule(date=args.datetime,
                                        facility_id=args.facility)
        with_facility = False

    events = [
        fmt.event(x, with_facility) for x in schedule.find_events(xml)
        if x.period[0] == fmt.hm(args.datetime)
    ]
    if events:
        slack.send(u'10分後にイベントがあります', '\n\n'.join(events))
Example #3
0
    parser.add_argument('-c', '--channel', type=str, help='Slack channel')
    parser.add_argument('-n', '--username', type=str, help='Slack username')
    parser.add_argument('-e', '--emoji', type=str, help='Slack icon_emoji')
    parser.add_argument(
        '-d', '--datetime',
        type=lambda x: datetime.datetime.strptime(x, '%Y-%m-%d %H:%M'),
        help='Target datetime YYYY-mm-dd HH:MM')
    parser.set_defaults(datetime=datetime.datetime.now()+datetime.timedelta(minutes=10))

    args = parser.parse_args()
    f = lambda x: not any(x) or all(x)
    if f((args.user, args.facility)):
        parser.print_help()
        sys.exit(1)

    for key in ('username', 'emoji', 'channel'):
        if getattr(args, key):
            conf.settings['slack'][key] = getattr(args, key)

    if args.user:
        xml = api.get_user_schedule(date=args.datetime, user_id=args.user)
        with_facility = True
    else:
        xml = api.get_facility_schedule(date=args.datetime, facility_id=args.facility)
        with_facility = False

    events = [fmt.event(x, with_facility) for x in schedule.find_events(xml)
              if x.period[0] == fmt.hm(args.datetime)]
    if events:
        slack.send(u'10分後にイベントがあります', '\n\n'.join(events))