2019年5月10日金曜日

「譲り合い」について

車や自転車を運転していて「譲り合い」が発生する際に、 いくつかの状態があるのだと、今更ながら考えてしまった。

  1. 譲りたい、譲ります。

    こうありたい。

  2. 譲って欲しい、譲られたい。

    今は良いけど、さらに年齢を重ねると、ヤバいかも。

  3. 譲れ、譲られるのが当然だ。

    戒めたい。

  4. 譲らないのなら、考えがある。

    絶対、ダメだろう。

自分はどんな状態で車や自転車に乗ってるだろうか。 ケースバイケースというのも、マズそうだ。

更に年齢を重ねても、 素直にブレーキ操作が出来るようにするには、1を心掛けたいと思う。 でないと、意識の外でアクセル側の操作をしてしまうかもしれない。

先日の大津の事故報道を聴いていて、特殊な気分になったのかもしれない。

とある1日、

  • 自転車で2車線道路の左端を走行中、右からライトバンが出てきて併走状態 になった。その車は、左折のためにノーズを自転車前方に被せてきて、左折 させろと迫ってきた。某有名製薬会社の社名が見えた。
  • 横断歩道を青で渡っていたら、右折車が目の前を、ゆっくり、横切ってゆく。 ドライバーは、白髪の老婦人で、右手を上げて、満面の笑顔だった。
  • 全方向一時停止の信号の無い十字路で、自分が自転車歩行者もあり。そこに 阪○○○シーが一時停車もせず、歩行者の前を右折していった。

こんなことは、自転車に乘ってればよくあることで、 感情的になれば、1 でいられなくなる。

が、企業名しょってるのに、と思ってしまう自分が情けない。

いつだったか、日○警○の車が、 信号のない横断歩道で、 前方信号が赤なのに、 待っている小学生をずっと凝視しながら、 徐行で通過していった。 まあ、これはテロリスト対策で、 停止しないように社内で定められているにちがいない。

ああ我、浅ましきかな。
省みれたので、良しとするか。

2019年5月6日月曜日

pythonでicalendarを試してみた(parseだけ)

khal のコマンド作成の スクリプトを作ってはみたが、登録が重複するのはまずいので、 登録済かどうか確認するのに、 icalendar を使ってみた。

khal は ローカルにファイルを保管していてサーバとのやり取りは無いので、 やってみる気になった。しかも、parseだけ出来ればよいので。

#!~/.pyenv/shims/python
"""Read and Check ical data file."""

from __future__ import unicode_literals

import sys
import logging
from pathlib import Path

import logzero
from icalendar import Calendar


def parse_icalfile(f_path, ride_log):
    """Parse icalendar file."""
    cal_fobj = open(f_path, 'rb')
    k_calen = Calendar.from_ical(cal_fobj.read())
    cal_fobj.close()
    for cal_ev in k_calen.walk():
        if cal_ev.name == 'VEVENT':
            start_year = cal_ev.get('dtstart').dt.strftime("%Y")
            ride_log[start_year].append(k_calen)

    return ride_log


def sel_event_list(ride_log, t_day):
    """Select events by target date character."""
    event_list = []
    for ical_obj in ride_log[t_day[0:4]]:
        for cal_ev in ical_obj.walk():
            if cal_ev.name == 'VEVENT':
                summary = cal_ev.get('summary', default='None')
                descrip = cal_ev.get('description', default='None')
                start_dt = cal_ev.get('dtstart').dt
                end_dt = cal_ev.get('dtend').dt
                event_item = "{0:s}{1:s}:{2:s}({3:s})".format(
                    start_dt.strftime("%Y%m%d%H%M"),
                    end_dt.strftime("%m%d%H%M"), summary, descrip[0:20]
                )
                event_list.append(event_item)

    logzero.logger.info("- All entry {0:s}".format(t_day[0:4]))
    for s_str in sorted(event_list):
        logzero.logger.info(s_str)

    c_event = [e for e in sorted(event_list) if e[0:len(t_day)] == t_day]

    return sorted(c_event)


def main():
    """Do main prcess."""
    #
    khal_dir = Path.home() / "Documents/ownCloud/caldav/bikes/"

    ride_log = {
        "2016": [], "2017": [], "2018": [], "2019": [], "2020": []
    }

    for f_path in khal_dir.glob('*'):
        ride_log = parse_icalfile(f_path, ride_log)

    t_date = '20190412'

    target_ev_list = sel_event_list(ride_log, t_date)

    if target_ev_list == []:
        logzero.logger.info("- No entry on {0:s}".format(t_date))
    else:
        logzero.logger.info("- target {0:s}".format(t_date))
        for mes_str in target_ev_list:
            logzero.logger.info("  {0:s}".format(mes_str))


if __name__ == "__main__":

    LOG_FORMAT = "%(color)s[%(module)s:%(lineno)d]%(end_color)s %(message)s"
    FORMATTER = logzero.LogFormatter(fmt=LOG_FORMAT)
    logzero.setup_default_logger(formatter=FORMATTER)
    logzero.loglevel(logging.INFO)
    logzero.logfile("./_logs/log.log", maxBytes=3e5, backupCount=3)

    main()
    sys.exit()
#

まずまずなのだが、 登録済確認をスクリプト内で出来れば良いのだが、 私には無理なので、目視確認とした。

gpxのログを読み込んで、その概要を掃き出すスクリプトを改造して、 khalコマンドとicalendarの作成と併せて、確認させてみた結果の例が以下。

# Check 015: 2019-04-26 09.10.03 Day.gpx
- time (2019-04-26 09:10:03 JST) - (2019-04-26 16:30:22 JST)
- trip 101.0km(382 + (stop 58)min) ave. 15.9km/hr u/d(495.9/551.6)
- farthest 32.9km SE

    $ khal new -a bikes 20190426 09:10 440m ride 101.0k SE32k :: 奈良県天理市

- Bike event 20190426
  20190426091004261630:ride 101.0k SE32k(奈良県天理市 by gpl2cal.py)

# Check 016: 2019-05-03 17.48.26 Day.gpx
- time (2019-05-03 07:53:35 JST) - (2019-05-03 17:47:44 JST)
- trip 147.6km(493 + (stop 64)min) ave. 18.0km/hr u/d(739.2/693.1)
- farthest 53.5km EE

    $ khal new -a bikes 20190503 07:53 557m ride 147.6k EE53k :: 滋賀県東近江市

- Bike event 20190503
  None

コンソール上のコピペで作業ができるので良しとする。

麻のボディタオル

2018年の秋(まだ、自転車を封印してない)、 近江上布伝統産業会館 で、興味からボディタオルを購入した。 お、よかった。: 自然派パン工房 ふるさとの道 ほぼ毎日風呂で使ってきて、ついに寿命がきたようだ。 お店の方に、「糸が痩せて破れてくる」まで使える、と...