This is an automated email from the ASF dual-hosted git repository.

brondsem pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/allura.git

commit 52ec702a7bf8d22a18d67fa7cc7156828bd1c9df
Author: Guillermo Cruz <guillermo.c...@slashdotmedia.com>
AuthorDate: Thu May 1 08:47:40 2025 -0600

    [#8578] ruff checks updates
---
 Allura/allura/config/app_cfg.py                  |  2 +-
 Allura/allura/lib/app_globals.py                 |  6 +++---
 Allura/allura/lib/diff.py                        |  2 +-
 Allura/allura/lib/helpers.py                     | 10 ++++------
 Allura/allura/lib/macro.py                       |  2 +-
 Allura/allura/lib/markdown_extensions.py         |  2 +-
 Allura/allura/lib/phone/nexmo.py                 | 10 +++++-----
 Allura/allura/lib/utils.py                       |  2 +-
 Allura/allura/lib/widgets/search.py              |  4 ++--
 Allura/allura/lib/widgets/user_profile.py        |  2 +-
 Allura/allura/model/auth.py                      |  2 +-
 Allura/allura/model/index.py                     |  2 +-
 Allura/allura/tasks/repo_tasks.py                |  2 +-
 Allura/allura/tests/unit/phone/test_nexmo.py     |  8 ++++++++
 ForgeGit/forgegit/tests/model/test_repository.py |  4 ++--
 ForgeSVN/forgesvn/tests/model/test_repository.py |  4 ++--
 ForgeTracker/forgetracker/model/ticket.py        |  6 +++---
 ForgeTracker/forgetracker/tracker_main.py        |  2 +-
 18 files changed, 39 insertions(+), 33 deletions(-)

diff --git a/Allura/allura/config/app_cfg.py b/Allura/allura/config/app_cfg.py
index d03c1a5d2..8e17f7e08 100644
--- a/Allura/allura/config/app_cfg.py
+++ b/Allura/allura/config/app_cfg.py
@@ -194,7 +194,7 @@ def render(self, template, context):
         context = self.context(context)
         with ew.utils.push_context(ew.widget_context, render_context=context):
             text = template.render(**context)
-            return Markup(text)
+            return Markup(text)  # noqa: S704
 
 
 base_config = ForgeConfig()
diff --git a/Allura/allura/lib/app_globals.py b/Allura/allura/lib/app_globals.py
index 0870579f8..0e9c72102 100644
--- a/Allura/allura/lib/app_globals.py
+++ b/Allura/allura/lib/app_globals.py
@@ -132,7 +132,7 @@ def cached_convert(self, artifact: MappedClass, field_name: 
str) -> Markup:
         if cache.md5 is not None:
             md5 = hashlib.md5(source_text.encode('utf-8')).hexdigest()
             if cache.md5 == md5 and getattr(cache, 'fix7528', False) == 
bugfix_rev:
-                return Markup(cache.html)
+                return Markup(cache.html)  # noqa: S704
 
         # Convert the markdown and time the result.
         start = time.time()
@@ -477,7 +477,7 @@ def highlight(self, text, lexer=None, filename=None):
             # no highlighting, but we should wrap it in a <pre> safely
             return Markup('<pre>{}</pre>').format(text)
         else:
-            return Markup(pygments.highlight(text, lexer, formatter))
+            return Markup(pygments.highlight(text, lexer, formatter))  # noqa: 
S704
 
     @property
     def markdown(self):
@@ -694,4 +694,4 @@ def render(self, show_title=False, extra_css=None, 
closing_tag=True, tag='a', **
             visible_title = f'&nbsp;{Markup.escape(title)}'
         closing_tag = f'</{tag}>' if closing_tag else ''
         icon = f'<{tag} {attrs}><i 
class="{self.css}"></i>{visible_title}{closing_tag}'
-        return Markup(icon)
+        return Markup(icon)  # noqa: S704
diff --git a/Allura/allura/lib/diff.py b/Allura/allura/lib/diff.py
index e9f7b60e8..3199b28e2 100644
--- a/Allura/allura/lib/diff.py
+++ b/Allura/allura/lib/diff.py
@@ -68,7 +68,7 @@ def _spit(self, content):
     def run(self, diff_result: Iterable[LineChange | None]):
         self.out = ''
         super().run(diff_result)
-        return Markup(self.out)  # "safe" because we use html.escape in a few 
key places below
+        return Markup(self.out)  # noqa: S704 "safe" because we use 
html.escape in a few key places below
 
     def visit_row(self, line_change: LineChange | None):
         if line_change is None:
diff --git a/Allura/allura/lib/helpers.py b/Allura/allura/lib/helpers.py
index 96658f835..f66193a94 100644
--- a/Allura/allura/lib/helpers.py
+++ b/Allura/allura/lib/helpers.py
@@ -593,7 +593,7 @@ def escape_list(words_list):
             result += ['<ins>'] + escape_list(t2_words[j1:j2]) + ['</ins>']
         if tag == 'equal':
             result += escape_list(t1_words[i1:i2])
-    return Markup(' '.join(result).replace('\n', '<br/>\n'))
+    return Markup(' '.join(result).replace('\n', '<br/>\n'))  # noqa: S704
 
 
 def gen_message_id(_id=None):
@@ -800,7 +800,7 @@ def render_any_markup(name, txt, code_mode=False, 
linenumbers_style=TABLE):
                 txt = _add_table_line_numbers_to_text(txt)
             else:
                 txt = '<pre>%s</pre>' % txt
-    return Markup(txt)
+    return Markup(txt)  # noqa: S704
 
 
 @pass_context
@@ -828,7 +828,7 @@ def subrender_jinja_filter(context, html_tmpl: str) -> 
Markup:
 
 def nl2br_jinja_filter(value):
     result = '<br>\n'.join(escape(line) for line in value.split('\n'))
-    return Markup(result)
+    return Markup(result)  # noqa: S704
 
 
 def log_if_changed(artifact, attr, new_val, message):
@@ -1416,6 +1416,4 @@ def parse_fediverse_address(username: str):
 
 def clean_html(value: str) -> Markup:
     from allura.lib.markdown_extensions import HTMLSanitizer
-    return Markup(
-        HTMLSanitizer().run(value)
-    )
+    return Markup(HTMLSanitizer().run(value))  # noqa: S704
diff --git a/Allura/allura/lib/macro.py b/Allura/allura/lib/macro.py
index 711bd3de4..e073c35b6 100644
--- a/Allura/allura/lib/macro.py
+++ b/Allura/allura/lib/macro.py
@@ -505,6 +505,6 @@ def embed(url=None):
                 embed_url = embed_url.geturl()
             embed_url = embed_url.replace('www.youtube.com', 
'www.youtube-nocookie.com')
             html.find('iframe')['src'] = embed_url
-        return markupsafe.Markup('<p>%s</p>' % html)
+        return markupsafe.Markup('<p>%s</p>' % html)  # noqa: S704
 
     return '[[embed url=%s]]' % url
diff --git a/Allura/allura/lib/markdown_extensions.py 
b/Allura/allura/lib/markdown_extensions.py
index 0228cc98b..eeff314f2 100644
--- a/Allura/allura/lib/markdown_extensions.py
+++ b/Allura/allura/lib/markdown_extensions.py
@@ -459,7 +459,7 @@ def reset(self):
 class MarkAsSafe(markdown.postprocessors.Postprocessor):
 
     def run(self, text):
-        return Markup(text)
+        return Markup(text)  # noqa: S704
 
 
 class AddCustomClass(markdown.postprocessors.Postprocessor):
diff --git a/Allura/allura/lib/phone/nexmo.py b/Allura/allura/lib/phone/nexmo.py
index 9ac4829f7..39a68f162 100644
--- a/Allura/allura/lib/phone/nexmo.py
+++ b/Allura/allura/lib/phone/nexmo.py
@@ -57,11 +57,11 @@ def error(self, code=None, msg=None, number=''):
             msg = 'Failed sending request to Nexmo'
         if str(code) == '3' and msg.endswith(' number'):
             msg = markupsafe.Markup(
-                '{}{}{}'.format(
-                    html.escape(msg),  # escape it just in case Nexmo sent 
some HTML we don't want through
-                    '<br>Make sure you include the country code (see examples 
above)',
-                    '. For US numbers, you must include <code>1-</code> before 
the area code.' if len(number) == 10 else '',
-                ))
+                '{}{}{}').format(
+                    msg,
+                    markupsafe.Markup('<br>Make sure you include the country 
code (see examples above)'),
+                    markupsafe.Markup('. For US numbers, you must include 
<code>1-</code> before the area code.') if len(number) == 10 else '',
+                )
 
         return {'status': 'error', 'error': msg}
 
diff --git a/Allura/allura/lib/utils.py b/Allura/allura/lib/utils.py
index cbf6cc675..0391f026c 100644
--- a/Allura/allura/lib/utils.py
+++ b/Allura/allura/lib/utils.py
@@ -310,7 +310,7 @@ def extra_fields(self):
         for fldno in range(self.num_honey):
             fld_name = self.enc('honey%d' % (fldno))
             fld_id = self.enc('honey%d%d' % (self.counter, fldno))
-            yield Markup(self.honey_field_template).format(
+            yield Markup(self.honey_field_template).format(  # noqa: S704
                 honey_class=self.honey_class,
                 fld_id=fld_id,
                 fld_name=fld_name)
diff --git a/Allura/allura/lib/widgets/search.py 
b/Allura/allura/lib/widgets/search.py
index c772992d1..2950b55c9 100644
--- a/Allura/allura/lib/widgets/search.py
+++ b/Allura/allura/lib/widgets/search.py
@@ -55,8 +55,8 @@ def __init__(self, comments=True, history=True, fields={}):
         jinja2_env = jinja2.Environment(
             autoescape=True,
             loader=jinja2.PackageLoader('allura', 'templates/widgets'))
-        self.content = 
Markup(jinja2_env.get_template('search_help.html').render(dict(
-            comments=comments,
+        self.content = 
Markup(jinja2_env.get_template('search_help.html').render(dict(  # noqa: S704
+            comments=comments,  
             history=history,
             fields=fields,
         )))
diff --git a/Allura/allura/lib/widgets/user_profile.py 
b/Allura/allura/lib/widgets/user_profile.py
index 6d1eb3588..65d669be5 100644
--- a/Allura/allura/lib/widgets/user_profile.py
+++ b/Allura/allura/lib/widgets/user_profile.py
@@ -132,7 +132,7 @@ def display(self, *a, **kw):
             tmpl = g.jinja2_env.get_template(self.template)
             if not self.context:
                 self.setup_context()
-            return Markup(tmpl.render(self.context))
+            return Markup(tmpl.render(self.context))  # noqa: S704
         except Exception as e:
             log.exception('Error rendering section %s: %s', 
type(self).__name__, e)
             if asbool(tg.config.get('debug')):
diff --git a/Allura/allura/model/auth.py b/Allura/allura/model/auth.py
index 4088154b8..1fd0ab991 100644
--- a/Allura/allura/model/auth.py
+++ b/Allura/allura/model/auth.py
@@ -1083,7 +1083,7 @@ def message_html(self):
             for line in
             with_br.split('<br>\n')
         ])
-        return Markup(message_bold)
+        return Markup(message_bold)  # noqa: S704
 
     @property
     def url_str(self):
diff --git a/Allura/allura/model/index.py b/Allura/allura/model/index.py
index 64f5526b4..bd0e54241 100644
--- a/Allura/allura/model/index.py
+++ b/Allura/allura/model/index.py
@@ -166,7 +166,7 @@ def from_artifact(cls, a):
     @classmethod
     def from_links(cls, *links):
         '''Convert a sequence of shortlinks to the matching Shortlink 
objects'''
-        if len(links):
+        if links:
             result = {}
             # Parse all the links
             parsed_links = {link: cls._parse_link(link)
diff --git a/Allura/allura/tasks/repo_tasks.py 
b/Allura/allura/tasks/repo_tasks.py
index e7855d655..e73a6d0b2 100644
--- a/Allura/allura/tasks/repo_tasks.py
+++ b/Allura/allura/tasks/repo_tasks.py
@@ -178,7 +178,7 @@ def can_merge(merge_request_id):
 def determine_mr_commits(merge_request_id):
     from allura import model as M
     mr = M.MergeRequest.query.get(_id=merge_request_id)
-    mr.commits  # noqa: B018.  build & cache the commits
+    mr.commits  # noqa: B018  build & cache the commits
 
 
 @task
diff --git a/Allura/allura/tests/unit/phone/test_nexmo.py 
b/Allura/allura/tests/unit/phone/test_nexmo.py
index 8b27d4de1..6beb8b157 100644
--- a/Allura/allura/tests/unit/phone/test_nexmo.py
+++ b/Allura/allura/tests/unit/phone/test_nexmo.py
@@ -18,6 +18,8 @@
 import json
 from mock import patch
 
+import markupsafe
+
 from allura.lib.phone.nexmo import NexmoPhoneService
 
 
@@ -70,6 +72,12 @@ def test_error(self):
         assert 'country code' in res['error']
         assert 'US' not in res['error']
 
+        # markupsafe testing
+        res = self.phone.error(code='3', msg='nexmo msg 3 > 4 number', 
number='123<script>foo</script>')
+        assert res['status'] == 'error'
+        assert isinstance(res['error'], markupsafe.Markup)
+        assert res['error'] == 'nexmo msg 3 &gt; 4 number<br>Make sure you 
include the country code (see examples above)'
+
     def test_ok(self):
         res = self.phone.ok(request_id='123', other='smth')
         expected = {'status': 'ok', 'request_id': '123', 'other': 'smth'}
diff --git a/ForgeGit/forgegit/tests/model/test_repository.py 
b/ForgeGit/forgegit/tests/model/test_repository.py
index adcbf756f..63b7b1a4e 100644
--- a/ForgeGit/forgegit/tests/model/test_repository.py
+++ b/ForgeGit/forgegit/tests/model/test_repository.py
@@ -199,7 +199,7 @@ def test_clone(self):
             shutil.rmtree(dirname)
         repo.init()
         repo._impl.clone_from(repo_path)
-        assert len(list(repo.log()))
+        assert list(repo.log())
         assert not os.path.exists(
             os.path.join(g.tmpdir, 'testgit.git/hooks/update'))
         assert not os.path.exists(
@@ -233,7 +233,7 @@ def test_hotcopy(self, clone_from):
             repo.init()
             repo._impl.clone_from(repo_path)
             assert not clone_from.called
-            assert len(list(repo.log()))
+            assert list(repo.log())
             assert os.path.exists(
                 os.path.join(g.tmpdir, 'testgit.git/hooks/update'))
             assert os.path.exists(
diff --git a/ForgeSVN/forgesvn/tests/model/test_repository.py 
b/ForgeSVN/forgesvn/tests/model/test_repository.py
index 631deea82..00c890b1b 100644
--- a/ForgeSVN/forgesvn/tests/model/test_repository.py
+++ b/ForgeSVN/forgesvn/tests/model/test_repository.py
@@ -171,7 +171,7 @@ def test_fork(self):
         assert 'exec $DIR/post-commit-user "$@"\n' in hook_data
 
         repo.refresh(notify=False)
-        assert len(list(repo.log(limit=100)))
+        assert list(repo.log(limit=100))
 
         shutil.rmtree(dirname)
 
@@ -221,7 +221,7 @@ def test_clone(self, post_event):
         assert 'exec $DIR/post-commit-user "$@"\n' in c
 
         repo.refresh(notify=False)
-        assert len(list(repo.log(limit=100)))
+        assert list(repo.log(limit=100))
 
         shutil.rmtree(dirname)
 
diff --git a/ForgeTracker/forgetracker/model/ticket.py 
b/ForgeTracker/forgetracker/model/ticket.py
index 05a0fbd74..8445e63c6 100644
--- a/ForgeTracker/forgetracker/model/ticket.py
+++ b/ForgeTracker/forgetracker/model/ticket.py
@@ -459,7 +459,7 @@ def changes_iter(user):
                 # mark changes text as safe, thus it wouldn't be escaped in 
plain-text emails
                 # html part of email is handled by markdown and it'll be
                 # properly escaped
-                yield (changed_tickets[t_id], markupsafe.Markup(changes[t_id]))
+                yield (changed_tickets[t_id], 
markupsafe.Markup(changes[t_id]))  # noqa: S704
         mail = dict(
             sender=c.project.app_instance(self.app_config).email_address,
             fromaddr=str(c.user._id),
@@ -482,7 +482,7 @@ def changes_iter(user):
                 v = user.display_name if user else v
             head.append(f'- **{cf.label}**: {v}')
         tmpl_context = {'context': c, 'data':
-                        {'header': markupsafe.Markup('\n'.join(['Mass edit 
changing:', ''] + head))}}
+                        {'header': markupsafe.Markup('\n'.join(['Mass edit 
changing:', ''] + head))}}  # noqa: S704
         for user in users:
             tmpl_context['data'].update({'changes': changes_iter(user)})
             mail.update(dict(
@@ -501,7 +501,7 @@ def changes_iter(user):
                         self.app_config.options.get('TicketMonitoringType') ==
                         'AllTicketChanges'):
                     visible_changes.append(
-                        (changed_tickets[t_id], 
markupsafe.Markup(changes[t_id])))
+                        (changed_tickets[t_id], 
markupsafe.Markup(changes[t_id])))  # noqa: S704
             if visible_changes:
                 tmpl_context['data'].update({'changes': visible_changes})
                 mail.update(dict(
diff --git a/ForgeTracker/forgetracker/tracker_main.py 
b/ForgeTracker/forgetracker/tracker_main.py
index 708345038..92d630ba8 100644
--- a/ForgeTracker/forgetracker/tracker_main.py
+++ b/ForgeTracker/forgetracker/tracker_main.py
@@ -389,7 +389,7 @@ def sidebar_menu(self):
 
         links += milestones
 
-        if len(search_bins):
+        if search_bins:
             links.append(SitemapEntry('Searches'))
             links = links + search_bins
         links.append(SitemapEntry('Help'))

Reply via email to