2011年05月31日

コーンバターラーメン

久々のコーンバターラーメン。
やっぱり美味しいな〜。

110531_ramen.jpg
posted by MINE at 16:49 | Comment(0) | TrackBack(0) | 御飯 & お酒 | このブログの読者になる | 更新情報をチェックする | edit

2011年05月30日

出張先の昼ご飯

いつもの店。
飛行機がなかなか飛ばなくて疲れた(´。`)

110530_hiru.jpg
posted by MINE at 12:47 | Comment(0) | TrackBack(0) | 御飯 & お酒 | このブログの読者になる | 更新情報をチェックする | edit

2011年05月24日

映画「阪急電車 片道15分の奇跡」感想

阪急電車ポスター

小説はまだ15ページくらいしか読んでないっちゅうのに、映画行くっていうので一緒に会社帰りに見てきた。

電車を軸に、人が絡み合っていく話。
なんだけど、いきなり俺が知ってる登場人物が出なくて、2人目からの絡みだった。
役者は演技が安定しているので、安心してみてられる。芦田愛菜、本当に上手いな。
宮本信子との絡みは、軽快でとてもよかった。
全体的に、ギャグはちょい少なめかな。

中谷美紀はとても良かった。

まー、映画としては面白い方だと思う。ただ、少し小説読んだ感じだと、枝葉がバッサリ切られて感覚を受けるので、小説の感覚が好きだとちょっと物足りない感じするかな。

阪急電車ってパンタグラフが4つなんだ!とか、結構どうでもいいところに感心する映画だった。

posted by MINE at 02:17 | Comment(0) | TrackBack(0) | 趣味 | このブログの読者になる | 更新情報をチェックする | edit

2011年05月22日

英国バーミンガムロイヤルバレエ団 「眠れる森の美女」 感想

眠れる森の美女

チャイコフスキー作曲のロシアの古典バレエ。

Prologuと3幕で、3時間(休憩あるから実質は2時間15分)。
チャイコフスキーはやっぱ恰好良い。
序奏からいきなり引き込まれ、カラボスの敵っぽい曲から、pas d’actionのAdagioといったハープが入る落ち着いた曲まで、幅広い曲が1つの舞台で演奏される。
前の小説や曲で使われたフレーズが形を変えて出てくると、ついニヤニヤしてしまうのも、主題が覚えやすいからだろうなぁ、と。

それにしても、プリマの佐久間奈緒の踊りがすげー良かった。
緩急とか回転とか緊張感とか、他の人とは群を抜いて違うなーと思って観てたら、この人プリンシパルだったのか。納得。

BRBは初めて観たけど、このクオリティで観れるなら、また次回も行ってみようかなと思わせる出来だった。

スタッフ

音楽:ピョートル・イリイチ・チャイコフスキー
振付:マリウス・プティパ、ピーター・ライト
演出:ピーター・ライト
衣裳・装置:フィリップ・プラウズ
照明:マーク・ジョナサン

国王フロレスタン二十四世:ドミニク・アントヌッチ
王妃:アンドレア・トレディニック
オーロラ姫:佐久間奈緒
フロリムンド王子:ツァオ・チー
カタラビュット(式典長):マイケル・オヘア
カラボス:サマラ・ダウンズ
リラの精:ジャオ・レイ

-プロローグ-
美しさの精:ヴィクトリア・マール
お付きの騎士:ロバート・グラヴノー
誇らしさの精:アンブラ・ヴァッロ
お付きの騎士:マティアス・ディングマン
謙虚さの精:レティシア・ロ・サルド
お付きの騎士:ジェームズ・バートン
歌の精:ローラ・パーキス
お付きの騎士:ベンジャミン・ソレル
激しさの精:キャロル=アン・ミラー
お付きの騎士:オリヴァー・ティル
喜びの精:セリーヌ・ギッテンス
お付きの騎士:トム・ロジャース
カラボスのお付きの騎士:ジョナサン・カグイオア、ファーガス・キャンベル、益子倭、ショーン・マクラフリン、クリストファー・ロジャース=ウィルソン、ルイス・ターナー
リラの精のお付き:アランチャ・バセルガ、ジェンナ・キャロル、ローラ・ダベンポート、淵上礼奈、ジェード・ヒューゼン、アビゲイル・ブルータムズ

-第1幕-
4人の王子:マシュー・ローレンス、ヴァレンティン・オロヴィヤンニコフ、ジョナサン・ペイン、トム・ロジャース
オーロラ姫の友人:ジェンナ・キャロル、ローラ・ダベンポート、淵上礼奈、ジェード・ヒューゼン、アビゲイル・ブルーダムズ、ローラ・パーキス
ガーランド:アランチャ・バゼルカ、ダスティ・バットン、セリーヌ・ギッテンス、レティシア・ロ・サルド、カリー・ロバーツ、ジャン・イジン、ジェームズ・バートン、エンガス・ホール、ロリー・マッケイ、タイロン・シングルトン、ナサナエル・スケルトン、オリヴァー・ティル

-第2幕-
伯爵夫人:カリー・ロバーツ
王子の側近:ジェームズ・バートン

-第3幕-
パ・ド・カトル:レティシア・ロ・サルド、ローラ・パーキス、ファーガス・キャンベル、オリヴァー・ティル
長靴をはいた猫と白い猫:ジョナサン・カグイオア、イヴェット・ナイト
青い鳥とフロリナ王女:マティアス・ディングマン、イヴェット・ナイト
赤ずきんと狼:アランチャ・バゼルガ、トム・ロジャース
グラン・パ・ド・ドゥ:佐久間奈緒、ツァオ・チー

指揮:フィリップ・エリス
演奏:東京シティ・フィルハーモニック管弦楽団
協力:東京バレエ団

posted by MINE at 22:57 | Comment(0) | TrackBack(0) | 趣味 | このブログの読者になる | 更新情報をチェックする | edit

2011年05月21日

英国バーミンガムロイヤルバレエ団「眠れる森の美女」

上野の東京文化会館で鑑賞。
チャイコフスキーの眠れる森の美女。

110521_bare.jpg
posted by MINE at 18:29 | Comment(0) | TrackBack(0) | 諸行無常 | このブログの読者になる | 更新情報をチェックする | edit

2011年05月16日

Seesaaの記事から編集画面を呼び出す

以前からSeesaa Blogをちょこっとカスタマイズして使っているのだが、デザインとかがVersion Upしたときに、何処を弄ったのか忘れちゃうのでメモっておく。

  1. デザイン→コンテンツ→記事をクリックする
  2. コンテンツHTML編集ボタンを押す
  3. 下記のように変更する
<% if:style.disp_category %>| <a href="<% article_category.page_url %>"><% article_category.name %></a><% /if %>

のようなコードがあるので、以下の1行を追加する。

<% if:style.disp_category %>| <a href="<% article_category.page_url %>"><% article_category.name %></a><% /if %>
| <a href="http://blog.seesaa.jp/cms/article/edit/input?id=<% article.id %>" target="_blank">edit</a>

やっていることは、「|」という文字と編集画面へのリンクを追加してている。

ちなみにどこに表示させるかによって変わる。上のコードはカテゴリの後について追加するパターンだが、「更新情報を表示する」ボタンの横の場合は、下記のコードの後に追加する。

| <a href="<% blog.fan_blog_reader_url %>" title="更新情報をチェックする"><img src="<% site_info.blog_url %>/img/fan_received.gif" alt="更新情報をチェックする" border="0" /></a>

改造結果

改造前
改造前の画像

改造後
改造後の画像

続きを読む
タグ:Seesaa
posted by MINE at 00:11 | Comment(0) | TrackBack(0) | Seesaaカスタマイズ | このブログの読者になる | 更新情報をチェックする | edit

2011年05月15日

活性純米吟醸 鮮

純米吟醸のシャンパン。

醸造元は、石川県の「松浦酒造」。

シャンパンらしく、シュワーっと染みる感じで入ってくる。

なかなか他の日本酒では無い感じのお酒。

原料米 山田錦
精米歩合 55%
価格 1,600円

鮮

posted by MINE at 16:49 | Comment(0) | TrackBack(0) | 日本酒 | このブログの読者になる | 更新情報をチェックする | edit

TOKAJI ASZU 2002 5 PUTTONYOS

世界3大貴腐ワインの一つであるハンガリーのトカイワイン。

品種 Furmint(フルミント)
産地 Hungary, Hegyalja, Tokaji
価格 4,000円位

前[記事]に飲んだのとは別のもので、ZEMPLEN HEGYHATという蔵元。
トカイ地方の尾根にちなんで名づけられたらしい。
ASZUは、貴腐ブドウと貴腐化していないブドウをそれぞれ一次発酵後にブレンドした貴腐ワインをそう呼ぶ。

TOKAIワイン

タグ:ワイン
posted by MINE at 16:41 | Comment(0) | TrackBack(0) | ワイン | このブログの読者になる | 更新情報をチェックする | edit

IronPythonでCSVを読み込む

IronPythonには、pythonのモジュールであるcsvモジュールが無い。
なので、VB.NetのCSVを扱うライブラリを使う。
以下は、UTF-8のtest.csvを読み込むときのコード。

Excelからcsvを保存するとShift-JISになるので、その時はGetEncodingを「Shift_JIS」に変えればよい。

1行ずつCSVを読むときのコード

#!/usr/bin/env python
# -*- coding: utf-8 -*-
#
from __future__ import print_function

import clr
clr.AddReferenceByPartialName('Microsoft.VisualBasic')
clr.AddReferenceByPartialName('mscorlib')
from Microsoft.VisualBasic.FileIO import *
from System.Text import *
	
if __name__ == "__main__":
	parser = TextFieldParser("test.csv",Encoding.GetEncoding("UTF-8"))
	parser.TextFieldType = FieldType.Delimited;
	parser.SetDelimiters(",");
	while parser.EndOfData == False:
		print(parser.ReadFields())

まとめてCSVを読むときのコード

#!/usr/bin/env python
# -*- coding: utf-8 -*-
#
from __future__ import print_function

import clr
clr.AddReferenceByPartialName('Microsoft.VisualBasic')
clr.AddReferenceByPartialName('mscorlib')
from Microsoft.VisualBasic.FileIO import *
from System.Text import *
	
if __name__ == "__main__":
	parser = TextFieldParser("test.csv",Encoding.GetEncoding("UTF-8"))
	parser.TextFieldType = FieldType.Delimited;
	parser.SetDelimiters(",");
	print(parser.ReadToEnd())
参考
  • TextFieldParser クラス[MSDN]
タグ:Python IronPython
posted by MINE at 00:25 | Comment(0) | TrackBack(0) | IronPython | このブログの読者になる | 更新情報をチェックする | edit

2011年05月12日

吟醸酒試飲会2011

会社を半休して行ってきました。
今回は夜の部が無く、昼間だけだから人が少ないかと思ったんだけど、そうでもなかった。

47都道府県全部を試飲したけど、日本海側の蔵元の方が好きな味だった。もうちょい色々と飲んで勉強したいところだ。

110512_sake.jpg110512_sake2.jpg
posted by MINE at 12:46 | Comment(0) | TrackBack(0) | 御飯 & お酒 | このブログの読者になる | 更新情報をチェックする | edit

2011年05月09日

IronPythonはPythonに比べてどれ位の速度なのか?

Python[記事]とIronPython[記事]で同じプログラム(っていっても微妙に違うけど)を作ってみたので、簡単に速度比較してみた。

519枚のBMP,JPG,PNGのファイルを圧縮するのを、6回ほど計測してみた。

回数\実装 Iron Python
単位:sec
CPython
単位:sec
1回目 45.94 23.17
2回目 45.84 23.21
3回目 45.81 23.21
4回目 45.61 23.02
5回目 45.64 23.05
6回目 46.00 23.46
平均 45.81 23.19

Google Chartで棒グラフにもしてみた。

IronPythonがダブルスコアで負けてる・・・。
遅すぎるぜ、IronPython。
関数単位でもうちょい解析してみるかなぁ。自分のコーディングがタコなのもあるのだろうし。

タグ:IronPython Python
posted by MINE at 00:11 | Comment(0) | TrackBack(0) | IronPython | このブログの読者になる | 更新情報をチェックする | edit

2011年05月08日

[IronPython] 画像の縦横比を見て回転させ縮小するプログラム Ver1

Python[記事]で書いていたが、Pythonのサイトに「IronPython has no GIL and multi-threaded code can use multi core processors 」と書いてあったので、ひとまず移植してみた。

勉強がてら、Python Imaging Libraryから.Netのライブラリに変更してみたんだけど、
移植して思うのはPILってよくできてるよな〜ってところ。
PILだと26行くらいで済んでたコードが、55行とほぼ倍になってしまった。
IronPythonの文字は全部Unicodeで統一されているので、日本語の処理はCPythonより楽でよいんだけど。

しかし、IronPythonはやっぱ日本語のページがあんま無いね。
基本は.Netだから同じなんだけど、C#もVB.Netも殆どやってないから、C#の画像圧縮について書いてあるサイトを見ながら、なんとか作ってみた。

コード

#!/usr/bin/env python
# -*- coding: utf-8 -*-
#
# 引数で指定したフォルダの画像ファイルを
# 出力先フォルダに縮小・回転しながらコピーする

from __future__ import print_function
from __future__ import division
import os,sys,glob
import shutil

import clr
clr.AddReferenceByPartialName('System.Drawing')
from System.Drawing import *

# 出力先フォルダ指定。
TARGET_DIR = 'C:\\Photo'
#COWON A3向け
#max_size = (800, 480)
#PSP向け
#max_size = (480, 270)
#Ziio向け
max_size = (480, 800)
#対象拡張子
ext_dic = ['.jpg','.jpeg','.png','.bmp']
#ファイル名のprefix
DEST_PREFIX = 's_'
#JPEG品質
JPEG_QUALITY = 75

def makeOutputDirectory(outputDirPath):
	if os.path.isdir(outputDirPath) == False:
		os.makedirs(outputDirPath)

def isTarget(ext):
	return True if ext.lower() in ext_dic else False

class ProgressBar:
	def __init__(self,totalNum):
		self.totalNum = totalNum
		self.counter = 0
		self.chr = u"*"
		self.width = 40
	def addCounter(self,incrementNum):
		self.counter += incrementNum
	def show(self):
		pbar_chrs = self.chr * (self.width * self.counter // self.totalNum)
		percentage = 100 * self.counter // self.totalNum
		meter = '\r|{0}{1}| {2}/{3}個 ({4}%)'.format(pbar_chrs,u' ' * (self.width - len(pbar_chrs)),self.counter,self.totalNum, percentage)
		sys.stdout.write(meter)
		sys.stdout.flush()
		
def createJpegEncoder():
	jpgEncoder = [codec for codec in Imaging.ImageCodecInfo.GetImageEncoders() if codec.FormatID == Imaging.ImageFormat.Jpeg.Guid][0]
	encParam = Imaging.EncoderParameter(Imaging.Encoder.Quality,JPEG_QUALITY)
	encParams = Imaging.EncoderParameters(1)
	encParams.Param[0] = encParam
	return (jpgEncoder,encParams)
	
def shrinkImage(srcFileName, dstFileName,jpgEncoder):
	srcImg = Bitmap.FromFile(srcFileName)
	
	if srcImg.Width > max_size[0] or srcImg.Height > max_size[1] or srcImg.RawFormat.Equals(Imaging.ImageFormat.Bmp):
		# BMPの場合、JPEGにする
		if srcImg.RawFormat.Equals(Imaging.ImageFormat.Bmp):
			format = Imaging.ImageFormat.Jpeg
			root,ext = os.path.splitext(dstFileName)
			dstFileName = root + '.jpg'
		else:
			format = srcImg.RawFormat
		
		srcWidth = srcImg.Width
		srcHeight = srcImg.Height
		if max_size[0] > max_size[1]:
			#横が長いディスプレイの場合は縦長の画像を回転させた絵を作る
			if srcImg.Width < srcImg.Height:
				srcWidth = srcImg.Height
				srcHeight = srcImg.Width		
				srcImg.RotateFlip(RotateFlipType.Rotate90FlipNone);
		else:
			#縦が長いディスプレイの場合は横長の画像を回転させた絵を作る
			if srcImg.Width > srcImg.Height:
				srcWidth = srcImg.Height
				srcHeight = srcImg.Width		
				srcImg.RotateFlip(RotateFlipType.Rotate90FlipNone);
		
		# 画面より画像が小さい場合はスケーリングしない
		if max_size[0] < srcWidth or max_size[1] < srcHeight:
			scalerate = min(max_size[0]/srcWidth,max_size[1]/srcHeight)
			destWidth = int(round(scalerate * srcWidth))
			destHeight = int(round(scalerate * srcHeight))
		else:
			destWidth = srcWidth
			destHeight = srcHeight
					
		destImg = Bitmap(destWidth,destHeight)
		grphics = Graphics.FromImage(destImg)
		grphics.InterpolationMode = Drawing2D.InterpolationMode.HighQualityBicubic
		grphics.DrawImage(srcImg,0,0,destWidth,destHeight)
		if format  == Imaging.ImageFormat.Jpeg:
			destImg.Save(dstFileName,jpgEncoder[0], jpgEncoder[1])
		else:
			destImg.Save(dstFileName,format)
		destImg.Dispose()
	else:
		# 画面に収まらないor BMP形式以外の場合は、再圧縮する必要ないので普通のコピーにする
		shutil.copy(srcFileName,dstFileName)
	srcImg.Dispose()
	
def copyImageTree(targetList,progress):

	jpgEncoder = createJpegEncoder()
	for target in targetList:
		srcname = target[0]
		dstname = target[1]
		try:
			makeOutputDirectory(os.path.dirname(dstname))
			shrinkImage(srcname,dstname,jpgEncoder)
			progress.addCounter(1)
			progress.show()
		except (IOError, os.error), why:
			print("Cant' copy",srcname,'to',dstname,':',str(why))

def createTargetImagePath( path,targetBaseDirectory ):

	targetPath = []
	names = os.listdir(path)
	targetDirectory = targetBaseDirectory

	for name in names:
		srcname = os.path.join(path, name)
		try:
			if os.path.isdir(srcname):
				targetDirectory = os.path.join(targetBaseDirectory, name)
				targetPath += createTargetImagePath( srcname,targetDirectory )
			else:
				root, ext = os.path.splitext(srcname)
				if isTarget(ext) == True:
					targetPath.append((srcname,os.path.join(targetDirectory,DEST_PREFIX + name)))
		except (IOError, os.error), why:
			print("Can't copy",srcname,':',str(why))
	return (targetPath)
			
if __name__=='__main__':
	#引数がおかしい場合
	if len(sys.argv) < 2:
		print('Usage: # Python ',sys.argv[0],' [SouceImageDirectoryPath]...')
		raw_input()
		quit()
		
	targetPathList = []
	for x in range(1,len(sys.argv)):
		sourcePath = os.path.dirname(sys.argv[x] + '\\')

		if os.path.isdir(sourcePath) == False:	#存在しないPathを指定した場合
			print('[',sourcePath,']: Src directory does not exist.')
			raw_input()
			quit()
		elif os.path.isdir(TARGET_DIR) == False:	#存在しないPathを指定した場合
			print('[',TARGET_DIR,']: Dest directory does not exist.')
			raw_input()
			quit()
		elif sourcePath == TARGET_DIR:	#入力先と出力先が同じ場合
			print('The input destination is the same as the output destination.')
			raw_input()
			quit()
		else:
			targetPathList +=  createTargetImagePath(sourcePath,(TARGET_DIR + '\\' + os.path.basename(sourcePath)))
	
	if len(targetPathList) == 0:
		print('File does not exist.')
		quit()

	progress = ProgressBar(len(targetPathList))
	copyImageTree(targetPathList,progress)
参考にしたサイト
  • IronPython事始め[URL]
  • [C#][python] IronPythonで参照が必要なDLLの利用方法 (clr, AddReferenceByPartialName)[いろいろ備忘録日記]
  • [python][.net] IronPythonのメモ[いろいろ備忘録日記]
  • 品質を指定してJPEG画像を保存するには?[@IT]
  • Create Multiframe TIFF Image File[IronPython Coocbook]
  • EncoderParameter クラス[MSDN]
  • EncoderParameters クラス[MSDN]
  • ImageCodecInfo クラス[MSDN]
  • 方法 : JPEG 圧縮レベルの設定[MSDN]
  • Visual C# .NET を使用して、JPEG 品質要因を決定します。[Microsoft]
タグ:Python IronPython
posted by MINE at 16:43 | Comment(0) | TrackBack(0) | IronPython | このブログの読者になる | 更新情報をチェックする | edit

2011年05月07日

[Python] 画像の縦横比を見て回転させ縮小するプログラム Ver7

マルチプロセッシングはどうにも上手くいかないので、Ver5[記事]をベースに改良。
アホみたいに2回もループしているのを1つにまとめたり、縮小する必要が無いのに、画像を再圧縮しているのを止めた。

多少冗長な箇所があるけど、もう一回並列化にチャレンジするために残しておく。

コード

#!/usr/bin/env python
# -*- coding: utf-8 -*-
#
# 引数で指定したフォルダの画像ファイルを
# 出力先フォルダに縮小・回転しながらコピーする

from __future__ import print_function
import os, sys,glob
import shutil
from PIL import Image

# 出力先フォルダ指定。
TARGET_DIR = u'C:\\Photo'
#COWON A3向け
#max_size = (800, 480)
#PSP向け
#max_size = (480, 270)
#Ziio向け
max_size = (480, 800)
#対象拡張子
ext_dic = ['.jpg','.jpeg','.png','.bmp']
#ファイル名のprefix
DEST_PREFIX = 's_'
#JPEG品質
JPEG_QUALITY = 75

def makeOutputDirectory(outputDirPath):
	if os.path.isdir(outputDirPath) == False:
		os.makedirs(outputDirPath)

def isTarget(ext):
	return True if ext.lower() in ext_dic else False

class ProgressBar:
	def __init__(self,totalNum):
		self.totalNum = totalNum
		self.counter = 0
		self.chr = u"*"
		self.width = 40
	def addCounter(self,incrementNum):
		self.counter += incrementNum
	def show(self):
		pbar_chrs = self.chr * (self.width * self.counter / self.totalNum)
		percentage = 100 * self.counter / self.totalNum
		meter = u'\r|{0}{1}| {2}/{3}個 ({4}%)'.format(pbar_chrs,u' ' * (self.width - len(pbar_chrs)),self.counter,self.totalNum, percentage)
		sys.stdout.write(meter)
		sys.stdout.flush()

def createTargetImagePath( path,targetBaseDirectory ):

	targetPath = []
	names = os.listdir(path)
	targetDirectory = targetBaseDirectory

	for name in names:
		srcname = os.path.join(path, name)
		try:
			if os.path.isdir(srcname):
				targetDirectory = os.path.join(targetBaseDirectory, name)
				targetPath += createTargetImagePath( srcname,targetDirectory )
			else:
				root, ext = os.path.splitext(srcname)
				if isTarget(ext) == True:
					targetPath.append((srcname,os.path.join(targetDirectory,DEST_PREFIX + name)))
		except (IOError, os.error), why:
			print(u"Can't copy",srcname,u':',str(why))
	return (targetPath)

def shrinkImage(srcFileName, dstFileName):

	sourceImage = Image.open(srcFileName)
	
	if sourceImage.size[0] > max_size[0] or sourceImage.size[1] > max_size[1] or sourceImage.format == 'BMP':
		destImage = sourceImage
		# BMPの場合、JPEGにする
		if sourceImage.format == 'BMP':
			destImage = destImage.convert('RGB')
			root,ext = os.path.splitext(dstFileName)
			dstFileName = root + '.jpg'
		else:
			format = sourceImage.format
		
		if max_size[0] > max_size[1]:
			#横が長いディスプレイの場合は縦長の画像を回転させる。
			if destImage.size[0] < destImage.size[1]:
				destImage = destImage.rotate(270)
		else:
			#縦が長いディスプレイの場合は横長の画像を回転させる。
			if destImage.size[0] > destImage.size[1]:
				destImage = destImage.rotate(270)
		destImage.thumbnail(max_size, Image.ANTIALIAS)
		destImage.save(dstFileName,quality=JPEG_QUALITY)
	else:
		# 画面に収まらないor BMP形式以外の場合は、再圧縮する必要ないので普通のコピーにする
		shutil.copy(srcFileName,dstFileName)
	

def copyImageTree(targetList,progress):

	for target in targetList:
		srcname = target[0]
		dstname = target[1]
		try:
			makeOutputDirectory(os.path.dirname(dstname))
			shrinkImage(srcname,dstname)
			progress.addCounter(1)
			progress.show()
		except (IOError, os.error), why:
			print(u"Cant' copy",srcname,'to',dstname,u':',str(why))
	
if __name__=='__main__':
	#引数がおかしい場合
	if len(sys.argv) < 2:
		print(u'Usage: # Python ',sys.argv[0],u' [souceimagedirectorypath]...')
		raw_input()
		quit()
		
	targetPathList = []
	for x in range(1,len(sys.argv)):
		sourcePath = os.path.dirname(unicode(sys.argv[x],"mbcs") + '\\')

		if os.path.isdir(sourcePath) == False:	#存在しないPathを指定した場合
			print(u'[',sourcePath,u']: Src directory does not exist.')
			raw_input()
			quit()
		elif os.path.isdir(TARGET_DIR) == False:	#存在しないPathを指定した場合
			print(u'[',TARGET_DIR,u']: Dest directory does not exist.')
			raw_input()
			quit()
		elif sourcePath == TARGET_DIR:	#入力先と出力先が同じ場合
			print(u'The input destination is the same as the output destination.')
			raw_input()
			quit()
		else:
			targetPathList +=  createTargetImagePath(sourcePath,(TARGET_DIR + '\\' + os.path.basename(sourcePath)))
	
	if len(targetPathList) == 0:
		print(u'File does not exist.')
		quit()

	progress = ProgressBar(len(targetPathList))
	copyImageTree(targetPathList,progress)
2011/5/8 20:46 追記
タグ:Python
posted by MINE at 23:58 | Comment(0) | TrackBack(0) | Python | このブログの読者になる | 更新情報をチェックする | edit

2011年05月05日

タイ料理

家の近くの奥まった所にタイ料理屋があったので行ってみた。

美味しかったけど、やっぱりタイ料理だけあって辛い〜(゜ε゜;)

ビール
posted by MINE at 19:20 | Comment(0) | TrackBack(0) | 御飯 & お酒 | このブログの読者になる | 更新情報をチェックする | edit

2011年05月01日

誕生日プレゼント

段々年をとるのも嬉しいような嬉しくないような年になってきたのだけれども、勝手に年をとってしまうのが世の常。

ってなわけで、今年の誕生日プレゼント。

バッファローのルーター「WZR-HP-G302H」BUFFALOのルーター

家で使っていたのが古くて、部屋を離れるとブチブチ無線が切れちゃってイライラしてたんだよね。ってことで、最新型に刷新。
最近は、USBメモリやHDDがつなげて、NASにできる機能とかあるんだな。
使わなさそうだけど。

あと、もう一つが体にフィットするソファ・セット。体にフィットするソファ

無印良品のやつ。
友人家にあって欲しいな〜と思ってたのだ。
ニトリとかに安い(大体半額位)のがあったけど、俺が求めてる柔らかさが無かったので、10%OFFセールやってる無印で購入。
これで、ゴロゴロできるヽ(*V▽V*)/

と、今年は2つも貰ったのだ。

ちなみに相手も誕生日が近いので、購入。
送ったものは、iPad2。(まだきてないけど)

iPad2

 

あれ?

iPad2 > (ルーター + ソファ) * 2 なんですけど・・・。

posted by MINE at 21:38 | Comment(0) | TrackBack(0) | デジモノ | このブログの読者になる | 更新情報をチェックする | edit