Sample

pyint-7acc041981bf-I13

Lower every eligible synchronous for loop to a while loop

Matched original source

Lines144

Scores

MethodScoreScale
Posnett00–1; higher is more readable
Dorn0.430–1; higher is more readable
Mi0.4630–1; higher is more readable
LLOC74Logical lines; fewer is more readable
DeepSeek V4 Pro16.330–20; mean of three runs
GPT-6.1 Sol17.330–20; mean of three runs
BTTF0.4070–1; higher is more readable

Views

Source code

import copy import json from django import forms from django.conf import settings from django.core.exceptions import ValidationError from django.core.validators import URLValidator from django.db.models import CASCADE, UUIDField from django.forms.widgets import Select from django.urls import reverse from django.urls.exceptions import NoReverseMatch from django.utils.html import smart_urlquote from django.utils.http import urlencode from django.utils.text import Truncator from django.utils.translation import get_language from django.utils.translation import gettext as _ class RelatedFieldWidgetWrapper(forms.Widget): """ This class is a wrapper to a given widget to add the add icon for the admin interface. """ template_name = "admin/widgets/related_widget_wrapper.html" def __init__( self, widget, rel, admin_site, can_add_related=None, can_change_related=False, can_delete_related=False, can_view_related=False, ): self.needs_multipart_form = widget.needs_multipart_form self.attrs = widget.attrs self.widget = widget self.rel = rel # Backwards compatible check for whether a user can add related # objects. if can_add_related is None: can_add_related = admin_site.is_registered(rel.model) self.can_add_related = can_add_related if not isinstance(widget, AutocompleteMixin): self.attrs["data-context"] = "available-source" # Only single-select Select widgets are supported. supported = not getattr( widget, "allow_multiple_selected", False ) and isinstance(widget, Select) self.can_change_related = supported and can_change_related # XXX: The deletion UX can be confusing when dealing with cascading # deletion. cascade = getattr(rel, "on_delete", None) is CASCADE self.can_delete_related = supported and not cascade and can_delete_related self.can_view_related = supported and can_view_related # To check if the related object is registered with this AdminSite. self.admin_site = admin_site self.use_fieldset = widget.use_fieldset def __deepcopy__(self, memo): obj = copy.copy(self) obj.widget = copy.deepcopy(self.widget, memo) obj.attrs = self.widget.attrs memo[id(self)] = obj return obj @property def is_hidden(self): return self.widget.is_hidden @property def media(self): return self.widget.media @property def choices(self): return self.widget.choices @choices.setter def choices(self, value): self.widget.choices = value def get_related_url(self, info, action, *args): return reverse( "admin:%s_%s_%s" % (*info, action), current_app=self.admin_site.name, args=args, ) def get_context(self, name, value, attrs): from django.contrib.admin.views.main import ( IS_POPUP_VAR, SOURCE_MODEL_VAR, TO_FIELD_VAR, ) rel_opts = self.rel.model._meta info = (rel_opts.app_label, rel_opts.model_name) related_field_name = self.rel.get_related_field().name app_label = self.rel.field.model._meta.app_label model_name = self.rel.field.model._meta.model_name url_params = "&".join( "%s=%s" % param for param in [ (TO_FIELD_VAR, related_field_name), (IS_POPUP_VAR, 1), (SOURCE_MODEL_VAR, f"{app_label}.{model_name}"), ] ) context = { "rendered_widget": self.widget.render(name, value, attrs), "is_hidden": self.is_hidden, "name": name, "url_params": url_params, "model": rel_opts.verbose_name, "model_name": rel_opts.model_name, "can_add_related": self.can_add_related, "can_change_related": self.can_change_related, "can_delete_related": self.can_delete_related, "can_view_related": self.can_view_related, "model_has_limit_choices_to": self.rel.limit_choices_to, } if self.can_add_related: context["add_related_url"] = self.get_related_url(info, "add") if self.can_delete_related: context["delete_related_template_url"] = self.get_related_url( info, "delete", "__fk__" ) if self.can_view_related or self.can_change_related: context["view_related_url_params"] = f"{TO_FIELD_VAR}={related_field_name}" context["change_related_template_url"] = self.get_related_url( info, "change", "__fk__" ) return context def value_from_datadict(self, data, files, name): return self.widget.value_from_datadict(data, files, name) def value_omitted_from_data(self, data, files, name): return self.widget.value_omitted_from_data(data, files, name) def id_for_label(self, id_): return self.widget.id_for_label(id_)

Loading feature diagnosis…

Source regions

Feature contributions

Feature contributions

FeatureValueContribution
(log-odds)
Halstead volumeHow much symbolic information the code contains. It combines the total number of operators and values with the number of distinct ones.5514.733−181.986
Source linesThe number of non-empty source lines.144+57.6
Byte entropyHow varied the bytes in the source text are. Repeated bytes give a lower value; a more even mixture gives a higher value.4.464−6.695

