python嫌い

slackでぶつくさ文句垂れてたら後輩が見つけてきた

なお、非 0 の十進数の先頭には 0 を付けられません。これは、Python がバージョン 3.0 以前に使っていた C 形式の八進リテラルとの曖昧さを回避するためです。

2. 字句解析 — Python 3.6.5 ドキュメント


その結果どうなるかっつーとだ、例えばこんな感じの修正が必要になるわけだ。
https://github.com/linsomniac/bottlesession/commit/b7587f938920778ace810998681d47bcf78aded8

-                old_umask = os.umask(077)
+                old_umask = os.umask(int('077', 8))


python2までは直感的だったものがpython3ではうんわからなくはないけどなんだこりゃみたいな。
そしてマニュアルには

os.umask(mask)
Set the current numeric umask and return the previous umask.

https://docs.python.org/3.6/library/os.html#os.umask


だからumaskの説明をちゃんと書けよこの野郎。なんでこんなのが流行ってるんだほんと...頭沸いてるとしか思えないんだがマジで。