2011-09-04 4 views
2

AppEngine dev_appserver에서 기본 내장 파일 열기/파일 기능을 복원하는 가장 쉬운 방법은 무엇입니까? 개발 환경 (여러 JS/CSS 파일 컴파일)에서 작업 자산 관리자를 얻으려면이 기능이 필요합니다.AppEngine : 기본 내장 파일 열기/파일 기능 복원

+0

왜 이렇게해야합니까? dev_appserver는 프로덕션 환경을 에뮬레이션하기 위해 explcitly 설계되었습니다. 프로덕션 환경에서 할 수없는 일을해야한다면 App Engine 앱에서 수행해서는 안됩니다. –

+0

@Nick Johnson, 내 자산을 생성해야합니다 (JS/CSS 파일 병합/압축). 이는 개발 환경 (예 : 사전 컴파일)에서만 수행됩니다. 장고 중재자는 그러한 자산 관리자의 좋은 본보기이지만 플라스크에게는 하나가 필요합니다. –

+0

빌드 스크립트를 사용하여 dev_appserver 외부에서 실행해야합니다. –

답변

3

FakeFile.ALLOWED_MODES 플래그를 변경하는 파일 시스템에 쓸 수 있습니다.

from google.appengine.tools import dev_appserver 
allowed_modes = dev_appserver.FakeFile.ALLOWED_MODES 
dev_appserver.FakeFile.ALLOWED_MODES = frozenset(['w']) 
f = open('test.txt', 'w') 
f.write('this is a test') 
f.close() 
dev_appserver.FakeFile.ALLOWED_MODES = allowed_modes 
2

승인 된 답변과 동일합니다. 하지만 최신 버전 호환 픽스 :

if os.environ.get("SERVER_SOFTWARE", "").startswith("Dev"): 
    from google.appengine.tools.devappserver2.python import stubs 
    stubs.FakeFile.ALLOWED_MODES = frozenset(["a", "r", "w", "rb", "U", "rU"])