sosa0sa.com

Everything will be Okay in the end. If it not okay, it is not the end.

사진관의 사진 링크 가져오기

Without comments

홈페이지에서 사진 관리를 사진 관리 프로그램인 gallery를 사용하고 있다. 근데 gallery에 올린 사진을 글에서 사용하고 싶을때는 img tag를 사용해야 하는데 그럴러면 먼저 사진의 위치를 정확히 알아야 한다. 게다가 사진이 대개 가로가 640 크기인 경우가 많아 그냥 사용하면 화면에 넘치기도 한다. 그래서 보통 70% 크기로 줄야서 표시되도록 하는데 그럴러고 하니 매번 링크를 적을 때마다 width랑 height를 계산해서 넣는 것도 귀찮다. 70% 이렇게 상대값을 줘도 되지만 가끔은 이상하게 제대로 동작하게도 제대로 동작하지 않는 경우가 있어서. 그래서 그냥 script를 하나 짰다. 하도 심심해서 -_- 역시나 python으로 했고, 이미지 크기를 알아내기 위해 jpeg 파일 포맷을 분석하는 것보다는 PIL을 그냥 사용하려고 했는데 이 넘 깔려고 했더니 좀 귀찮다. gentoo portage에 아직 안 올라온 듯하고. 그래서 그냥 jpeginfo라는 유틸리티를 써서 사진 정보를 얻어 이 정보를 python으로 redirect해서 사용하도록 했다. 며칠전에 우연히 펼쳐본 programming python 2nd edition의 처음에 나오는 부분에 이런 내용이 적혀있던 것을 바로 써 먹게 됐다. :-) 그래서 gallery의 URL을 적어주면 글 쓸때 필요한 img랑 html tag를 만들어주는 아주 아주 간단한 스크립트를 완성(?)했다. 바로 써 먹어야지~~~ pic.py 쩝. 우짜면 HTML 해석을 안하게 할 수 있을까?

#!/usr/bin/env python import string import sys import os if len(sys.argv) <2: print "Usage : pic.py url" sys.exit(2) b = string.split(sys.argv[1], "/") # download image file to know the image size imagename = "http://%s/albums/%s/%s.jpg" %(b[2], b[4], b[5]) os.system("wget -q -N "+imagename) ret = os.popen("jpeginfo "+b[5]+".jpg").read() os.system("rm -f "+b[5]+".jpg") # get the image size jpeginfo = string.split(ret) image_width = int(int(jpeginfo[1])*0.7) image_height = int(int(jpeginfo[3])*0.7) #print int(image_width) #print int(image_height) # now print html tag ahref = "” %(b[2], b[4], b[5]) print ahref imgsrc = “” %(b[2], b[4], b[5], image_width, image_height) print imgsrc

Written by cychong

February 26th, 2004 at 1:25 pm

Posted in note

Leave a Reply