Intercept 8.87 + feature contributions = -122.211 (log-odds).
Score = sigmoid(-122.211) = 0.

Feature contributions

FeatureValueContribution
(log-odds)
Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code.145−4.098
Indentation frequencyHow rapidly indentation changes from line to line.135+3.932
Number layout frequencyHow rapidly the number of numeric values per line changes through the code.135−2.677
Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom.143.795+1.6
Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right.86.938+0.598
Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *.0.065+0.31
Identifier layout (horizontal)How rapidly the visual pattern of identifier characters changes from left to right. It measures spatial frequency, not the meaning of the names.86.979−0.019

Intercept 0.07 + feature contributions = -0.283 (log-odds).
Score = sigmoid(-0.283) = 0.43.

Score0.463
Score74
Run 1

The code is well-structured and readable. It follows a logical organization with clear separation of concerns, using a single class with focused methods. Nesting is minimal, with only one small conditional inside a method. The intent of the class and each method is clear, with descriptive names and a helpful docstring. Code length is appropriate for the functionality, and actions are mostly one per line, improving readability. The reading flow is natural, with related properties grouped together and a logical progression from initialization to context building to data handling. Minor deductions for slightly verbose imports and a couple of long lines, but overall the code is highly readable.

Run 2

The code is well-structured with clear separation of concerns, following Django widget patterns. The class has a single responsibility and methods are logically organized. Nesting is minimal with only one level in get_context's conditional blocks. Intent is clear through descriptive method names and docstrings. However, some sections could be more concise - the __init__ method has multiple boolean logic assignments that could be extracted for clarity. The get_context method builds URL parameters in a slightly convoluted way using a generator expression. Action granularity is mostly good with one action per line, though the URL parameter construction packs multiple operations. The reading flow is natural and the code is maintainable, though the deepcopy method's purpose could be clearer. Overall, this is readable Django code that follows established patterns well, with minor opportunities for simplification.

Run 3

The code is generally well-structured and readable. It uses clear class and method names, logical grouping of related functionality, and appropriate docstrings. Nesting is minimal, with only one level in get_context's conditional blocks. The get_context method builds a clean context dictionary, and action granularity is mostly one action per line. However, a few aspects reduce readability: the __init__ method has many parameters and some inline comments that explain 'why' but can feel verbose; the supported/cascade logic is slightly dense; and the get_context method is a bit long due to URL parameter construction. The multi-line string formatting in get_related_url is slightly obscure. Overall, the code is maintainable and understandable, but could be improved by extracting some helper methods or simplifying conditional logic.

Run 1

Code Structure: Well-organized class with distinct initialization, delegation, URL generation, and context-building methods. Nesting: Shallow conditionals and no deeply nested control flow make scanning easy. Clarity of intent: Descriptive method names, permission flags, and targeted comments explain most behavior, though framework-specific metadata, the undefined-in-snippet AutocompleteMixin, and the narrow class docstring require additional context. Code length: Mostly concise; delegation methods are appropriate wrapper boilerplate, but unused imports add clutter. Action granularity: Statements generally perform one action per line, with multiline expressions formatted clearly. Reading flow: Methods follow a sensible progression, and get_context proceeds naturally from metadata extraction to context construction and conditional URLs. Mixed string-formatting styles and some dense framework expressions slightly reduce consistency.

Run 2

Code Structure: Well-organized class with separate initialization, delegation, URL generation, and context-building methods. Nesting: Shallow conditionals and a simple comprehension keep complexity low. Clarity of intent: Descriptive method names, permission flags, and explanatory comments make the wrapper's purpose clear, although Django-specific conventions and placeholders require framework knowledge. Code length: Mostly concise; repetitive forwarding methods are justified by the wrapper pattern, while several unused imports add clutter. Action granularity: Statements generally perform one action per line, with readable multiline calls and dictionaries. Reading flow: Methods progress naturally from setup to properties and rendering support, though the local import and lengthy initializer/context method slightly interrupt the flow.

Run 3

Code Structure: Well-organized class with initialization, delegated properties, URL generation, and context construction separated into focused methods. Nesting: Shallow conditionals and no deeply nested control flow make execution easy to follow. Clarity of intent: Descriptive method names, permission flags, and explanatory comments communicate the widget wrapper's purpose, though abbreviated names such as rel and info and framework-specific conventions require familiarity. Code length: Mostly concise, with some unavoidable delegation boilerplate and a relatively long initializer and context method; several unused imports add noise. Action granularity: Statements generally perform one action per line, while compound permission expressions remain manageable. Reading flow: Methods follow a natural progression, and consistent formatting helps scanning. Minor distractions include the local import, mixed string-formatting styles, and the unexplained __fk__ placeholder.