2009-12-22 9 views
3

J'ai une classe python qui fonctionne dans zope 3 zcml, mais je veux déplacer le python dans un script autonome auquel on pourrait accéder via quelque chose le long de la les lignes de tal: content = 'context/get_tags'. Ceci est le code tel qu'il est:convertir un script python basé sur zcml en un script autonome dans zope/plone

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 entries(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 

Pas grand (comme vous avez pu le deviner programmeur n'est pas mon titre), mais il est ce que j'ai. Comment puis-je le convertir en script autonome?

Répondre

2

Vous pouvez accéder à des vues de modèles de page avec la syntaxe @@: contexte/@@ ViewName:

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