def get_context_data(self, request, context): """Extract common data from the current request and context This is generally done explicitly in `__init__`, but is done by hand for votes before the request context is lost by the queuing. request, context: Should be pylons.request & pylons.c respectively """ data = {} if context.user_is_loggedin: data["user_id"] = context.user._id data["user_name"] = context.user.name else: loid = request.cookies.get("loid", None) if loid: data["loid"] = loid oauth2_client = getattr(context, "oauth2_client", None) if oauth2_client: data["oauth2_client_id"] = oauth2_client._id data["geoip_country"] = get_request_location(request, context) data["domain"] = request.host data["user_agent"] = request.user_agent http_referrer = request.headers.get("Referer", None) if http_referrer: data["referrer_url"] = http_referrer data["referrer_domain"] = domain(http_referrer) return data
def get_featured_event(): """Return the currently featured live thread for the given user.""" location = geoip.get_request_location(request, c) featured_events = get_all_featured_events() event_id = featured_events.get(location) or featured_events.get("ANY") if not event_id: return None try: return LiveUpdateEvent._by_fullname(event_id) except NotFound: return None
def get_featured_event(): """Return the currently featured live thread for the given user.""" featured_events = NamedGlobals.get(HAPPENING_NOW_KEY, None) location = geoip.get_request_location(request, c) event_id = None if featured_events: event_id = featured_events.get(location) or featured_events.get("ANY") if not event_id: return None try: return LiveUpdateEvent._byID(event_id) except NotFound: return None
def get_context_data(self, request, context): """Extract common data from the current request and context This is generally done explicitly in `__init__`, but is done by hand for votes before the request context is lost by the queuing. request, context: Should be pylons.request & pylons.c respectively """ data = {} if context.user_is_loggedin: data["user_id"] = context.user._id data["user_name"] = context.user.name else: if context.loid: data.update(context.loid.to_dict()) oauth2_client = getattr(context, "oauth2_client", None) if oauth2_client: data["oauth2_client_id"] = oauth2_client._id data["oauth2_client_name"] = oauth2_client.name data["oauth2_client_app_type"] = oauth2_client.app_type data["geoip_country"] = get_request_location(request, context) data["domain"] = request.host data["user_agent"] = request.user_agent data["user_agent_parsed"] = parse_agent(request.user_agent) http_referrer = request.headers.get("Referer", None) if http_referrer: data["referrer_url"] = http_referrer data["referrer_domain"] = domain(http_referrer) hooks.get_hook("eventcollector.context_data").call( data=data, user=context.user, request=request, context=context, ) return data