def render_arrows(context,thing):
    context.caller_stack._push_frame()
    try:
        _import_ns = {}
        _mako_get_namespace(context, '__anon_0x7f21644298d0')._populate(_import_ns, [u'optionalstyle'])
        _mako_get_namespace(context, '__anon_0x7f2164429990')._populate(_import_ns, [u'arrow'])
        getattr = _import_ns.get('getattr', context.get('getattr', UNDEFINED))
        self = _import_ns.get('self', context.get('self', UNDEFINED))
        __M_writer = context.writer()
        # SOURCE LINE 103
        __M_writer(u'\n')
        # SOURCE LINE 104
        if getattr(thing, 'embed_voting_style',None) == 'votable':
            # SOURCE LINE 105
            __M_writer(u'    ')
            __M_writer(conditional_websafe(self.real_arrows(thing)))
            __M_writer(u'\n')
            # SOURCE LINE 106
        elif request.GET.get("expanded") or getattr(thing, 'embed_voting_style', None) == 'expanded':
            # SOURCE LINE 107
            __M_writer(u'    ')
            __M_writer(conditional_websafe(self.iframe_arrows(thing)))
            __M_writer(u'\n')
            # SOURCE LINE 108
        else:
            # SOURCE LINE 109
            __M_writer(u'    ')
            __M_writer(conditional_websafe(self.static_arrows(thing)))
            __M_writer(u'\n')
            pass
        return ''
    finally:
        context.caller_stack._pop_frame()
def render_real_arrows(context,thing):
    context.caller_stack._push_frame()
    try:
        _import_ns = {}
        _mako_get_namespace(context, '__anon_0x7f21644298d0')._populate(_import_ns, [u'optionalstyle'])
        _mako_get_namespace(context, '__anon_0x7f2164429990')._populate(_import_ns, [u'arrow'])
        arrow = _import_ns.get('arrow', context.get('arrow', UNDEFINED))
        optionalstyle = _import_ns.get('optionalstyle', context.get('optionalstyle', UNDEFINED))
        __M_writer = context.writer()
        # SOURCE LINE 95
        __M_writer(u'\n  <div class="midcol ')
        # SOURCE LINE 96
        __M_writer(conditional_websafe(thing.like_cls))
        __M_writer(u'" ')
        __M_writer(conditional_websafe(optionalstyle("width: 15px")))
        __M_writer(u'>\n    ')
        # SOURCE LINE 97
        __M_writer(conditional_websafe(arrow(thing, 1, thing.likes)))
        __M_writer(u'\n    ')
        # SOURCE LINE 98
        __M_writer(conditional_websafe(arrow(thing, 0, thing.likes == False)))
        __M_writer(u'\n </div>\n')
        return ''
    finally:
        context.caller_stack._pop_frame()
def render_body(context,**pageargs):
    context.caller_stack._push_frame()
    try:
        __M_locals = __M_dict_builtin(pageargs=pageargs)
        _import_ns = {}
        _mako_get_namespace(context, '__anon_0x7f21644298d0')._populate(_import_ns, [u'optionalstyle'])
        _mako_get_namespace(context, '__anon_0x7f2164429990')._populate(_import_ns, [u'arrow'])
        thing = _import_ns.get('thing', context.get('thing', UNDEFINED))
        getattr = _import_ns.get('getattr', context.get('getattr', UNDEFINED))
        self = _import_ns.get('self', context.get('self', UNDEFINED))
        __M_writer = context.writer()
        # SOURCE LINE 22
        __M_writer(u'\n')
        # SOURCE LINE 23
        __M_writer(u'\n')
        # SOURCE LINE 24
        __M_writer(u'\n\n')
        # SOURCE LINE 26

        like_cls = "unvoted"
        if getattr(thing, "likes", None):
            like_cls = "likes"
        elif getattr(thing, "likes", None) is False:
            like_cls = "dislikes"
        thing.like_cls = like_cls
         
        
        __M_locals_builtin_stored = __M_locals_builtin()
        __M_locals.update(__M_dict_builtin([(__M_key, __M_locals_builtin_stored[__M_key]) for __M_key in ['like_cls'] if __M_key in __M_locals_builtin_stored]))
        # SOURCE LINE 33
        __M_writer(u'\n')
        # SOURCE LINE 34
        __M_writer(conditional_websafe(self.parent()))
        __M_writer(u'\n')
        # SOURCE LINE 35
        __M_writer(conditional_websafe(self.entry()))
        __M_writer(u'\n')
        # SOURCE LINE 36
        __M_writer(conditional_websafe(self.Child()))
        __M_writer(u'\n\n\n')
        # SOURCE LINE 40
        __M_writer(u'\n\n')
        # SOURCE LINE 44
        __M_writer(u'\n\n')
        # SOURCE LINE 47
        __M_writer(u'\n\n\n')
        # SOURCE LINE 68
        __M_writer(u'\n\n')
        # SOURCE LINE 93
        __M_writer(u'\n\n')
        # SOURCE LINE 100
        __M_writer(u'\n\n\n')
        # SOURCE LINE 111
        __M_writer(u'\n')
        return ''
    finally:
        context.caller_stack._pop_frame()
