2013-01-31 6 views
0

URL 'http://ecample.com/folder1/object1'을 사용하여 Zope3 프로젝트의 ZODB 데이터베이스에서 객체를 가져 오는 방법은 무엇입니까?URL로 ZODB에서 객체를 가져 오는 방법은 무엇입니까?

obj1 = someMethod('http://ecample.com/folder1/object1') 

이 방법에 대한 도구가 있습니까? absoluteUrl()과 비슷하지만 반대입니까? 아니면 내가 URL을 구문 분석하고 수동으로 DB 루트에서 오브젝트를 받아야합니다 ... 당신은 이송 API 사용하여 객체로 경로를 설정할 수 있습니다

+0

ZODB를 어떻게 사용하고 있습니까? 자신의 응용 프로그램에서 또는 HTTP 게시자 (Zope, Bluebream, Grok, 뭐든간에)가 있습니까? ZODB 자체는 HTTP에 대해 아무것도 알지 못합니다. –

+0

저는 HTTP 퍼블리싱을 위해 Zope 3을 사용합니다. – Gleb

+0

Zope 3 퍼블리셔는 객체 퍼블리싱을 담당합니다. 당신의 구체적인 문제는 무엇입니까? –

답변

2

감사합니다 : 당신은 통과 할 컨텍스트가 필요합니다

from zope.traversing.api import traverse 

obj = traverse(context, path) 

부터까지; 예를 들어 URL 경로에 사이트 루트를 사용하십시오. 가지고있는 URL이 URL이면 다음 경로를 파싱해야합니다.

from urlparse import urlparse 

path = urlparse(url).path 
+0

감사합니다 looooooot!) 완벽하게 작동합니다!)) – Gleb

관련 문제