<s> """<STR_LIT>""" <EOL> from __future__ import absolute_import <EOL> from sentry . utils . http import is_valid_origin <EOL> DISALLOWED_SOURCES = ( <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT:localhost>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> '<STR_LIT>' <EOL> ) <EOL> ALLOWED_DIRECTIVES = frozenset ( ( <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , <EOL> ) ) <EOL> def is_valid_csp_report ( report , project = None ) : <EOL> if report . get ( '<STR_LIT>' ) not in ALLOWED_DIRECTIVES : <EOL> return False <EOL> blocked_uri = report . get ( '<STR_LIT>' ) <EOL> if blocked_uri == '<STR_LIT>' : <EOL> return False <EOL> source_file = report . get ( '<STR_LIT>' ) <EOL> if not any ( ( blocked_uri , source_file ) ) : <EOL> return False <EOL> if project is None or bool ( project . get_option ( '<STR_LIT>' , True ) ) : <EOL> disallowed_sources = DISALLOWED_SOURCES <EOL> else : <EOL> disallowed_sources = ( ) <EOL> if project is not None : <EOL> disallowed_sources += tuple ( project . get_option ( '<STR_LIT>' , [ ] ) ) <EOL> if not disallowed_sources : <EOL> return True <EOL> if source_file and is_valid_origin ( source_file , allowed = disallowed_sources ) : <EOL> return False <EOL> if blocked_uri and is_valid_origin ( blocked_uri , allowed = disallowed_sources ) : <EOL> return False <EOL> return True </s>