Beispiel #4
0
def make_htmldiff(a, b, adesc, bdesc):
    diffcontent = difflib.HtmlDiff(wrapcolumn=60)

    def truncate(line):
        if len(line) > MAX_DIFF_LINE_LENGTH:
            line = line[:MAX_DIFF_LINE_LENGTH] + "..."
        return line
    # NB: It's completely non-obvious, but `fromdesc` and `todesc` are HTML
    # sinks!
    return diffcontent.make_table([truncate(i) for i in a.splitlines()],
                                  [truncate(i) for i in b.splitlines()],
                                  fromdesc=conditional_websafe(adesc),
                                  todesc=conditional_websafe(bdesc),
                                  context=3)
Beispiel #5
0
def make_htmldiff(a, b, adesc, bdesc):
    diffcontent = difflib.HtmlDiff(wrapcolumn=60)

    def truncate(line):
        if len(line) > MAX_DIFF_LINE_LENGTH:
            line = line[:MAX_DIFF_LINE_LENGTH] + "..."
        return line

    # NB: It's completely non-obvious, but `fromdesc` and `todesc` are HTML
    # sinks!
    return diffcontent.make_table([truncate(i) for i in a.splitlines()],
                                  [truncate(i) for i in b.splitlines()],
                                  fromdesc=conditional_websafe(adesc),
                                  todesc=conditional_websafe(bdesc),
                                  context=3)
def render_iframe_arrows(context,thing):
    context.caller_stack._push_frame()
    try:
        _import_ns = {}
        _mako_get_namespace(context, '__anon_0x7f21644298d0')._populate(_import_ns, [u'optionalstyle'])
        _mako_get_namespace(context, '__anon_0x7f2164429990')._populate(_import_ns, [u'arrow'])
        isinstance = _import_ns.get('isinstance', context.get('isinstance', UNDEFINED))
        optionalstyle = _import_ns.get('optionalstyle', context.get('optionalstyle', UNDEFINED))
        __M_writer = context.writer()
        # SOURCE LINE 70
        __M_writer(u'\n  ')
        # SOURCE LINE 71
 
        from r2.lib.template_helpers import get_domain
        
        
        # SOURCE LINE 73
        __M_writer(u'\n  <div class="reddit-voting-arrows" \n     ')
        # SOURCE LINE 75
        __M_writer(conditional_websafe(optionalstyle("float:left; margin: 1px;")))
        __M_writer(u'>\n    <script type="text/javascript">\n      var reddit_bordercolor="FFFFFF";\n    </script>\n    ')
        # SOURCE LINE 79

        from r2.models import FakeSubreddit
        url = ("http://%s/static/button/button4.html?t=4&id=%s&sr=%s" % 
                (get_domain(cname = c.cname, subreddit = False), thing._fullname,
                c.site.name if not isinstance(c.site, FakeSubreddit) else ""))
        if c.bgcolor:
           url += "&bgcolor=%s&bordercolor=%s" % (c.bgcolor, c.bgcolor)
        else:
           url += "&bgcolor=FFFFFF&bordercolor=FFFFFF"
             
        
        # SOURCE LINE 88
        __M_writer(u'\n    <iframe src="')
        # SOURCE LINE 89
        __M_writer(conditional_websafe(url))
        __M_writer(u'" height="55" width="51" scrolling="no" frameborder="0"\n            ')
        # SOURCE LINE 90
        __M_writer(conditional_websafe(optionalstyle("margin:0px;")))
        __M_writer(u'>\n    </iframe>\n  </div>\n')
        return ''
    finally:
        context.caller_stack._pop_frame()
