소스 검색

resize_images

version-14
Rushabh Mehta 11 년 전
부모
커밋
44be375b39
2개의 변경된 파일31개의 추가작업 그리고 3개의 파일을 삭제
  1. +12
    -3
      frappe/cli.py
  2. +19
    -0
      frappe/utils/image.py

+ 12
- 3
frappe/cli.py 파일 보기

@@ -8,7 +8,7 @@ import os

import frappe

site_arg_optional = ['serve', 'build', 'watch', 'celery']
site_arg_optional = ['serve', 'build', 'watch', 'celery', 'resize_images']

def get_site(parsed_args):
if not parsed_args.get("site") and os.path.exists(os.path.join(parsed_args["sites_path"], "currentsite.txt")):
@@ -156,6 +156,10 @@ def setup_test(parser):
help="Run one or more specific test functions")

def setup_utilities(parser):
# serving
parser.add_argument("--port", default=8000, type=int, help="port for development server")
parser.add_argument("--use", action="store_true", help="Set current site for development.")

# update
parser.add_argument("-u", "--update", nargs="*", metavar=("REMOTE", "BRANCH"),
help="Perform git pull, run patches, sync schema and rebuild files/translations")
@@ -211,8 +215,8 @@ def setup_utilities(parser):
parser.add_argument("--update_site_config", nargs=1,
metavar="site-CONFIG-JSON",
help="Update site_config.json for a given site")
parser.add_argument("--port", default=8000, type=int, help="port for development server")
parser.add_argument("--use", action="store_true", help="Set current site for development.")
parser.add_argument("--resize_images", nargs=1, metavar="PATH", help="resize images to a max width of 500px")

# clear
parser.add_argument("--clear_web", default=False, action="store_true",
@@ -728,6 +732,11 @@ def request(args):
print frappe.response
frappe.destroy()

@cmd
def resize_images(path):
import frappe.utils.image
frappe.utils.image.resize_images(path)

@cmd
def flush_memcache():
frappe.cache().flush_all()


+ 19
- 0
frappe/utils/image.py 파일 보기

@@ -0,0 +1,19 @@
# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors
# MIT License. See license.txt

from __future__ import unicode_literals
import os

def resize_images(path, maxdim=500):
import Image
size = (maxdim, maxdim)
for basepath, folders, files in os.walk(path):
for fname in files:
extn = fname.rsplit(".", 1)[1]
if extn in ("jpg", "jpeg", "png", "gif"):
im = Image.open(os.path.join(basepath, fname))
if im.size[0] > size[0] or im.size[1] > size[1]:
im.thumbnail(size, Image.ANTIALIAS)
im.save(os.path.join(basepath, fname))

print "resized {0}".format(os.path.join(basepath, fname))

불러오는 중...
취소
저장