def process_response(self, request, response): if request.method.lower() not in settings.REQUEST_VALID_METHOD_NAMES: return response if response.status_code < 400 and settings.REQUEST_ONLY_ERRORS: return response ignore = patterns(False, *settings.REQUEST_IGNORE_PATHS) if ignore.resolve(request.path[1:]): return response if request.is_ajax() and settings.REQUEST_IGNORE_AJAX: return response if request.META.get('REMOTE_ADDR') in settings.REQUEST_IGNORE_IP: return response if getattr(request, 'user', False): if request.user.username in settings.REQUEST_IGNORE_USERNAME: return response r = Request() r.from_http_request(request, response) return response
browsers = patterns(('Unknown', {}), # Browsers (r'AOL (?P<version>[\d+\.\d+]+)', 'AOL'), (r'Mozilla/(?P<mozilla_version>[-.\w]+) \(compatible; ( ?)MSIE (?P<msie_version>[-.\w]+);( ?)( ?)America Online Browser (?P<version>[-.\w]+);', 'AOL'), (r'Camino/(?P<version>[-.\w]+)', 'Camino'), (r'Chrome/(?P<version>[-.\w]+)', 'Google Chrome'), (r'Firefox(/(?P<version>[-.\w]+)?)', 'Firefox'), (r'Mozilla/(?P<mozilla_version>[-.\w]+) \(compatible; ( ?)MSIE (?P<version>[-.\w]+);( ?)( ?)(Win|Mac)', 'Internet Explorer'), (r'Konqueror/(?P<version>[-.\w]+)', 'Konqueror'), (r'Opera( |/)(?P<version>[-.\w]+)', 'Opera'), (r'OmniWeb(/(?P<version>[-.\w]+)?)', 'OmniWeb'), (r'Safari/(?P<version>[-.\w]+)', 'Safari'), (r'(Netscape([\d]?)|Navigator)/(?P<version>[-.\w]+)', 'Netscape'), (r'Wget/(?P<version>[-.\w]+)', 'Wget'), (r'Minefield(/(?P<version>[-.\w]+)?)', 'Firefox'), # Firefox nightly trunk builds (r'Shiretoko(/(?P<version>[-.\w]+)?)', 'Firefox'), # Firefox testing browser (r'GranParadiso(/(?P<version>[-.\w]+)?)', 'Firefox'), # Firefox testing browser (r'Iceweasel(/(?P<version>[-.\w]+)?)', 'Firefox'), # Debian re-branded firefox # RSS Reader (r'(NetNewsWire|NewsGatorOnline)/(?P<version>[-.\w]+)', 'NetNewsWire'), (r'Feedfetcher-Google', 'Google Reader'), # Bots (r'Googlebot', 'Google'), (r'Yahoo! Slurp', 'Yahoo'), (r'msnbot', 'MSN Bot'), (r'(Baiduspider|BaiduImagespider)', 'Baiduspider'), (r'Ask Jeeves', 'Ask Jeeves'), (r'FollowSite', 'FollowSite'), (r'WebAlta Crawler', 'WebAlta Crawler'), (r'ScoutJet', 'ScoutJet'), (r'SurveyBot', 'domaintools.com'), (r'Gigabot', 'Gigabot'), (r'Speedy Spider', 'entireweb'), (r'discobot', 'Discovery Engine'), (r'Purebot(/(?P<version>[-.\w]+)?);', 'Purity search'), (r'Yandex(/(?P<version>[-.\w]+)?)', 'Yandex'), (r'PostRank(/(?P<version>[-.\w]+)?)', 'PostRank'), (r'Mozilla/(?P<mozilla_version>[-.\w]+) \(compatible; DotBot/(?P<version>[-.\w]+); http://www.dotnetdotcom.org/, [email protected]\)', 'Dotbot'), (r'IrssiUrlLog(/(?P<version>[-.\w]+)?)', 'irssi'), (r'Linguee Bot \(http://www.linguee.com/bot; [email protected]\)', 'Linguee'), (r'Sphider', 'Sphider'), # Other (r'Mediapartners-Google', 'Google Ads'), (r'Apple-PubSub', 'Apple-PubSub'), (r'Python-urllib', 'Python'), )
browsers = patterns( ('Unknown', {}), # Browsers (r'AOL (?P<version>[\d+\.\d+]+)', 'AOL'), (r'Mozilla/(?P<mozilla_version>[-.\w]+) \(compatible; ( ?)MSIE (?P<msie_version>[-.\w]+);( ?)( ?)America Online Browser (?P<version>[-.\w]+);', 'AOL'), (r'Camino/(?P<version>[-.\w]+)', 'Camino'), (r'Chrome/(?P<version>[-.\w]+)', 'Google Chrome'), (r'Firefox(/(?P<version>[-.\w]+)?)', 'Firefox'), (r'Mozilla/(?P<mozilla_version>[-.\w]+) \(compatible; ( ?)MSIE (?P<version>[-.\w]+);( ?)( ?)(Win|Mac)', 'Internet Explorer'), (r'Konqueror/(?P<version>[-.\w]+)', 'Konqueror'), (r'Opera( |/)(?P<version>[-.\w]+)', 'Opera'), (r'OmniWeb(/(?P<version>[-.\w]+)?)', 'OmniWeb'), (r'Safari/(?P<version>[-.\w]+)', 'Safari'), (r'(Netscape([\d]?)|Navigator)/(?P<version>[-.\w]+)', 'Netscape'), (r'Wget/(?P<version>[-.\w]+)', 'Wget'), (r'Minefield(/(?P<version>[-.\w]+)?)', 'Firefox'), # Firefox nightly trunk builds (r'Shiretoko(/(?P<version>[-.\w]+)?)', 'Firefox'), # Firefox testing browser (r'GranParadiso(/(?P<version>[-.\w]+)?)', 'Firefox'), # Firefox testing browser (r'Iceweasel(/(?P<version>[-.\w]+)?)', 'Firefox'), # Debian re-branded firefox # RSS Reader (r'(NetNewsWire|NewsGatorOnline)/(?P<version>[-.\w]+)', 'NetNewsWire'), (r'Feedfetcher-Google', 'Google Reader'), # Bots (r'Googlebot', 'Google'), (r'Yahoo! Slurp', 'Yahoo'), (r'msnbot', 'MSN Bot'), (r'(Baiduspider|BaiduImagespider)', 'Baiduspider'), (r'Ask Jeeves', 'Ask Jeeves'), (r'FollowSite', 'FollowSite'), (r'WebAlta Crawler', 'WebAlta Crawler'), (r'ScoutJet', 'ScoutJet'), (r'SurveyBot', 'domaintools.com'), (r'Gigabot', 'Gigabot'), (r'Speedy Spider', 'entireweb'), (r'discobot', 'Discovery Engine'), (r'Purebot(/(?P<version>[-.\w]+)?);', 'Purity search'), (r'Yandex(/(?P<version>[-.\w]+)?)', 'Yandex'), (r'PostRank(/(?P<version>[-.\w]+)?)', 'PostRank'), (r'Mozilla/(?P<mozilla_version>[-.\w]+) \(compatible; DotBot/(?P<version>[-.\w]+); http://www.dotnetdotcom.org/, [email protected]\)', 'Dotbot'), (r'IrssiUrlLog(/(?P<version>[-.\w]+)?)', 'irssi'), (r'Linguee Bot \(http://www.linguee.com/bot; [email protected]\)', 'Linguee'), (r'Sphider', 'Sphider'), # Other (r'Mediapartners-Google', 'Google Ads'), (r'Apple-PubSub', 'Apple-PubSub'), (r'Python-urllib', 'Python'), )