def render_static_arrows(context,thing):
    context.caller_stack._push_frame()
    try:
        _import_ns = {}
        _mako_get_namespace(context, '__anon_0x7f21644298d0')._populate(_import_ns, [u'optionalstyle'])
        _mako_get_namespace(context, '__anon_0x7f2164429990')._populate(_import_ns, [u'arrow'])
        optionalstyle = _import_ns.get('optionalstyle', context.get('optionalstyle', UNDEFINED))
        __M_writer = context.writer()
        # SOURCE LINE 50
        __M_writer(u'\n  ')
        # SOURCE LINE 51

        from r2.lib.template_helpers import get_domain
        domain = get_domain(subreddit=False)
        permalink = "http://%s%s" % (domain, thing.permalink)
        if thing.likes == False:
           arrow = "https://%s/static/widget_arrows_down.gif"
        elif thing.likes:
           arrow = "https://%s/static/widget_arrows_up.gif"
        else:
           arrow = "https://%s/static/widget_arrows.gif"
        arrow = arrow % domain
        
        
        # SOURCE LINE 62
        __M_writer(u'\n  <a href="')
        # SOURCE LINE 63
        __M_writer(conditional_websafe(permalink))
        __M_writer(u'" class="reddit-voting-arrows" target="_blank"\n     ')
        # SOURCE LINE 64
        __M_writer(conditional_websafe(optionalstyle("float:left; display:block;")))
        __M_writer(u'>\n    <img src="')
        # SOURCE LINE 65
        __M_writer(conditional_websafe(arrow))
        __M_writer(u'" alt="vote" \n         ')
        # SOURCE LINE 66
        __M_writer(conditional_websafe(optionalstyle("border:none;margin-top:3px;")))
        __M_writer(u'/>\n  </a>\n')
        return ''
    finally:
        context.caller_stack._pop_frame()
def render_flair(context):
    context.caller_stack._push_frame()
    try:
        _import_ns = {}
        _mako_get_namespace(context, '__anon_0x7f2164409350')._populate(_import_ns, [u'optionalstyle'])
        thing = _import_ns.get('thing', context.get('thing', UNDEFINED))
        optionalstyle = _import_ns.get('optionalstyle', context.get('optionalstyle', UNDEFINED))
        __M_writer = context.writer()
        # SOURCE LINE 31
        __M_writer(u'\n')
        # SOURCE LINE 32
        if c.user.pref_show_link_flair:
            # SOURCE LINE 33
            __M_writer(u'    <span class="linkflairlabel"\n        ')
            # SOURCE LINE 34
            __M_writer(conditional_websafe(optionalstyle("color: #545454; background-color: #f5f5f5; border: 1px solid #dedede; display: inline-block; font-size: x-small; margin-right: 0.5em; padding: 0 2px; max-width: 10em; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;")))
            __M_writer(u'>\n      ')
            # SOURCE LINE 35
            __M_writer(conditional_websafe(thing.flair_text))
            __M_writer(u'\n    </span>\n')
            pass
        return ''
    finally:
        context.caller_stack._pop_frame()
def render_Child(context):
    context.caller_stack._push_frame()
    try:
        _import_ns = {}
        _mako_get_namespace(context, '__anon_0x7f21644298d0')._populate(_import_ns, [u'optionalstyle'])
        _mako_get_namespace(context, '__anon_0x7f2164429990')._populate(_import_ns, [u'arrow'])
        thing = _import_ns.get('thing', context.get('thing', UNDEFINED))
        getattr = _import_ns.get('getattr', context.get('getattr', UNDEFINED))
        __M_writer = context.writer()
        # SOURCE LINE 42
        __M_writer(u'\n  ')
        # SOURCE LINE 43
        __M_writer(conditional_websafe(getattr(thing, "child", '')))
        __M_writer(u'\n')
        return ''
    finally:
        context.caller_stack._pop_frame()
