def suggestion_widget(context, type=None): request = context['request'] browser = request.META[ 'HTTP_USER_AGENT'] if 'HTTP_USER_AGENT' in request.META else '' user = request.user tags = get_suggested_tags(user)() users = get_most_stickered_unfollowed_users(user)() has_tags = len(tags) > 0 has_users = len(users) > 0 using_chrome = chrome.search(browser) is not None def get_type(): types = ['invite'] if has_users: types += ['people'] if has_tags: types += ['tags'] if using_chrome: types += ['chrome'] return random.choice(types) try: ttype = get_type() except IndexError: return Markup('') if ttype == 'tags': ctx = {'tags': tags, 'type': ttype} return Markup( render_jinja_to_string('suggest/suggest_tags_widget.html', update_context(context, ctx))) elif ttype == 'people': ctx = {'users': users, 'type': ttype} return Markup( render_jinja_to_string('suggest/suggest_people_widget.html', update_context(context, ctx))) elif ttype == 'invite': ctx = {'type': ttype} return Markup( render_jinja_to_string('suggest/suggest_invite_widget.html', update_context(context, ctx))) elif ttype == 'chrome': ctx = {'type': ttype} return Markup( render_jinja_to_string('suggest/suggest_extension_widget.html', update_context(context, ctx)))
def suggestion_widget(context, type=None): request = context['request'] browser = request.META['HTTP_USER_AGENT'] if 'HTTP_USER_AGENT' in request.META else '' user = request.user tags = get_suggested_tags(user)() users = get_most_stickered_unfollowed_users(user)() has_tags = len(tags) > 0 has_users = len(users) > 0 using_chrome = chrome.search(browser) is not None def get_type(): types = ['invite'] if has_users: types += ['people'] if has_tags: types += ['tags'] if using_chrome: types += ['chrome'] return random.choice(types) try: ttype = get_type() except IndexError: return Markup('') if ttype == 'tags': ctx = { 'tags': tags, 'type': ttype } return Markup(render_jinja_to_string('suggest/suggest_tags_widget.html', update_context(context, ctx))) elif ttype == 'people': ctx = { 'users': users, 'type': ttype } return Markup(render_jinja_to_string('suggest/suggest_people_widget.html', update_context(context, ctx))) elif ttype == 'invite': ctx = { 'type': ttype } return Markup(render_jinja_to_string('suggest/suggest_invite_widget.html', update_context(context, ctx))) elif ttype == 'chrome': ctx = { 'type': ttype } return Markup(render_jinja_to_string('suggest/suggest_extension_widget.html', update_context(context, ctx)))
def update_stickered_users(): get_most_stickered_unfollowed_users(request.user).force()