Skip to content

Commit

Permalink
Merge pull request #33601 from DanielVZ96/dvz/clean-warnings
Browse files Browse the repository at this point in the history
chore: clean and fix console warnings
  • Loading branch information
Agrendalath authored Nov 6, 2023
2 parents 5d6e925 + 4f1503f commit 2cf4d73
Show file tree
Hide file tree
Showing 7 changed files with 86 additions and 23 deletions.
10 changes: 10 additions & 0 deletions cms/pytest.ini
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,16 @@ filterwarnings =
default
ignore:No request passed to the backend, unable to rate-limit:UserWarning
ignore::xblock.exceptions.FieldDataDeprecationWarning
# Remove default_app_config warning after updating Django to 4.2
ignore:.*You can remove default_app_config.*:PendingDeprecationWarning
# ABC deprecation Warning comes from libsass
ignore:Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated.*:DeprecationWarning:sass
# declare_namespace Warning comes from XBlock https://github.com/openedx/XBlock/issues/641
# and also due to dependency: https://github.com/PyFilesystem/pyfilesystem2
ignore:Deprecated call to `pkg_resources.declare_namespace.*:DeprecationWarning
ignore:.*pkg_resources is deprecated as an API.*:DeprecationWarning
ignore:'etree' is deprecated. Use 'xml.etree.ElementTree' instead.:DeprecationWarning:wiki

norecursedirs = envs
python_classes =
python_files = test.py tests.py test_*.py *_tests.py
10 changes: 10 additions & 0 deletions common/test/pytest.ini
Original file line number Diff line number Diff line change
Expand Up @@ -11,4 +11,14 @@ filterwarnings =
default
ignore:No request passed to the backend, unable to rate-limit:UserWarning
ignore::xblock.exceptions.FieldDataDeprecationWarning
# Remove default_app_config warning after updating Django to 4.2
ignore:.*You can remove default_app_config.*:PendingDeprecationWarning
# ABC deprecation Warning comes from libsass
ignore:Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated.*:DeprecationWarning:sass
# declare_namespace Warning comes from XBlock https://github.com/openedx/XBlock/issues/641
# and also due to dependency: https://github.com/PyFilesystem/pyfilesystem2
ignore:Deprecated call to `pkg_resources.declare_namespace.*:DeprecationWarning
ignore:.*pkg_resources is deprecated as an API.*:DeprecationWarning
ignore:'etree' is deprecated. Use 'xml.etree.ElementTree' instead.:DeprecationWarning:wiki

norecursedirs = .cache
20 changes: 10 additions & 10 deletions openedx/core/djangoapps/contentserver/middleware.py
Original file line number Diff line number Diff line change
Expand Up @@ -100,17 +100,17 @@ def process_request(self, request):
safe_course_key = safe_course_key.replace(run='only')

if newrelic:
newrelic.agent.add_custom_parameter('course_id', safe_course_key)
newrelic.agent.add_custom_parameter('org', loc.org)
newrelic.agent.add_custom_parameter('contentserver.path', loc.path)
newrelic.agent.add_custom_attribute('course_id', safe_course_key)
newrelic.agent.add_custom_attribute('org', loc.org)
newrelic.agent.add_custom_attribute('contentserver.path', loc.path)

# Figure out if this is a CDN using us as the origin.
is_from_cdn = StaticContentServer.is_cdn_request(request)
newrelic.agent.add_custom_parameter('contentserver.from_cdn', is_from_cdn)
newrelic.agent.add_custom_attribute('contentserver.from_cdn', is_from_cdn)

# Check if this content is locked or not.
locked = self.is_content_locked(content)
newrelic.agent.add_custom_parameter('contentserver.locked', locked)
newrelic.agent.add_custom_attribute('contentserver.locked', locked)

# Check that user has access to the content.
if not self.is_user_authorized(request, content, loc):
Expand Down Expand Up @@ -169,7 +169,7 @@ def process_request(self, request):
response.status_code = 206 # Partial Content