def render_hide_if_appropriate(context,state):
    context.caller_stack._push_frame()
    try:
        _import_ns = {}
        _mako_get_namespace(context, '__anon_0x7f2164409350')._populate(_import_ns, [u'optionalstyle'])
        thing = _import_ns.get('thing', context.get('thing', UNDEFINED))
        optionalstyle = _import_ns.get('optionalstyle', context.get('optionalstyle', UNDEFINED))
        __M_writer = context.writer()
        # SOURCE LINE 40
        __M_writer(u'\n')
        # SOURCE LINE 41
        if thing.like_cls != state:
            # SOURCE LINE 42
            __M_writer(u'   ')
            __M_writer(conditional_websafe(optionalstyle("display: none;")))
            __M_writer(u'\n')
            pass
        return ''
    finally:
        context.caller_stack._pop_frame()
def render_entry(context):
    context.caller_stack._push_frame()
    try:
        _import_ns = {}
        _mako_get_namespace(context, '__anon_0x7f2164409350')._populate(_import_ns, [u'optionalstyle'])
        def hide_if_appropriate(state):
            return render_hide_if_appropriate(context,state)
        optionalstyle = _import_ns.get('optionalstyle', context.get('optionalstyle', UNDEFINED))
        self = _import_ns.get('self', context.get('self', UNDEFINED))
        l = _import_ns.get('l', context.get('l', UNDEFINED))
        thing = _import_ns.get('thing', context.get('thing', UNDEFINED))
        def flair():
            return render_flair(context)
        __M_writer = context.writer()
        # SOURCE LINE 46
        __M_writer(u'\n')
        # SOURCE LINE 47
 
        from r2.lib.strings import Score
        domain = get_domain(subreddit=False)
        permalink = "http://%s%s" % (domain, thing.permalink)
        expanded = request.GET.get("expanded")
        two_col = request.GET.has_key("twocolumn") if l else False
         
        
        # SOURCE LINE 53
        __M_writer(u'\n  ')
        # SOURCE LINE 54
        __M_writer(conditional_websafe(self.arrows(thing)))
        __M_writer(u'\n  <div class="reddit-entry entry ')
        # SOURCE LINE 55
        __M_writer(conditional_websafe(thing.like_cls))
        __M_writer(u'" \n')
        # SOURCE LINE 56
        if expanded:
            # SOURCE LINE 57
            __M_writer(u'         ')
            __M_writer(conditional_websafe(optionalstyle("margin-left: 58px;")))
            __M_writer(u'\n')
            # SOURCE LINE 58
        else:
            # SOURCE LINE 59
            __M_writer(u'         ')
            __M_writer(conditional_websafe(optionalstyle("margin-left: 28px; min-height:32px;")))
            __M_writer(u'\n')
            pass
        # SOURCE LINE 61
        __M_writer(u'       >\n')
        # SOURCE LINE 62
        if c.site.link_flair_position == 'left' and thing.flair_text:
            # SOURCE LINE 63
            __M_writer(u'      ')
            __M_writer(conditional_websafe(flair()))
            __M_writer(u'\n')
            pass
        # SOURCE LINE 65
        __M_writer(u'    <a class="reddit-link-title may-blank"\n      ')
        # SOURCE LINE 66
        __M_writer(conditional_websafe(optionalstyle("text-decoration:none;color:#336699;font-size:small;")))
        __M_writer(u'\n')
        # SOURCE LINE 67
        if thing.is_self:
            # SOURCE LINE 68
            __M_writer(u'         href="')
            __M_writer(conditional_websafe(permalink))
            __M_writer(u'"\n')
            # SOURCE LINE 69
        else:
            # SOURCE LINE 70
            __M_writer(u'         href="')
            __M_writer(conditional_websafe(thing.href_url))
            __M_writer(u'"\n')
            pass
        # SOURCE LINE 72
        if thing.nofollow:
            # SOURCE LINE 73
            __M_writer(u'         rel="nofollow"\n')
            pass
        # SOURCE LINE 75
        if c.link_target:
            # SOURCE LINE 76
            __M_writer(u'         target="')
            __M_writer(conditional_websafe(c.link_target))
            __M_writer(u'"\n')
            # SOURCE LINE 77
        elif c.cname:
            # SOURCE LINE 78
            __M_writer(u'         target="_top"\n')
            pass
        # SOURCE LINE 80
        __M_writer(u'       >\n      ')
        # SOURCE LINE 81
        __M_writer(conditional_websafe(thing.title))
        __M_writer(u'\n    </a>\n')
        # SOURCE LINE 83
        if c.site.link_flair_position == 'right' and thing.flair_text:
            # SOURCE LINE 84
            __M_writer(u'      ')
            __M_writer(conditional_websafe(flair()))
            __M_writer(u'\n')
            pass
        # SOURCE LINE 86
        if not expanded:
            # SOURCE LINE 87
            __M_writer(u'      <br />\n')
            pass
        # SOURCE LINE 89
        __M_writer(u'    <small \n')
        # SOURCE LINE 90
        if expanded:
            # SOURCE LINE 91
            __M_writer(u'         ')
            __M_writer(conditional_websafe(optionalstyle("color:gray;margin-left:5px;")))
            __M_writer(u'\n')
            # SOURCE LINE 92
        else:
            # SOURCE LINE 93
            __M_writer(u'         ')
            __M_writer(conditional_websafe(optionalstyle("color:gray;")))
            __M_writer(u'\n')
            pass
        # SOURCE LINE 95
        __M_writer(u'       >\n')
        # SOURCE LINE 96
        if not expanded:
            # SOURCE LINE 97
            __M_writer(u'      ')

            score_dislikes, score_unvoted, score_likes = thing.display_score
            
            
            # SOURCE LINE 99
            __M_writer(u'\n      <span class="score dislikes" ')
            # SOURCE LINE 100
            __M_writer(conditional_websafe(hide_if_appropriate('dislikes')))
            __M_writer(u'>\n         ')
            # SOURCE LINE 101
            __M_writer(conditional_websafe(score_dislikes))
            __M_writer(u'\n      </span>\n      <span class="score unvoted" ')
            # SOURCE LINE 103
            __M_writer(conditional_websafe(hide_if_appropriate('unvoted')))
            __M_writer(u'>\n         ')
            # SOURCE LINE 104
            __M_writer(conditional_websafe(score_unvoted))
            __M_writer(u'\n      </span>\n      <span class="score likes" ')
            # SOURCE LINE 106
            __M_writer(conditional_websafe(hide_if_appropriate('likes')))
            __M_writer(u'>\n         ')
            # SOURCE LINE 107
            __M_writer(conditional_websafe(score_likes))
            __M_writer(u'\n      </span>\n      &#32;|&#32;\n')
            pass
        # SOURCE LINE 111
        __M_writer(u'      <a class="reddit-comment-link may-blank"\n         ')
        # SOURCE LINE 112
        __M_writer(conditional_websafe(optionalstyle("color:gray")))
        __M_writer(u'\n')
        # SOURCE LINE 113
        if c.link_target:
            # SOURCE LINE 114
            __M_writer(u'           target="')
            __M_writer(conditional_websafe(c.link_target))
            __M_writer(u'"\n')
            pass
        # SOURCE LINE 116
        __M_writer(u'         href="')
        __M_writer(conditional_websafe(permalink))
        __M_writer(u'">')
        __M_writer(conditional_websafe(thing.comment_label))
        __M_writer(u'</a>\n    </small>\n  </div>\n  <div class="reddit-link-end" ')
        # SOURCE LINE 119
        __M_writer(conditional_websafe(optionalstyle("clear:left; padding:3px;")))
        __M_writer(u'></div>\n')
        return ''
    finally:
        context.caller_stack._pop_frame()
