Skip to content

Instantly share code, notes, and snippets.

@odoku
odoku / like_django_php_framework.php
Created March 29, 2012 08:02
DjangoみたいなPHPフレームワークが欲しい。
<?php
//
// Routing.php
// ===========================================================================+
return urlpatterns(array(
url('^$', 'content.view.index', 'index'),
include_urlpatterns('^/friend/', 'content.urls', 'friend'),
));
@odoku
odoku / imagemagick.rb
Last active October 16, 2018 04:58
Homebrew Formula ImageMagick version 6.7.7-6.
# some credit to https://github.com/maddox/magick-installer
require 'formula'
def ghostscript_srsly?
build.include? 'with-ghostscript'
end
def ghostscript_fonts?
File.directory? "#{HOMEBREW_PREFIX}/share/ghostscript/fonts"
end
@odoku
odoku / fields.py
Created October 29, 2013 03:21
DjangoのForm用のフィールドクラス。 ハイフン毎にフィールドを分ける様な電話番号入力の時に使うと良いよ。
#-*-coding=utf8-*-
from django.utils.translation import ugettext_lazy as _
from django import forms
from django.forms.widgets import MultiWidget
class SplitPhoneNumberWidget(MultiWidget):
u"""
電話番号ウィジェット
[te1]-[te2]-[te3]みたいな感じで入力が出来るよ。
@odoku
odoku / debug_smtp.py
Created October 29, 2013 03:30
デバッグ用のSMTPサーバー。 起動すると送信したメールの内容がコンソールに出力されるよ。 日本語対応済。
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import smtpd
import asyncore
import email
from email.message import Message
from email.header import decode_header
from email.utils import parseaddr
from optparse import OptionParser
@odoku
odoku / models.py
Last active December 26, 2015 20:59
DjangoのModelForm拡張。 Metaにerror_messagsを書けるようにしたので、バリデーションエラー時に出力される文言を簡単に変更出来る。
#-*-coding=utf8-*-
from __future__ import absolute_import, unicode_literals
from django.utils import six
from django.forms.forms import get_declared_fields
from django.forms.models import BaseModelForm
from django.forms.widgets import media_property
from django.utils.datastructures import SortedDict
def fields_for_model(model, fields=None, exclude=None, widgets=None, error_messages=None, formfield_callback=None):
@odoku
odoku / discriptor.py
Last active December 31, 2015 01:09
Pythonのディスクリプタのサンプル。
class Thumb(object):
def __init__(self, path):
self.url = 'http://hoge.com' + path
self.path = path
class ThumbDiscriptor(object):
BASE_PATH = '/img/{0}/{0}_{1}.{2}'
def __init__(self, name):
self.name = name
@odoku
odoku / docker-install.sh
Last active August 18, 2016 12:21
ubuntu16.04用のdockerインストールスクリプト。
#!/bin/bash
sudo apt-get update
sudo apt-get install apt-transport-https ca-certificates
sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
sudo sh -c "echo 'deb https://apt.dockerproject.org/repo ubuntu-xenial main' > /etc/apt/sources.list.d/docker.list"
sudo apt-get update
sudo apt-get purge lxc-docker
@odoku
odoku / command.py
Created March 22, 2019 11:27
Abstract command wrapper for Python
import subprocess
class Command(object):
def __init__(self, *args, encode='utf8'):
self.encode = encode
self.args = args
def __repr__(self):
return '<Command({})>'.format(' '.join(self.args))
@odoku
odoku / multiproc.py
Created May 10, 2019 07:14
python - multi processing
import concurrent.futures
def wait():
print('Waiting')
for x in range(10 ** 100):
z = 10 + 20
print('Done')
@odoku
odoku / threading.py
Created May 10, 2019 07:16
python - threading
import concurrent.futures
def wait():
print('Waiting')
for x in range(10 ** 100):
z = 10 + 20
print('Done')