Skip to content

Commit

Permalink
fix: fix ugetext and ngettext deprecation warnings
Browse files Browse the repository at this point in the history
  • Loading branch information
UsamaSadiq committed Aug 17, 2023
1 parent 59782fa commit 2ad1f38
Show file tree
Hide file tree
Showing 3 changed files with 30 additions and 30 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
<%!
import json

from django.utils.translation import gettext as _, ungettext
from django.utils.translation import gettext as _, ngettext
from django.template.defaultfilters import escapejs
from django.urls import reverse

Expand Down Expand Up @@ -52,8 +52,8 @@ <h2 class="discussion-profile-title">${_("Discussion")}</h2>
<span class="user-roles">${", ".join(_(role_name) for role_name in django_user_roles)}</span>
</span>
<div class="discussion-profile-count">
<span class="discussion-profile-info threads-count">${ungettext('%s discussion started', '%s discussions started', profiled_user['threads_count']) % span(profiled_user['threads_count'])}</span>
<span class="discussion-profile-info comments-count">${ungettext('%s comment', '%s comments', profiled_user['comments_count']) % span(profiled_user['comments_count'])}</span>
<span class="discussion-profile-info threads-count">${ngettext('%s discussion started', '%s discussions started', profiled_user['threads_count']) % span(profiled_user['threads_count'])}</span>
<span class="discussion-profile-info comments-count">${ngettext('%s comment', '%s comments', profiled_user['comments_count']) % span(profiled_user['comments_count'])}</span>
</div>
</div>
</div>
Expand Down
44 changes: 22 additions & 22 deletions xmodule/capa_block.py
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@


# Make '_' a no-op so we can scrape strings. Using lambda instead of
# `django.utils.translation.ugettext_noop` because Django cannot be imported in this file
# `django.utils.translation.gettext_noop` because Django cannot be imported in this file
_ = lambda text: text

# Generate this many different variants of problems with rerandomize=per_student
Expand Down Expand Up @@ -388,7 +388,7 @@ def handle_ajax(self, dispatch, data):
'ungraded_response': self.handle_ungraded_response
}

_ = self.runtime.service(self, "i18n").ugettext
_ = self.runtime.service(self, "i18n").gettext

generic_error_message = _(
"We're sorry, there was an error with processing your request. "
Expand Down Expand Up @@ -661,7 +661,7 @@ def generate_report_data(self, user_state_iterator, limit_responses=None):
xqueue=None,
matlab_api_key=None,
)
_ = capa_system.i18n.ugettext
_ = capa_system.i18n.gettext

count = 0
for user_state in user_state_iterator:
Expand Down Expand Up @@ -928,7 +928,7 @@ def submit_button_name(self):
"""
# The logic flow is a little odd so that _('xxx') strings can be found for
# translation while also running _() just once for each string.
_ = self.runtime.service(self, "i18n").ugettext
_ = self.runtime.service(self, "i18n").gettext
submit = _('Submit')

return submit
Expand All @@ -941,7 +941,7 @@ def submit_button_submitting_name(self):
display the value returned by this function until a response is
received by the server.
"""
_ = self.runtime.service(self, "i18n").ugettext
_ = self.runtime.service(self, "i18n").gettext
return _('Submitting')

def should_enable_submit_button(self):
Expand Down Expand Up @@ -1071,7 +1071,7 @@ def handle_problem_html_error(self, err):
self.set_state_from_lcp()
self.set_score(self.score_from_lcp(self.lcp))
# Prepend a scary warning to the student
_ = self.runtime.service(self, "i18n").ugettext
_ = self.runtime.service(self, "i18n").gettext
warning_msg = Text(_("Warning: The problem has been reset to its initial state!"))
warning = HTML('<div class="capa_reset"> <h2>{}</h2>').format(warning_msg)