def render_body(context,**pageargs):
    context.caller_stack._push_frame()
    try:
        __M_locals = __M_dict_builtin(pageargs=pageargs)
        _import_ns = {}
        _mako_get_namespace(context, '__anon_0x7f2175eb4e50')._populate(_import_ns, [u'optionalstyle'])
        _mako_get_namespace(context, '__anon_0x7f21640f8210')._populate(_import_ns, [u'thing_css_class'])
        len = _import_ns.get('len', context.get('len', UNDEFINED))
        thing = _import_ns.get('thing', context.get('thing', UNDEFINED))
        optionalstyle = _import_ns.get('optionalstyle', context.get('optionalstyle', UNDEFINED))
        thing_css_class = _import_ns.get('thing_css_class', context.get('thing_css_class', UNDEFINED))
        enumerate = _import_ns.get('enumerate', context.get('enumerate', UNDEFINED))
        __M_writer = context.writer()
        # SOURCE LINE 22
        __M_writer(u'\n')
        # SOURCE LINE 23
        __M_writer(u'\n')
        # SOURCE LINE 24
        __M_writer(u'\n<div ')
        # SOURCE LINE 25
        __M_writer(conditional_websafe(optionalstyle("margin-left:5px;margin-top:7px;")))
        __M_writer(u'>\n  ')
        # SOURCE LINE 26
 
        t = thing.things
        l = len(t)
        two_col = request.GET.has_key("twocolumn") if l else False
           
        
        __M_locals_builtin_stored = __M_locals_builtin()
        __M_locals.update(__M_dict_builtin([(__M_key, __M_locals_builtin_stored[__M_key]) for __M_key in ['two_col','t','l'] if __M_key in __M_locals_builtin_stored]))
        # SOURCE LINE 30
        __M_writer(u'\n')
        # SOURCE LINE 31
        for i, a in enumerate(t):
            # SOURCE LINE 32
            __M_writer(u'   ')
 
            cls = "reddit-link "
            cls += "odd " if i % 2 else "even "
            cls += "first-half" if i < (l+1)/2 else "second-half"
                
            
            __M_locals_builtin_stored = __M_locals_builtin()
            __M_locals.update(__M_dict_builtin([(__M_key, __M_locals_builtin_stored[__M_key]) for __M_key in ['cls'] if __M_key in __M_locals_builtin_stored]))
            # SOURCE LINE 36
            __M_writer(u'\n')
            # SOURCE LINE 37
            if two_col:
                # SOURCE LINE 38
                if i == 0:
                    # SOURCE LINE 39
                    __M_writer(u'       <div class="reddit-listing-left" \n            ')
                    # SOURCE LINE 40
                    __M_writer(conditional_websafe(optionalstyle("float:left;width:47%")))
                    __M_writer(u'>\n')
                    # SOURCE LINE 41
                elif i - 1 < (l+1)/2 and i >= (l+1)/2:
                    # SOURCE LINE 42
                    __M_writer(u'       </div>\n       <div class="reddit-listing-right" \n            ')
                    # SOURCE LINE 44
                    __M_writer(conditional_websafe(optionalstyle("float:right; width:49%;")))
                    __M_writer(u'>\n')
                    pass
                pass
            # SOURCE LINE 47
            __M_writer(u'\n     <div class="')
            # SOURCE LINE 48
            __M_writer(conditional_websafe(cls))
            __M_writer(u' ')
            __M_writer(conditional_websafe(thing_css_class(a)))
            __M_writer(u'">\n       ')
            # SOURCE LINE 49
            __M_writer(conditional_websafe(a))
            __M_writer(u'\n     </div>\n')
            # SOURCE LINE 51
            if two_col and i == l - 1:
                # SOURCE LINE 52
                __M_writer(u'   </div>\n')
                pass
            pass
        # SOURCE LINE 55
        if two_col:
            # SOURCE LINE 56
            __M_writer(u'    <div ')
            __M_writer(conditional_websafe(optionalstyle("clear:both")))
            __M_writer(u'></div>\n')
            pass
        # SOURCE LINE 58
        __M_writer(u'</div>\n')
        return ''
    finally:
        context.caller_stack._pop_frame()