Skip to content

Instantly share code, notes, and snippets.

View shimizukawa's full-sized avatar

Takayuki SHIMIZUKAWA shimizukawa

View GitHub Profile
@shimizukawa
shimizukawa / README.rst
Last active May 25, 2023 21:18
20230526-0500-redmine-maintenance

リリース手順再掲

  • 旧Redmineをサービス停止(systemctlで止める)
  • RDSスナップショット作成(aws console手動)
  • 新RedmineのDB参照を本番に切り替え(Ansible実行)
  • DNS切り替え(事前にTTLを下げておく)
  • 軽く動作検証

手順詳細

@shimizukawa
shimizukawa / console.log
Last active April 15, 2021 22:44
Flaskのhttpポートにhttps通信したときのログ
(venv) $ FLASK_APP=run.py flask run
* Serving Flask app "run.py"
* Environment: production
WARNING: This is a development server. Do not use it in a production deployment.
Use a production WSGI server instead.
* Debug mode: off
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
## ここから http://localhost:5000/ でアクセスしたログ
from pathlib import Path
import dataclasses
import typing
import re
import ebooklib
from ebooklib import epub
import html2text
import m2r
@shimizukawa
shimizukawa / converter.py
Created February 16, 2020 20:49
EPUBをSphinxソースに変換する
import pathlib
import dataclasses
import typing
import re
import ebooklib
from ebooklib import epub
import html2text
import m2r
@shimizukawa
shimizukawa / convert.py
Last active December 8, 2019 18:38
Export Feedly tagged URLs into Scrapbox style text
"""
Export Feedly tagged URLs into Scrapbox style text
https://scrapbox.io/shimizukawa/Feedly_API%E3%81%A7%E3%83%87%E3%83%BC%E3%82%BF%E3%82%92%E5%8F%96%E5%BE%97%E3%81%99%E3%82%8B
"""
import os
import re
from pprint import pprint
from datetime import datetime
import webbrowser
@shimizukawa
shimizukawa / beer-analysis-shimizukawa-sample.ipynb
Last active September 27, 2018 23:31
クラフトビールの傾向をデータ分析(サンプル) https://www.kaggle.com/nickhould/craft-cans#beers.csv
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
X-Received: by 2002:a63:4450:: with SMTP id t16-v6mr1789883pgk.102.1533198484498; Thu, 02 Aug 2018 01:28:04 -0700 (PDT)
MIME-Version: 1.0
Received: by 2002:a17:90a:c682:0:0:0:0 with HTTP; Thu, 2 Aug 2018 01:28:04 -0700 (PDT)
From: "坪野 公実Tsubono Kumi" <[email protected]>
Date: Thu, 2 Aug 2018 17:28:04 +0900
Message-ID: <CAJ3fbQz+d_i0uDHG4LTiymo9XHwbBCrJOR+q9h0AL5UtfEg2mg@mail.gmail.com>
Subject: スカウトさせて頂きます-Githubアカウントより
To: [email protected]
Shimizukawa Takayuki様

http://nao-y.hatenablog.com/entry/2018/08/01/231336 のコードではまった原因

Pythonでは import したモジュールはキャッシュされ、もう一度 import してもインポート処理は省略され、キャッシュが使われる

  • このため、 import_module 関数を使っても import 文を使っても、 fortune.py は1回しか実行されない
  • blogでは、この問題回避のために reload を使っている
  • このgistのコードでは、import時のコード実行にたよらずに、main関数を用意し、テストからはこれを呼ぶことで明示的に実行している

このgistのテストコードでは、patchデコレータの引数を変えた版を用意した(test2.py)。 また、テストメソッドにはmock後のオブジェクトが渡されるため、引数に m を受け取るようにした。