示例#1
0
 def from_list(cls, medias, **kw):
     to_add = dict((n, v) for n, v in pyk.iteritems(kw) if v)
     if len(medias) == 1 and not to_add:
         result = medias[0]
     else:
         result = \
             CHJ.Media (children = medias) if (medias or to_add) else None
     for n, v in pyk.iteritems(to_add):
         getattr(result, n).add(*v)
     return result
示例#2
0
文件: Base.py 项目: JPilarr/tapyr
 def _get_media (self, head = None) :
     medias   = []
     parent   = self.parent
     template = getattr (self, "template")
     if head is not None :
         medias.append (head)
     if self._Media is not _TOP_Base_._Media :
         medias.append (self._Media)
     if getattr (template, "Media", None) :
         medias.append (template.Media)
     if parent and parent.Media is not _TOP_Base_._Media :
         medias.append (parent.Media)
     if medias :
         return CHJ.Media (children = medias)
     return self._Media
示例#3
0
文件: Base.py 项目: JPilarr/tapyr
class _TOP_Mixin_ (_Ancestor) :
    """Mixin class for TOP classes."""

    _real_name                 = "_Mixin_"

    session_ttl_name           = "user_session_ttl"
    short_title                = ""
    title                      = ""

    _exclude_robots            = False
    _index                     = None
    _Media                     = CHJ.Media ()

    class _TOP_Base_GET_ (HTTP_Method_Mixin, _Ancestor.GET) :

        _real_name             = "GET"

    GET = _TOP_Base_GET_ # end class

    @property
    @getattr_safe
    def a_attr_dict (self) :
        result = self.__super.a_attr_dict
        title  = self.title
        if title :
            result.update (title = title)
        return result
    # end def a_attr_dict

    @property
    @getattr_safe
    def has_children (self) :
        return bool (getattr (self, "entries", []))
    # end def has_children

    def is_current_dir (self, page) :
        return False
    # end def is_current_dir

    def is_current_page (self, page) :
        return \
            (  (self.permalink    == page.permalink)
            or (self.href_dynamic == page.href_dynamic)
            )