コード例 #1
0
 def listAnchorNames(self):
     """Return a list of Anchor names"""
     results = []
     tree = HTMLTreeBuilder.TreeBuilder()
     tree.feed('<root>%s</root>' % self.context.getPrimaryField().getAccessor(self.context)())
     rootnode = tree.close()
     for x in rootnode.getiterator():
         if x.tag == "a":
             if "name" in x.keys():
                 results.append(x.attrib['name'])
     return results
コード例 #2
0
def getDetails(self):
    """Builds a JSON object based on the details
       of this object.
    """

    utility = getUtility(ITinyMCE)
    anchor_portal_types = utility.containsanchors.split('\n')
    image_portal_types = utility.imageobjects.split('\n')

    results = {}
    results['title'] = self.context.title_or_id()
    results['description'] = self.context.Description()
    if self.context.portal_type in image_portal_types:
        if IPhoto.providedBy(self.context):
            image_field = self.context.getField('photo')
            results['owner'] = self.context.owner_name
            results['date_y'] = self.context.year
            results['date_m'] = self.context.month
            results['date_d'] = self.context.day
        else:
            image_field = self.context.getField('image')
        results['thumb'] = self.context.absolute_url() + "/image_thumb"

        results['scales'] = utility.getImageScales(image_field,
                                                   context=self.context)
    else:
        results['thumb'] = ""

    if self.context.portal_type in anchor_portal_types:
        results['anchors'] = []
        tree = HTMLTreeBuilder.TreeBuilder()
        tree.feed('<root>%s</root>' %
                  self.context.getPrimaryField().getAccessor(self.context)())
        rootnode = tree.close()
        for x in rootnode.getiterator():
            if x.tag == "a":
                if "name" in x.keys():
                    results['anchors'].append(x.attrib['name'])
    else:
        results['anchors'] = []

    return json.dumps(results)
コード例 #3
0
 def fromstring(text):
     parser = HTMLTreeBuilder.TreeBuilder()
     text = '<root>%s</root>' % text
     parser.feed(text)
     return parser.close()