Skip to content

Instantly share code, notes, and snippets.

View peketamin's full-sized avatar
🐔
Hello world!

Yuki Yokoyama peketamin

🐔
Hello world!
View GitHub Profile
@peketamin
peketamin / parse_aware_datetime.py
Last active March 15, 2018 12:15
parse_aware_datetime.py
from django.utils import timezone
from django.utils.dateparse import parse_datetime
def parse_aware_datetime(datetime_str):
"""see: https://stackoverflow.com/questions/8636760/parsing-a-datetime-string-into-a-django-datetimefield"""
ret = parse_datetime(datetime_str)
return timezone.make_aware(ret) if not timezone.is_aware(ret) else ret
@peketamin
peketamin / get_year_months_list.py
Last active March 6, 2018 05:29
get_year_months_list
import calendar
from datetime import datetime, timedelta
def get_year_months_list(start_date, end_date):
"""
>>> start, end = datetime(2017, 1, 31, 0, 0), datetime(2017, 3, 15, 0, 0)
>>> get_year_months_list(start, end)
[datetime.datetime(2017, 1, 1, 0, 0), datetime.datetime(2017, 2, 1, 0, 0), datetime.datetime(2017, 3, 1, 0, 0)]
"""
start_first_day = start_date.replace(day=1)
@peketamin
peketamin / want_source_code_documentation.md
Last active February 20, 2018 16:42
want_source_code_documentation.md

ソースコードドキュメンテーションツールを作りたい

参考: https://pycco-docs.github.io/pycco/

  • tree の結果をHTMLにして、各階層、各ファイル、ファイルの中の記述内容に対してメモできるツール。画像の埋め込めるように。
  • 2ペイン。左がツリー、右がdoc
  • 各ページ、各注釈はハイパーリンクを持つ

サーバー、クライアント型になると思う。 オリジナルのファイルをコピーして内包しつつ、各ノードごとのメタデータファイルを持つ。

@peketamin
peketamin / django_update_or_create.md
Created January 31, 2018 06:49
example: Django ORM udpate_or_create()
$ ls
a1/         a2/         db.sqlite3  manage.py*  mysite/
# -*- coding: utf-8 -*-
from __future__ import unicode_literals

from django.db import models
@peketamin
peketamin / django_orm_when_case_f_example.py
Created January 24, 2018 03:54
Django ORM: When, Case, F (keyword: zero division error)
from django.db.models import F, Case, When, FloatField
from myapp import models
md = models.MyModel.objects.filter(pk=3).annotate(pr=Case(When(price__gte=40., then=F('price') * 10), default=F('price') / 10, output_fields=FloatField())).first()
In [27]: md.price
Out[27]: 40.7424047560126
In [29]: md.pr
Out[29]: 407.424047560126
@peketamin
peketamin / celery_sample.py
Last active November 29, 2017 03:09
reproduce celery worker lost error exitcode 155
import time
import sys
from celery import Celery
from celery.concurrency import asynpool
asynpool.PROC_ALIVE_TIMEOUT = 2
app = Celery(
'celery_sample',
)
@peketamin
peketamin / requests_and_bs4_encoding.md
Last active September 23, 2017 09:41
How to get encoding from html meta charset usigin BeautifulSoup components.
"""データベースモデル."""
import datetime
import peewee
from playhouse.pool import PooledMySQLDatabase
db = PooledMySQLDatabase(
'aozora_bunko',
max_connections=8,
stale_timeout=10,
@peketamin
peketamin / ViewController.swift
Last active August 5, 2017 10:00
TwitterKit TWTRComposer embed link example and facebook compose message
import UIKit
import TwitterKit
import FBSDKShareKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
}
@peketamin
peketamin / guard_empty_strings.swift
Created August 4, 2017 16:27
guard_empty_strings.swift
guard !title.isEmpty, !body.isEmpty, !url.isEmpty else {
return
}