if newrelic:
newrelic.agent.add_custom_parameter('contentserver.ranged', True)
newrelic.agent.add_custom_attribute('contentserver.ranged', True)
else:
log.warning(
"Cannot satisfy ranges in Range header: %s for content: %s",
Expand All @@ -183,8 +183,8 @@ def process_request(self, request):
response['Content-Length'] = content.length

if newrelic:
newrelic.agent.add_custom_parameter('contentserver.content_len', content.length)
newrelic.agent.add_custom_parameter('contentserver.content_type', content.content_type)
newrelic.agent.add_custom_attribute('contentserver.content_len', content.length)
newrelic.agent.add_custom_attribute('contentserver.content_type', content.content_type)

# "Accept-Ranges: bytes" tells the user that only "bytes" ranges are allowed
response['Accept-Ranges'] = 'bytes'
Expand Down Expand Up @@ -214,13 +214,13 @@ def set_caching_headers(self, content, response):
cache_ttl = CourseAssetCacheTtlConfig.get_cache_ttl()
if cache_ttl > 0 and not is_locked:
if newrelic:
newrelic.agent.add_custom_parameter('contentserver.cacheable', True)
newrelic.agent.add_custom_attribute('contentserver.cacheable', True)

response['Expires'] = StaticContentServer.get_expiration_value(datetime.datetime.utcnow(), cache_ttl)
response['Cache-Control'] = "public, max-age={ttl}, s-maxage={ttl}".format(ttl=cache_ttl)
elif is_locked:
if newrelic:
newrelic.agent.add_custom_parameter('contentserver.cacheable', False)
newrelic.agent.add_custom_attribute('contentserver.cacheable', False)

response['Cache-Control'] = "private, no-cache, no-store"

Expand Down
32 changes: 32 additions & 0 deletions openedx/core/lib/logsettings.py
Original file line number Diff line number Diff line change
Expand Up @@ -126,6 +126,38 @@ def log_python_warnings():
warnings.filterwarnings('ignore', 'Setting _field_data is deprecated')
warnings.filterwarnings('ignore', 'Setting _field_data via the constructor is deprecated')
warnings.filterwarnings('ignore', '.*unclosed.*', category=ResourceWarning)
# Remove default_app_config warning after updating Django to 4.2
warnings.filterwarnings(
'ignore',
'.*You can remove default_app_config.*',
category=PendingDeprecationWarning
)
warnings.filterwarnings(
'ignore',
'Instead access HTTPResponse.headers directly.*',
category=DeprecationWarning,
module='elasticsearch'
)
warnings.filterwarnings(
'ignore',
'Using or importing the ABCs from \'collections\' instead of from \'collections.abc\' is deprecated.*',
category=DeprecationWarning,
module="sass",
)
warnings.filterwarnings(
'ignore',
'Deprecated call to `pkg_resources.declare_namespace.*',
category=DeprecationWarning,
)
warnings.filterwarnings(
'ignore',
'.*pkg_resources is deprecated as an API.*',
category=DeprecationWarning,
)
warnings.filterwarnings(
'ignore', "'etree' is deprecated. Use 'xml.etree.ElementTree' instead.",
category=DeprecationWarning, module='wiki'
)
# try:
# # There are far too many of these deprecation warnings in startup to output for every management command;
# # suppress them until we've fixed at least the most common ones as reported by the test suite
Expand Down
11 changes: 11 additions & 0 deletions setup.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,17 @@ filterwarnings =
default
ignore:No request passed to the backend, unable to rate-limit:UserWarning
ignore::xblock.exceptions.FieldDataDeprecationWarning
# Remove default_app_config warning after updating Django to 4.2
ignore:.*You can remove default_app_config.*:PendingDeprecationWarning
ignore:Instead access HTTPResponse.headers directly.*:DeprecationWarning:elasticsearch
# ABC deprecation Warning comes from libsass
ignore:Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated.*:DeprecationWarning:sass
# declare_namespace Warning comes from XBlock https://github.com/openedx/XBlock/issues/641
# and also due to dependency: https://github.com/PyFilesystem/pyfilesystem2
ignore:Deprecated call to `pkg_resources.declare_namespace.*:DeprecationWarning
ignore:.*pkg_resources is deprecated as an API.*:DeprecationWarning
ignore:'etree' is deprecated. Use 'xml.etree.ElementTree' instead.:DeprecationWarning:wiki

junit_family = xunit2
norecursedirs = .* *.egg build conf dist node_modules test_root cms/envs lms/envs
python_classes =
Expand Down
4 changes: 2 additions & 2 deletions xmodule/modulestore/store_utilities.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,11 @@ def _prefix_only_url_replace_regex(pattern):
Match urls in quotes pulling out the fields from pattern
"""
return re.compile("""
(?x) # flags=re.VERBOSE
(?P<quote>\\\\?['"]) # the opening quotes
{}
(?P=quote) # the first matching closing quote
""".format(pattern))
""".format(pattern),
flags=re.VERBOSE)


def rewrite_nonportable_content_links(source_course_id, dest_course_id, text):
Expand Down
22 changes: 11 additions & 11 deletions xmodule/seq_block.py
Original file line number Diff line number Diff line change
Expand Up @@ -832,10 +832,10 @@ def _capture_basic_metrics(self):
"""
if not newrelic:
return
newrelic.agent.add_custom_parameter('seq.block_id', str(self.location))
newrelic.agent.add_custom_parameter('seq.display_name', self.display_name or '')
newrelic.agent.add_custom_parameter('seq.position', self.position)
newrelic.agent.add_custom_parameter('seq.is_time_limited', self.is_time_limited)
newrelic.agent.add_custom_attribute('seq.block_id', str(self.location))
newrelic.agent.add_custom_attribute('seq.display_name', self.display_name or '')
newrelic.agent.add_custom_attribute('seq.position', self.position)
newrelic.agent.add_custom_attribute('seq.is_time_limited', self.is_time_limited)

def _capture_full_seq_item_metrics(self, children):
"""
Expand All @@ -847,17 +847,17 @@ def _capture_full_seq_item_metrics(self, children):
return
# Basic count of the number of Units (a.k.a. VerticalBlocks) we have in
# this learning sequence
newrelic.agent.add_custom_parameter('seq.num_units', len(children))
newrelic.agent.add_custom_attribute('seq.num_units', len(children))

# Count of all modules (leaf nodes) in this sequence (e.g. videos,
# problems, etc.) The units (verticals) themselves are not counted.
all_item_keys = self._locations_in_subtree(self)
newrelic.agent.add_custom_parameter('seq.num_items', len(all_item_keys))
newrelic.agent.add_custom_attribute('seq.num_items', len(all_item_keys))

# Count of all modules by block_type (e.g. "video": 2, "discussion": 4)
block_counts = collections.Counter(usage_key.block_type for usage_key in all_item_keys)
for block_type, count in block_counts.items():
newrelic.agent.add_custom_parameter(f'seq.block_counts.{block_type}', count)
newrelic.agent.add_custom_attribute(f'seq.block_counts.{block_type}', count)

def _capture_current_unit_metrics(self, children):
"""
Expand All @@ -871,15 +871,15 @@ def _capture_current_unit_metrics(self, children):
if 1 <= self.position <= len(children):
# Basic info about the Unit...
current = children[self.position - 1]
newrelic.agent.add_custom_parameter('seq.current.block_id', str(current.location))
newrelic.agent.add_custom_parameter('seq.current.display_name', current.display_name or '')
newrelic.agent.add_custom_attribute('seq.current.block_id', str(current.location))
newrelic.agent.add_custom_attribute('seq.current.display_name', current.display_name or '')

# Examining all blocks inside the Unit (or split_test, conditional, etc.)
child_locs = self._locations_in_subtree(current)
newrelic.agent.add_custom_parameter('seq.current.num_items', len(child_locs))
newrelic.agent.add_custom_attribute('seq.current.num_items', len(child_locs))
curr_block_counts = collections.Counter(usage_key.block_type for usage_key in child_locs)
for block_type, count in curr_block_counts.items():
newrelic.agent.add_custom_parameter(f'seq.current.block_counts.{block_type}', count)
newrelic.agent.add_custom_attribute(f'seq.current.block_counts.{block_type}', count)

def _time_limited_student_view(self):
"""
Expand Down

0 comments on commit 2cf4d73

Please sign in to comment.