开发者

converting a zcml based python script to a standalone script in zope/plone

I have a python class working in zope 3 zcml kind of way, but i want to move the python into a standalone script that a could access via something along the lines of tal:content='context/get_tags'. This is the code as it stands:

class TagListView(BrowserView):

def getCategories(self):
    categories = set()
    for cat in self.portal_catalog.uniqueValuesFor('Subject'):
        categories.add(cat.lower())
    for cat in self.__mapping:
        categories.add(cat.lower())
    return tuple(sorted(categories))

def getSynonyms(self,category):
    r = self.__mapping.get(category)
    if r is None:
        return ()
    return r[0]

def __init__(self,context,request):
    self.context = context
    self.request = request
    self.tool = self.context.portal_categories

def entri开发者_StackOverflow中文版es(self):
    taglist = '(['
    for category in self.tool.getCategories():
        taglist = taglist + '\'' + category + '\','
        for synonym in self.tool.getSynonyms(category):
            if len(synonym) > 0:
                taglist = taglist + '\'' + synonym + '\','
    taglist = taglist + '])'
    return taglist

Not great (as you may have guessed programmer isn't my job title) but it's what i have. How do I convert it to work as a standalone script?


You can access views from page templates with the @@ syntax: context/@@viewname:

tal:define="view context/@@get_tags;
            entries view/entries;"
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