Skip to content

Instantly share code, notes, and snippets.

@smd877
smd877 / sendMailSes.py
Created March 27, 2020 14:47
AWS LambdaでSESを使ってメールを送信
import os
import smtplib
from email.mime.text import MIMEText
def lambda_handler(event, context):
to_addr = event.get('to_addr')
subject = event.get('subject')
body = event.get('body')
msg = MIMEText(body)
msg['Subject'] = subject
@smd877
smd877 / CkeckBacklog.py
Created April 13, 2020 07:10
Backlogのチケット更新状況から、前日以降更新されて自社メンバーが担当になっているものをメールで通知する。
#coding: UTF-8
import os
import json
import boto3
import urllib.request, urllib.parse
from datetime import date, timedelta
SPACE_URL = os.environ['SPACE_URL']
API_URL = SPACE_URL + '/api/v2/issues?apiKey=' + os.environ['API_KEY']
@smd877
smd877 / prepare_python_for_alexa.sh
Created April 27, 2020 09:58
Alexaスキル用のPython環境用意するためのスクリプト
#!/bin/sh
yum update -y
yum -y groupinstall "Development Tools"
yum -y install openssl-devel bzip2-devel readline-devel sqlite-devel libffi-devel
git clone https://github.com/yyuu/pyenv.git /opt/pyenv
echo 'export PYENV_ROOT="/opt/pyenv"' >> /root/.bash_profile
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> /root/.bash_profile
echo 'eval "$(pyenv init -)"' >> /root/.bash_profile
source /root/.bash_profile
pyenv install 3.8.2
@smd877
smd877 / setup_eccube_command
Created August 24, 2020 02:49
AWSのEC2にEC-CUBEをインストールする
yum update -y
amazon-linux-extras install -y lamp-mariadb10.2-php7.2
yum install -y mariadb-server
yum install -y httpd php php-xml php-mbstring php-zip php-intl
cd /usr/local/src/
wget http://downloads.ec-cube.net/src/eccube-4.0.4.zip
unzip eccube-4.0.4.zip
mv eccube-4.0.4 /var/www/html/ec
chown -R apache:apache /var/www/html/
echo -e '<Directory "/var/www/html/ec">\n AllowOverride All\n</Directory>' > /etc/httpd/conf.d/ec.conf
@smd877
smd877 / df_check_py2.py
Created October 27, 2020 13:51
Python2系でdateコマンドの結果をbacklogのチケットコメントに投稿するサンプル
import subprocess
import urllib, urllib2
DOMAIN = 'https://[スペースID].backlog.jp'
API_KEY = '[APIキー]'
TICKET_ID = '[チケットID]'
API_URL = DOMAIN + '/api/v2/issues/' + TICKET_ID + '/comments?apiKey=' + API_KEY
contents = {
'content' : subprocess.check_output("date")
@smd877
smd877 / df_check_py3.py
Created October 27, 2020 13:56
Python3系でdateコマンドの結果をbacklogのチケットコメントに投稿するサンプル
import subprocess
import urllib.request, urllib.parse
DOMAIN = 'https://[スペースID].backlog.jp'
API_KEY = '[APIキー]'
TICKET_ID = '[チケットID]'
API_URL = DOMAIN + '/api/v2/issues/' + TICKET_ID + '/comments?apiKey=' + API_KEY
contents = {
'content' : subprocess.check_output("date").decode()
@smd877
smd877 / slack-fileup.sh
Created January 13, 2021 09:23
Slackにファイルアップロードするシェルスクリプト(送信チャンネルとトークンは環境変数に入れておく)
#!/bin/sh
if [ $# -ne 1 ]; then
echo "Params error."
exit 1
fi
curl -F file=@$1 -F channels=$POST_SLACK_CHANNEL_ID -H "Authorization: Bearer $POST_SLACK_TOKEN_ID" https://slack.com/api/files.upload
@smd877
smd877 / HatchMsgCheck.py
Last active January 14, 2021 04:12
OpenCVを使ってビデオキャプチャの画像が指定の画像と類似するか
import cv2
import numpy as np
# 環境で変わると思うので変数として持つ
DEVICE_ID = 0
# 高さ40幅120の切り取り画像の要素のうち一致している許容値
THRESHOLD = 4600
# 比較用画像を読み込み二値化しておく
hook_img = cv2.imread('hook.jpg', 0)
@smd877
smd877 / AbilityOcrCheck.py
Last active January 14, 2021 04:11
OpenCVとTesseractを使ってポケモンの特性を文字認識する
import cv2
from tesserocr import PyTessBaseAPI, PSM
from PIL import Image
# 環境で変わると思うので変数として持つ
DEVICE_ID = 0
# キャプチャの読み込み
cap = cv2.VideoCapture(DEVICE_ID)
# デフォルトの640x480だと文字認識で粗さがネックになるのでフルHDにしておく
@smd877
smd877 / slack-post.py
Created January 29, 2021 14:18
Python3系でSlackにメッセージをポストするサンプル
import os
import urllib.request, urllib.parse
MESSAGE = 'sample message.'
POST_SLACK_TOKEN_ID = os.environ.get('POST_SLACK_TOKEN_ID')
POST_SLACK_CHANNEL_ID = os.environ.get('POST_SLACK_CHANNEL_ID')
URL = 'https://slack.com/api/chat.postMessage'
headers = {
'Authorization': 'Bearer ' + POST_SLACK_TOKEN_ID