Expand Down Expand Up @@ -1130,7 +1130,7 @@ def get_demand_hint(self, hint_index):
demand_hints = self.lcp.tree.xpath("//problem/demandhint/hint")
hint_index = hint_index % len(demand_hints)

_ = self.runtime.service(self, "i18n").ugettext
_ = self.runtime.service(self, "i18n").gettext

counter = 0
total_text = ''
Expand Down Expand Up @@ -1195,7 +1195,7 @@ def get_problem_html(self, encapsulate=True, submit_notification=False):
html = self.handle_problem_html_error(err)

html = self.remove_tags_from_html(html)
_ = self.runtime.service(self, "i18n").ugettext
_ = self.runtime.service(self, "i18n").gettext

# Enable/Disable Submit button if should_enable_submit_button returns True/False.
submit_button = self.submit_button_name()
Expand Down Expand Up @@ -1292,11 +1292,11 @@ def _get_answer_notification(self, render_notifications):
break

# Build the notification message based on the notification type and translate it.
ungettext = self.runtime.service(self, "i18n").ungettext
_ = self.runtime.service(self, "i18n").ugettext
ngettext = self.runtime.service(self, "i18n").ngettext
_ = self.runtime.service(self, "i18n").gettext
if answer_notification_type == 'incorrect':
if progress is not None:
answer_notification_message = ungettext(
answer_notification_message = ngettext(
"Incorrect ({progress} point)",
"Incorrect ({progress} points)",
progress.frac()[1]
Expand All @@ -1305,7 +1305,7 @@ def _get_answer_notification(self, render_notifications):
answer_notification_message = _('Incorrect')
elif answer_notification_type == 'correct':
if progress is not None:
answer_notification_message = ungettext(
answer_notification_message = ngettext(
"Correct ({progress} point)",
"Correct ({progress} points)",
progress.frac()[1]
Expand All @@ -1314,7 +1314,7 @@ def _get_answer_notification(self, render_notifications):
answer_notification_message = _('Correct')
elif answer_notification_type == 'partially-correct':
if progress is not None:
answer_notification_message = ungettext(
answer_notification_message = ngettext(
"Partially correct ({progress} point)",
"Partially correct ({progress} points)",
progress.frac()[1]
Expand Down Expand Up @@ -1550,7 +1550,7 @@ def get_answer(self, _data):
'answers': new_answers,
'correct_status_html': self.runtime.service(self, 'mako').render_template(
'status_span.html',
{'status': Status('correct', self.runtime.service(self, "i18n").ugettext)}
{'status': Status('correct', self.runtime.service(self, "i18n").gettext)}
)
}

Expand Down Expand Up @@ -1690,7 +1690,7 @@ def submit_problem(self, data, override_time=False):
if override_time is not False:
current_time = override_time

_ = self.runtime.service(self, "i18n").ugettext
_ = self.runtime.service(self, "i18n").gettext

# Too late. Cannot submit
if self.closed():
Expand Down Expand Up @@ -1879,25 +1879,25 @@ def pretty_print_seconds(self, num_seconds):
Returns time duration nicely formated, e.g. "3 minutes 4 seconds"
"""
# Here _ is the N variant ungettext that does pluralization with a 3-arg call
ungettext = self.runtime.service(self, "i18n").ungettext
ngettext = self.runtime.service(self, "i18n").ngettext
hours = num_seconds // 3600
sub_hour = num_seconds % 3600
minutes = sub_hour // 60
seconds = sub_hour % 60
display = ""
if hours > 0:
display += ungettext("{num_hour} hour", "{num_hour} hours", hours).format(num_hour=hours)
display += ngettext("{num_hour} hour", "{num_hour} hours", hours).format(num_hour=hours)
if minutes > 0:
if display != "":
display += " "
# translators: "minute" refers to a minute of time
display += ungettext("{num_minute} minute", "{num_minute} minutes", minutes).format(num_minute=minutes)
display += ngettext("{num_minute} minute", "{num_minute} minutes", minutes).format(num_minute=minutes)
# Taking care to make "0 seconds" instead of "" for 0 time
if seconds > 0 or (hours == 0 and minutes == 0):
if display != "":
display += " "
# translators: "second" refers to a second of time
display += ungettext("{num_second} second", "{num_second} seconds", seconds).format(num_second=seconds)
display += ngettext("{num_second} second", "{num_second} seconds", seconds).format(num_second=seconds)
return display

def get_submission_metadata_safe(self, answers, correct_map):
Expand Down Expand Up @@ -1996,7 +1996,7 @@ def save_problem(self, data):

answers = self.make_dict_of_responses(data)
event_info['answers'] = answers
_ = self.runtime.service(self, "i18n").ugettext
_ = self.runtime.service(self, "i18n").gettext

# Too late. Cannot submit
if self.closed() and not self.max_attempts == 0:
Expand Down Expand Up @@ -2053,7 +2053,7 @@ def reset_problem(self, _data):
event_info = {}
event_info['old_state'] = self.lcp.get_state()
event_info['problem_id'] = str(self.location)
_ = self.runtime.service(self, "i18n").ugettext
_ = self.runtime.service(self, "i18n").gettext

if self.closed():
event_info['failure'] = 'closed'
Expand Down Expand Up @@ -2119,7 +2119,7 @@ def rescore(self, only_if_higher=False):
"""
event_info = {'state': self.lcp.get_state(), 'problem_id': str(self.location)}

_ = self.runtime.service(self, "i18n").ugettext
_ = self.runtime.service(self, "i18n").gettext

if not self.lcp.supports_rescoring():
event_info['failure'] = 'unsupported'
Expand Down
10 changes: 5 additions & 5 deletions xmodule/video_block/transcripts_utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -203,7 +203,7 @@ def get_transcripts_from_youtube(youtube_id, settings, i18n, youtube_transcript_
Returns (status, transcripts): bool, dict.
"""
_ = i18n.ugettext
_ = i18n.gettext

utf8_parser = etree.XMLParser(encoding='utf-8')

Expand Down Expand Up @@ -259,7 +259,7 @@ def download_youtube_subs(youtube_id, video_block, settings): # lint-amnesty, p
GetTranscriptsFromYouTubeException, if fails.
"""
i18n = video_block.runtime.service(video_block, "i18n")
_ = i18n.ugettext
_ = i18n.gettext

subs = get_transcripts_from_youtube(youtube_id, settings, i18n)
return json.dumps(subs, indent=2)
Expand All @@ -285,7 +285,7 @@ def generate_subs_from_source(speed_subs, subs_type, subs_filedata, block, langu
:param language: str, language of translation of transcripts
:returns: True, if all subs are generated and saved successfully.
"""
_ = block.runtime.service(block, "i18n").ugettext
_ = block.runtime.service(block, "i18n").gettext
if subs_type.lower() != 'srt':
raise TranscriptsGenerationException(_("We support only SubRip (*.srt) transcripts format."))
try:
Expand Down Expand Up @@ -434,7 +434,7 @@ def manage_video_subtitles_save(item, user, old_metadata=None, generate_translat
(To avoid confusing situation if you attempt to correct a translation by uploading
a new version of the SRT file with same name).
"""
_ = item.runtime.service(item, "i18n").ugettext
_ = item.runtime.service(item, "i18n").gettext

# # 1.
# html5_ids = get_html5_ids(item.html5_sources)
Expand Down Expand Up @@ -519,7 +519,7 @@ def generate_sjson_for_all_speeds(block, user_filename, result_subs_dict, lang):
"""
Generates sjson from srt for given lang.
"""
_ = block.runtime.service(block, "i18n").ugettext
_ = block.runtime.service(block, "i18n").gettext

try:
srt_transcripts = contentstore().find(Transcript.asset_location(block.location, user_filename))
Expand Down

0 comments on commit 2ad1f38

Please sign in to comment.