Merge pull request #19751 from edx/unicode10
enable unicode format string linter
This commit is contained in:
@@ -163,7 +163,7 @@ def _write_chunk(request, courselike_key):
|
||||
if size < int(content_range['start']):
|
||||
_save_request_status(request, courselike_string, -1)
|
||||
log.warning(
|
||||
"Reported range %s does not match size downloaded so far %s",
|
||||
u"Reported range %s does not match size downloaded so far %s",
|
||||
content_range['start'],
|
||||
size
|
||||
)
|
||||
|
||||
@@ -982,7 +982,10 @@ class VideoImageTestCase(VideoUploadTestBase, CourseTestCase):
|
||||
'width': settings.VIDEO_IMAGE_MIN_WIDTH,
|
||||
'height': settings.VIDEO_IMAGE_MIN_HEIGHT - 10
|
||||
},
|
||||
'Recommended image resolution is {image_file_max_width}x{image_file_max_height}. The minimum resolution is {image_file_min_width}x{image_file_min_height}.'.format(
|
||||
(
|
||||
u'Recommended image resolution is {image_file_max_width}x{image_file_max_height}. '
|
||||
u'The minimum resolution is {image_file_min_width}x{image_file_min_height}.'
|
||||
).format(
|
||||
image_file_max_width=settings.VIDEO_IMAGE_MAX_WIDTH,
|
||||
image_file_max_height=settings.VIDEO_IMAGE_MAX_HEIGHT,
|
||||
image_file_min_width=settings.VIDEO_IMAGE_MIN_WIDTH,
|
||||
@@ -994,7 +997,10 @@ class VideoImageTestCase(VideoUploadTestBase, CourseTestCase):
|
||||
'width': 1200, # not 16:9, but width/height check first.
|
||||
'height': 100
|
||||
},
|
||||
'Recommended image resolution is {image_file_max_width}x{image_file_max_height}. The minimum resolution is {image_file_min_width}x{image_file_min_height}.'.format(
|
||||
(
|
||||
u'Recommended image resolution is {image_file_max_width}x{image_file_max_height}. '
|
||||
u'The minimum resolution is {image_file_min_width}x{image_file_min_height}.'
|
||||
).format(
|
||||
image_file_max_width=settings.VIDEO_IMAGE_MAX_WIDTH,
|
||||
image_file_max_height=settings.VIDEO_IMAGE_MAX_HEIGHT,
|
||||
image_file_min_width=settings.VIDEO_IMAGE_MIN_WIDTH,
|
||||
|
||||
@@ -139,6 +139,8 @@ REQUIRE_DEBUG = DEBUG
|
||||
########################### OAUTH2 #################################
|
||||
OAUTH_OIDC_ISSUER = 'http://127.0.0.1:8000/oauth2'
|
||||
|
||||
# pylint: disable=unicode-format-string
|
||||
|
||||
JWT_AUTH.update({
|
||||
'JWT_SECRET_KEY': 'lms-secret',
|
||||
'JWT_ISSUER': 'http://127.0.0.1:8000/oauth2',
|
||||
@@ -166,6 +168,8 @@ JWT_AUTH.update({
|
||||
),
|
||||
})
|
||||
|
||||
# pylint: enable=unicode-format-string
|
||||
|
||||
IDA_LOGOUT_URI_LIST = [
|
||||
'http://localhost:18130/logout/', # ecommerce
|
||||
'http://localhost:18150/logout/', # credentials
|
||||
|
||||
@@ -439,7 +439,7 @@ class VideoComponentPage(VideoPage):
|
||||
|
||||
self.q(css='#{}'.format(field_id)).fill(field_value)
|
||||
elif field_type == 'select':
|
||||
self.q(css='select[name="{0}"] option[value="{1}"]'.format(field_name, field_value)).first.click()
|
||||
self.q(css=u'select[name="{0}"] option[value="{1}"]'.format(field_name, field_value)).first.click()
|
||||
|
||||
def verify_field_value(self, field_name, field_value):
|
||||
"""
|
||||
|
||||
@@ -51,7 +51,7 @@ class EdxNotesTestMixin(UniqueCourseTest):
|
||||
XBlockFixtureDesc(
|
||||
"html",
|
||||
"Test HTML 1",
|
||||
data="""
|
||||
data=u"""
|
||||
<p><span class="{}">Annotate this!</span></p>
|
||||
<p>Annotate this</p>
|
||||
""".format(self.selector)
|
||||
|
||||
@@ -321,10 +321,10 @@ class SubsectionGradingPolicyTest(SubsectionGradingPolicyBase):
|
||||
|
||||
def test_subsection_grading_policy_on_progress_page(self):
|
||||
with self._logged_in_session():
|
||||
self._check_scores_and_page_text([(0, 1), (0, 1)], (0, 2), "Homework 1 - Test Subsection 1 - 0% (0/2)")
|
||||
self._check_scores_and_page_text([(0, 1), (0, 1)], (0, 2), u"Homework 1 - Test Subsection 1 - 0% (0/2)")
|
||||
self.courseware_page.visit()
|
||||
self._answer_problem_correctly()
|
||||
self._check_scores_and_page_text([(1, 1), (0, 1)], (1, 2), "Homework 1 - Test Subsection 1 - 50% (1/2)")
|
||||
self._check_scores_and_page_text([(1, 1), (0, 1)], (1, 2), u"Homework 1 - Test Subsection 1 - 50% (1/2)")
|
||||
|
||||
self._set_policy_for_subsection("Not Graded")
|
||||
|
||||
@@ -337,7 +337,7 @@ class SubsectionGradingPolicyTest(SubsectionGradingPolicyBase):
|
||||
self._set_policy_for_subsection("Homework")
|
||||
|
||||
with self._logged_in_session():
|
||||
self._check_scores_and_page_text([(1, 1), (0, 1)], (1, 2), "Homework 1 - Test Subsection 1 - 50% (1/2)")
|
||||
self._check_scores_and_page_text([(1, 1), (0, 1)], (1, 2), u"Homework 1 - Test Subsection 1 - 50% (1/2)")
|
||||
|
||||
|
||||
class SubsectionGradingPolicyA11yTest(SubsectionGradingPolicyBase):
|
||||
|
||||
@@ -209,8 +209,10 @@ def _footer_navigation_links(language=settings.LANGUAGE_CODE):
|
||||
platform_name = configuration_helpers.get_value('platform_name', settings.PLATFORM_NAME)
|
||||
links = [
|
||||
("about", (marketing_link("ABOUT"), _("About"))),
|
||||
("enterprise", (marketing_link("ENTERPRISE"),
|
||||
_("{platform_name} for Business").format(platform_name=platform_name))),
|
||||
("enterprise", (
|
||||
marketing_link("ENTERPRISE"),
|
||||
_(u"{platform_name} for Business").format(platform_name=platform_name)
|
||||
)),
|
||||
("blog", (marketing_link("BLOG"), _("Blog"))),
|
||||
("help-center", (settings.SUPPORT_SITE_LINK, _("Help Center"))),
|
||||
("contact", (reverse("support:contact_us"), _("Contact"))),
|
||||
@@ -272,8 +274,10 @@ def _footer_business_links(language=settings.LANGUAGE_CODE):
|
||||
platform_name = configuration_helpers.get_value('platform_name', settings.PLATFORM_NAME)
|
||||
links = [
|
||||
("about", (marketing_link("ABOUT"), _("About"))),
|
||||
("enterprise", (marketing_link("ENTERPRISE"),
|
||||
_("{platform_name} for Business").format(platform_name=platform_name))),
|
||||
("enterprise", (
|
||||
marketing_link("ENTERPRISE"),
|
||||
_(u"{platform_name} for Business").format(platform_name=platform_name)
|
||||
)),
|
||||
]
|
||||
|
||||
if language == settings.LANGUAGE_CODE:
|
||||
|
||||
@@ -517,7 +517,7 @@ def _send_course_email(entry_id, email_id, to_list, global_email_context, subtas
|
||||
total_recipients_failed += 1
|
||||
log.info(
|
||||
u"BulkEmail ==> Email address %s contains non-ascii characters. Skipping sending "
|
||||
"email to %s, EmailId: %s ",
|
||||
u"email to %s, EmailId: %s ",
|
||||
email,
|
||||
current_recipient['profile__name'],
|
||||
email_id
|
||||
|
||||
@@ -446,8 +446,8 @@ def _certificate_download_url(user_id, course_id):
|
||||
except GeneratedCertificate.DoesNotExist:
|
||||
log.critical(
|
||||
u'Unable to lookup certificate\n'
|
||||
'user id: %d\n'
|
||||
'course: %s', user_id, unicode(course_id)
|
||||
u'user id: %d\n'
|
||||
u'course: %s', user_id, unicode(course_id)
|
||||
)
|
||||
return ''
|
||||
|
||||
@@ -509,8 +509,8 @@ def get_certificate_template(course_key, mode, language):
|
||||
)
|
||||
template = get_language_specific_template_or_default(language, org_mode_and_key_templates, course_key)
|
||||
if template:
|
||||
log.info("Template retrieved for course based on the course_key:{course_key}, mode:{mode} "
|
||||
"and org_id:{org_id}".format(course_key=course_key, mode=mode, org_id=org_id))
|
||||
log.info(u"Template retrieved for course based on the course_key:{course_key}, mode:{mode} "
|
||||
u"and org_id:{org_id}".format(course_key=course_key, mode=mode, org_id=org_id))
|
||||
|
||||
# since no template matched that course_key, only consider templates with empty course_key
|
||||
empty_course_key_templates = active_templates.filter(course_key=CourseKeyField.Empty)
|
||||
@@ -521,8 +521,8 @@ def get_certificate_template(course_key, mode, language):
|
||||
)
|
||||
template = get_language_specific_template_or_default(language, org_and_mode_templates, course_key)
|
||||
if template:
|
||||
log.info("Template retrieved for course:{course_key} based on the mode:{mode} "
|
||||
"and org_id:{org_id}".format(course_key=course_key, mode=mode, org_id=org_id))
|
||||
log.info(u"Template retrieved for course:{course_key} based on the mode:{mode} "
|
||||
u"and org_id:{org_id}".format(course_key=course_key, mode=mode, org_id=org_id))
|
||||
if not template and org_id: # get template by only org
|
||||
org_templates = empty_course_key_templates.filter(
|
||||
organization_id=org_id,
|
||||
@@ -530,7 +530,7 @@ def get_certificate_template(course_key, mode, language):
|
||||
)
|
||||
template = get_language_specific_template_or_default(language, org_templates, course_key)
|
||||
if template:
|
||||
log.info("Template retrieved for course:{course_key} and org_id:{org_id}".
|
||||
log.info(u"Template retrieved for course:{course_key} and org_id:{org_id}".
|
||||
format(course_key=course_key, org_id=org_id))
|
||||
if not template and mode: # get template by only mode
|
||||
mode_templates = empty_course_key_templates.filter(
|
||||
@@ -539,8 +539,8 @@ def get_certificate_template(course_key, mode, language):
|
||||
)
|
||||
template = get_language_specific_template_or_default(language, mode_templates, course_key)
|
||||
if template:
|
||||
log.info("Template retrieved for course:{course_key} based on the mode:{mode} "
|
||||
"and org_id:{org_id}".format(course_key=course_key, mode=mode, org_id=org_id))
|
||||
log.info(u"Template retrieved for course:{course_key} based on the mode:{mode} "
|
||||
u"and org_id:{org_id}".format(course_key=course_key, mode=mode, org_id=org_id))
|
||||
return template if template else None
|
||||
|
||||
|
||||
@@ -551,16 +551,21 @@ def get_language_specific_template_or_default(language, templates, course_key):
|
||||
Returns default templates If no language matches, or language passed is None
|
||||
"""
|
||||
two_letter_language = _get_two_letter_language_code(language)
|
||||
log.info("Retrieved two letter language is {two_letter_language} for the language:{language} and "
|
||||
"course:{course_key}".format(two_letter_language=two_letter_language, language=language,
|
||||
course_key=course_key))
|
||||
log.info(
|
||||
u"Retrieved two letter language is {two_letter_language} for the language:{language} and "
|
||||
u"course:{course_key}".format(
|
||||
two_letter_language=two_letter_language,
|
||||
language=language,
|
||||
course_key=course_key
|
||||
)
|
||||
)
|
||||
|
||||
language_or_default_templates = list(templates.filter(Q(language=two_letter_language)
|
||||
| Q(language=None) | Q(language='')))
|
||||
language_specific_template = get_language_specific_template(two_letter_language,
|
||||
language_or_default_templates, course_key)
|
||||
if language_specific_template:
|
||||
log.info("Returning languages: {language} specific template for course:{course_key}".
|
||||
log.info(u"Returning languages: {language} specific template for course:{course_key}".
|
||||
format(course_key=course_key, language=language))
|
||||
return language_specific_template
|
||||
else:
|
||||
@@ -577,11 +582,11 @@ def get_language_specific_template(language, templates, course_key):
|
||||
"""
|
||||
for template in templates:
|
||||
if template.language == language:
|
||||
log.info("{language} language specific template found for course:{course_key}".
|
||||
log.info(u"{language} language specific template found for course:{course_key}".
|
||||
format(language=language, course_key=course_key))
|
||||
return template
|
||||
|
||||
log.info("{language} language specific template not found for course:{course_key}".
|
||||
log.info(u"{language} language specific template not found for course:{course_key}".
|
||||
format(language=language, course_key=course_key))
|
||||
return None
|
||||
|
||||
|
||||
@@ -97,7 +97,7 @@ class CommonCertificatesTestCase(ModuleStoreTestCase):
|
||||
self.user.profile.save()
|
||||
self.client.login(username=self.user.username, password='foo')
|
||||
self.request = RequestFactory().request()
|
||||
self.linkedin_url = 'http://www.linkedin.com/profile/add?{params}'
|
||||
self.linkedin_url = u'http://www.linkedin.com/profile/add?{params}'
|
||||
|
||||
self.cert = GeneratedCertificateFactory.create(
|
||||
user=self.user,
|
||||
@@ -129,7 +129,7 @@ class CommonCertificatesTestCase(ModuleStoreTestCase):
|
||||
'name': 'Signatory_Name ' + str(i),
|
||||
'title': 'Signatory_Title ' + str(i),
|
||||
'organization': 'Signatory_Organization ' + str(i),
|
||||
'signature_image_path': '/static/certificates/images/demo-sig{}.png'.format(i),
|
||||
'signature_image_path': u'/static/certificates/images/demo-sig{}.png'.format(i),
|
||||
'id': i
|
||||
} for i in xrange(signatory_count)
|
||||
|
||||
@@ -141,7 +141,7 @@ class CommonCertificatesTestCase(ModuleStoreTestCase):
|
||||
'name': 'Name ' + str(i),
|
||||
'description': 'Description ' + str(i),
|
||||
'course_title': 'course_title_' + str(i),
|
||||
'org_logo_path': '/t4x/orgX/testX/asset/org-logo-{}.png'.format(i),
|
||||
'org_logo_path': u'/t4x/orgX/testX/asset/org-logo-{}.png'.format(i),
|
||||
'signatories': signatories,
|
||||
'version': 1,
|
||||
'is_active': is_active
|
||||
@@ -190,7 +190,7 @@ class CommonCertificatesTestCase(ModuleStoreTestCase):
|
||||
<html>
|
||||
<body>
|
||||
lang: ${LANGUAGE_CODE}
|
||||
course name: """ + template_name + """
|
||||
course name: """ + template_name + u"""
|
||||
mode: ${course_mode}
|
||||
${accomplishment_copy_course_description}
|
||||
${twitter_url}
|
||||
@@ -266,10 +266,10 @@ class CertificatesViewsTests(CommonCertificatesTestCase, CacheIsolationTestCase)
|
||||
self.assertEqual(response.status_code, 200)
|
||||
params = OrderedDict([
|
||||
('_ed', '0_0dPSPyS070e0HsE9HNz_13_d11_',),
|
||||
('pfCertificationName', '{platform_name} Honor Code Certificate for {course_name}'.format(
|
||||
platform_name=settings.PLATFORM_NAME.encode('utf-8'),
|
||||
('pfCertificationName', u'{platform_name} Honor Code Certificate for {course_name}'.format(
|
||||
platform_name=settings.PLATFORM_NAME,
|
||||
course_name=self.course.display_name,
|
||||
),),
|
||||
).encode('utf-8'),),
|
||||
('pfCertificationUrl', self.request.build_absolute_uri(test_url),),
|
||||
])
|
||||
self.assertIn(
|
||||
@@ -289,10 +289,10 @@ class CertificatesViewsTests(CommonCertificatesTestCase, CacheIsolationTestCase)
|
||||
# the linkedIn share URL with appropriate parameters should be present
|
||||
params = OrderedDict([
|
||||
('_ed', settings.MICROSITE_CONFIGURATION['test_site']['LINKEDIN_COMPANY_ID'],),
|
||||
('pfCertificationName', '{platform_name} Honor Code Certificate for {course_name}'.format(
|
||||
('pfCertificationName', u'{platform_name} Honor Code Certificate for {course_name}'.format(
|
||||
platform_name=settings.MICROSITE_CONFIGURATION['test_site']['platform_name'],
|
||||
course_name=self.course.display_name,
|
||||
),),
|
||||
).encode('utf-8'),),
|
||||
('pfCertificationUrl', 'http://' + settings.MICROSITE_TEST_HOSTNAME + test_url,),
|
||||
])
|
||||
self.assertIn(
|
||||
|
||||
@@ -553,7 +553,7 @@ def render_html_view(request, user_id, course_id):
|
||||
custom_template = None
|
||||
custom_template_language = None
|
||||
if settings.FEATURES.get('CUSTOM_CERTIFICATE_TEMPLATES_ENABLED', False):
|
||||
log.info("Custom certificate for course {course_id}".format(course_id=course_id))
|
||||
log.info(u"Custom certificate for course %s", course_id)
|
||||
custom_template, custom_template_language = _get_custom_template_and_language(
|
||||
course.id,
|
||||
user_certificate.mode,
|
||||
@@ -566,8 +566,11 @@ def render_html_view(request, user_id, course_id):
|
||||
user_language = translation.get_language()
|
||||
certificate_language = custom_template_language if custom_template else user_language
|
||||
|
||||
log.info("certificate language is: {language} for the course:{course_key}".format(language=certificate_language,
|
||||
course_key=course_key))
|
||||
log.info(
|
||||
u"certificate language is: %s for the course: %s",
|
||||
certificate_language,
|
||||
course_key
|
||||
)
|
||||
|
||||
# Generate the certificate context in the correct language, then render the template.
|
||||
with translation.override(certificate_language):
|
||||
@@ -643,8 +646,11 @@ def _get_catalog_data_for_course(course_key):
|
||||
except ValueError:
|
||||
log.exception('Error occurred while parsing course run details')
|
||||
catalog_data['content_language'] = course_run_data.get('content_language')
|
||||
log.info("catalog data received for course:{course_key} is : {catalog_data}".format(course_key=course_key,
|
||||
catalog_data=catalog_data))
|
||||
log.info(
|
||||
u"catalog data received for course: %s is : %s",
|
||||
course_key,
|
||||
catalog_data,
|
||||
)
|
||||
return catalog_data
|
||||
|
||||
|
||||
@@ -654,9 +660,12 @@ def _get_custom_template_and_language(course_id, course_mode, course_language):
|
||||
combination, along with the language that should be used to render that template.
|
||||
"""
|
||||
closest_released_language = get_closest_released_language(course_language) if course_language else None
|
||||
log.info("closest released language for {course_id} is {closest_released_language} and course language was:"
|
||||
" {course_language}".format(course_id=course_id, closest_released_language=closest_released_language,
|
||||
course_language=course_language))
|
||||
log.info(
|
||||
u"closest released language for %s is %s and course language was: %s",
|
||||
course_id,
|
||||
closest_released_language,
|
||||
course_language
|
||||
)
|
||||
template = get_certificate_template(course_id, course_mode, closest_released_language)
|
||||
|
||||
if template and template.language:
|
||||
|
||||
@@ -814,7 +814,7 @@ class TestGetHtmlMethod(BaseTestXmodule):
|
||||
|
||||
mocked_get_video.side_effect = side_effect
|
||||
|
||||
SOURCE_XML = """
|
||||
source_xml = u"""
|
||||
<video show_captions="true"
|
||||
display_name="A Name"
|
||||
sub="a_sub_file.srt.sjson" source="{source}"
|
||||
@@ -875,7 +875,7 @@ class TestGetHtmlMethod(BaseTestXmodule):
|
||||
initial_context['metadata']['duration'] = None
|
||||
|
||||
for data in cases:
|
||||
DATA = SOURCE_XML.format(
|
||||
DATA = source_xml.format(
|
||||
download_video=data['download_video'],
|
||||
source=data['source'],
|
||||
sources=data['sources'],
|
||||
|
||||
@@ -201,15 +201,15 @@ class CoursewareIndex(View):
|
||||
if not allow_anonymous:
|
||||
PageLevelMessages.register_warning_message(
|
||||
request,
|
||||
Text(_("You are not signed in. To see additional course content, {sign_in_link} or "
|
||||
"{register_link}, and enroll in this course.")).format(
|
||||
sign_in_link=HTML('<a href="{url}">{sign_in_label}</a>').format(
|
||||
Text(_(u"You are not signed in. To see additional course content, {sign_in_link} or "
|
||||
u"{register_link}, and enroll in this course.")).format(
|
||||
sign_in_link=HTML(u'<a href="{url}">{sign_in_label}</a>').format(
|
||||
sign_in_label=_('sign in'),
|
||||
url='{}?{}'.format(reverse('signin_user'), qs),
|
||||
),
|
||||
register_link=HTML('<a href="/{url}">{register_label}</a>').format(
|
||||
register_link=HTML(u'<a href="/{url}">{register_label}</a>').format(
|
||||
register_label=_('register'),
|
||||
url='{}?{}'.format(reverse('register_user'), qs),
|
||||
url=u'{}?{}'.format(reverse('register_user'), qs),
|
||||
),
|
||||
)
|
||||
)
|
||||
|
||||
@@ -104,8 +104,8 @@ EXPECTED_CSV_HEADER = (
|
||||
'"code","redeem_code_url","course_id","company_name","created_by","redeemed_by","invoice_id","purchaser",'
|
||||
'"customer_reference_number","internal_reference"'
|
||||
)
|
||||
EXPECTED_COUPON_CSV_HEADER = '"Coupon Code","Course Id","% Discount","Description","Expiration Date",' \
|
||||
'"Is Active","Code Redeemed Count","Total Discounted Seats","Total Discounted Amount"'
|
||||
EXPECTED_COUPON_CSV_HEADER = u'"Coupon Code","Course Id","% Discount","Description","Expiration Date",' \
|
||||
u'"Is Active","Code Redeemed Count","Total Discounted Seats","Total Discounted Amount"'
|
||||
|
||||
# ddt data for test cases involving reports
|
||||
REPORTS_DATA = (
|
||||
|
||||
@@ -63,7 +63,7 @@ def score_changed_handler(sender, **kwargs): # pylint: disable=unused-argument
|
||||
else:
|
||||
log.error(
|
||||
u"Outcome Service: Required signal parameter is None. "
|
||||
"points_possible: %s, points_earned: %s, user_id: %s, "
|
||||
"course_id: %s, usage_id: %s",
|
||||
u"points_possible: %s, points_earned: %s, user_id: %s, "
|
||||
u"course_id: %s, usage_id: %s",
|
||||
points_possible, points_earned, user_id, course_id, usage_id
|
||||
)
|
||||
|
||||
@@ -106,7 +106,7 @@ class ReportTypeTests(ModuleStoreTestCase):
|
||||
second_refund.refund_requested_time = self.test_time
|
||||
second_refund.save()
|
||||
|
||||
self.CORRECT_REFUND_REPORT_CSV = dedent("""
|
||||
self.CORRECT_REFUND_REPORT_CSV = dedent(b"""
|
||||
Order Number,Customer Name,Date of Original Transaction,Date of Refund,Amount of Refund,Service Fees (if any)
|
||||
3,King Bowsér,{time_str},{time_str},40.00,0.00
|
||||
4,Súsan Smith,{time_str},{time_str},40.00,0.00
|
||||
@@ -203,7 +203,7 @@ class ItemizedPurchaseReportTest(ModuleStoreTestCase):
|
||||
cert.refund_requested_time = self.now
|
||||
cert.save()
|
||||
|
||||
self.CORRECT_CSV = dedent("""
|
||||
self.CORRECT_CSV = dedent(b"""
|
||||
Purchase Time,Order ID,Status,Quantity,Unit Cost,Total Cost,Currency,Description,Comments
|
||||
{time_str},1,purchased,1,40.00,40.00,usd,Registration for Course: Robot Super Course,Ba\xc3\xbc\xe5\x8c\x85
|
||||
{time_str},1,purchased,1,40.00,40.00,usd,verified cert for course Robot Super Course,
|
||||
|
||||
@@ -47,13 +47,13 @@ def send_grade_if_interesting(user, course_run_key, mode, status, letter_grade,
|
||||
|
||||
if verbose:
|
||||
msg = u"Starting send_grade_if_interesting with params: "\
|
||||
"user [{username}], "\
|
||||
"course_run_key [{key}], "\
|
||||
"mode [{mode}], "\
|
||||
"status [{status}], "\
|
||||
"letter_grade [{letter_grade}], "\
|
||||
"percent_grade [{percent_grade}], "\
|
||||
"verbose [{verbose}]"\
|
||||
u"user [{username}], "\
|
||||
u"course_run_key [{key}], "\
|
||||
u"mode [{mode}], "\
|
||||
u"status [{status}], "\
|
||||
u"letter_grade [{letter_grade}], "\
|
||||
u"percent_grade [{percent_grade}], "\
|
||||
u"verbose [{verbose}]"\
|
||||
.format(
|
||||
username=getattr(user, 'username', None),
|
||||
key=str(course_run_key),
|
||||
|
||||
@@ -84,12 +84,12 @@ def handle_course_cert_changed(sender, user, course_key, mode, status, **kwargs)
|
||||
verbose = kwargs.get('verbose', False)
|
||||
if verbose:
|
||||
msg = u"Starting handle_course_cert_changed with params: "\
|
||||
"sender [{sender}], "\
|
||||
"user [{username}], "\
|
||||
"course_key [{course_key}], "\
|
||||
"mode [{mode}], "\
|
||||
"status [{status}], "\
|
||||
"kwargs [{kw}]"\
|
||||
u"sender [{sender}], "\
|
||||
u"user [{username}], "\
|
||||
u"course_key [{course_key}], "\
|
||||
u"mode [{mode}], "\
|
||||
u"status [{status}], "\
|
||||
u"kwargs [{kw}]"\
|
||||
.format(
|
||||
sender=sender,
|
||||
username=getattr(user, 'username', None),
|
||||
|
||||
@@ -25,7 +25,7 @@ class RetirementQueueDeletionForm(forms.Form):
|
||||
# Translators: 'current_state' is a string from an enumerated list indicating the learner's retirement
|
||||
# state. Example: FORUMS_COMPLETE
|
||||
u"Retirement requests can only be cancelled for users in the PENDING state."
|
||||
" Current request state for '{original_username}': {current_state}".format(
|
||||
u" Current request state for '{original_username}': {current_state}".format(
|
||||
original_username=retirement.original_username,
|
||||
current_state=retirement.current_state.state_name
|
||||
)
|
||||
|
||||
@@ -57,7 +57,7 @@ class Command(BaseCommand):
|
||||
if retirement.user.email != old_retired_email:
|
||||
print(
|
||||
u'WARNING: Skipping UserRetirementStatus ID {} / User ID {} because the user does not appear to '
|
||||
'have a retired email address: {}.'.format(
|
||||
u'have a retired email address: {}.'.format(
|
||||
retirement.id,
|
||||
retirement.user.id,
|
||||
retirement.user.email,
|
||||
|
||||
@@ -99,4 +99,8 @@ class Command(BaseCommand):
|
||||
end += chunk_size
|
||||
sleep(sleep_time_secs)
|
||||
|
||||
print('Finished! Updated {} total preferences from {} to {}'.format(updated_count, old_lang_code, new_lang_code))
|
||||
print(u'Finished! Updated {} total preferences from {} to {}'.format(
|
||||
updated_count,
|
||||
old_lang_code,
|
||||
new_lang_code
|
||||
))
|
||||
|
||||
@@ -33,7 +33,7 @@ def delete_rows(model_mgr,
|
||||
# The "as id" below fools Django raw query into thinking the primary key is being queried.
|
||||
# It's necessary because Django will throw an exception if the raw SQL does not query the primary key.
|
||||
min_max_ids = model_mgr.raw(
|
||||
'SELECT MIN({}) as id, MAX({}) as max_id FROM {}'.format(primary_id_name, primary_id_name, table_name)
|
||||
u'SELECT MIN({}) as id, MAX({}) as max_id FROM {}'.format(primary_id_name, primary_id_name, table_name)
|
||||
)[0]
|
||||
min_id = min_max_ids.id
|
||||
max_id = min_max_ids.max_id
|
||||
|
||||
@@ -70,7 +70,7 @@ class FormatHtmlTest(unittest.TestCase):
|
||||
|
||||
def test_ungettext(self):
|
||||
for i in [1, 2]:
|
||||
out = Text(ungettext(u"1 & {}", "2 & {}", i)).format(HTML(u"<>"))
|
||||
out = Text(ungettext(u"1 & {}", u"2 & {}", i)).format(HTML(u"<>"))
|
||||
self.assertEqual(out, u"{} & <>".format(i))
|
||||
|
||||
def test_strip_all_tags_but_br_filter(self):
|
||||
|
||||
@@ -293,12 +293,12 @@ class LazySequence(Sequence):
|
||||
|
||||
def __repr__(self):
|
||||
if self._exhausted:
|
||||
return "LazySequence({!r}, {!r})".format(
|
||||
return u"LazySequence({!r}, {!r})".format(
|
||||
self._data,
|
||||
self.est_len,
|
||||
)
|
||||
else:
|
||||
return "LazySequence(itertools.chain({!r}, {!r}), {!r})".format(
|
||||
return u"LazySequence(itertools.chain({!r}, {!r}), {!r})".format(
|
||||
self._data,
|
||||
self.iterable,
|
||||
self.est_len,
|
||||
|
||||
@@ -348,7 +348,7 @@ def diff_coverage(options):
|
||||
# Generate the diff coverage reports (HTML and console)
|
||||
sh(
|
||||
u"diff-cover {xml_report_str} --compare-branch={compare_branch} "
|
||||
"--html-report {diff_html_path}".format(
|
||||
u"--html-report {diff_html_path}".format(
|
||||
xml_report_str=xml_report_str,
|
||||
compare_branch=compare_branch,
|
||||
diff_html_path=diff_html_path,
|
||||
|
||||
@@ -49,7 +49,7 @@ def start_servers(options):
|
||||
cmd += "python -m "
|
||||
cmd += (
|
||||
u"manage {service} --settings {settings} runserver "
|
||||
"{address} --traceback --noreload".format(
|
||||
u"{address} --traceback --noreload".format(
|
||||
service=service,
|
||||
settings=Env.SETTINGS,
|
||||
address=address,
|
||||
|
||||
3
pylintrc
3
pylintrc
@@ -346,7 +346,6 @@ disable =
|
||||
using-cmp-argument,
|
||||
xrange-builtin,
|
||||
zip-builtin-not-iterating,
|
||||
unicode-format-string,
|
||||
native-string,
|
||||
|
||||
[REPORTS]
|
||||
@@ -447,4 +446,4 @@ int-import-graph =
|
||||
[EXCEPTIONS]
|
||||
overgeneral-exceptions = Exception
|
||||
|
||||
# 4285ece9aa125ff8efc6f77ed6d34579e65e2d96
|
||||
# ddfc2b6fc6acff4fdfcc76ecb982aa840035d86f
|
||||
|
||||
@@ -7,7 +7,6 @@ load-plugins+=,caniusepython3.pylint_checker
|
||||
[MESSAGES CONTROL]
|
||||
# Disable unicode-format-string until we can agree to turn it on.
|
||||
disable+ =
|
||||
unicode-format-string,
|
||||
native-string,
|
||||
|
||||
[BASIC]
|
||||
|
||||
Reference in New Issue
Block a user