diff mbox series

[yocto-patches,layerindex-web,1/1] layerindex: Use settings.DEFAULT_BRANCH instead of hardcoded branch name

Message ID 20260619215252.2803094-1-sandeep.gundlupet-raju@amd.com
State New
Headers show
Series [yocto-patches,layerindex-web,1/1] layerindex: Use settings.DEFAULT_BRANCH instead of hardcoded branch name | expand

Commit Message

Sandeep Gundlupet Raju June 19, 2026, 9:52 p.m. UTC
Replace all hardcoded branch name references with settings.DEFAULT_BRANCH
so the default branch can be changed from a single location in settings.py
without modifying individual source files. DEFAULT_BRANCH defaults to 'master'.

- settings.py: add DEFAULT_BRANCH = 'master'
- docker/settings.py: add DEFAULT_BRANCH = 'master'
- layerindex/urls.py: use _DEFAULT_BRANCH from settings
- layerindex/views.py: use settings.DEFAULT_BRANCH (10 occurrences)
- layerindex/models.py: add import settings; use settings.DEFAULT_BRANCH
- layerindex/update.py: use settings.DEFAULT_BRANCH
- layerindex/update_layer.py: resolve branch from settings.DEFAULT_BRANCH
- layerindex/bulkchange.py: use settings.DEFAULT_BRANCH
- layerindex/tools/import_layer.py: use settings.DEFAULT_BRANCH
- layerindex/tools/import_wiki_layers.py: add import settings; use DEFAULT_BRANCH
- layerindex/tools/import_classic_wiki.py: add import settings; use DEFAULT_BRANCH
- layerindex/tools/update_classic_status.py: add import settings; use DEFAULT_BRANCH
- rrs/tools/historytool.py: use settings.DEFAULT_BRANCH

AI-Generated: GitHub Copilot (Claude Sonnet 4.6)

Signed-off-by: Sandeep Gundlupet Raju <sandeep.gundlupet-raju@amd.com>
---
 docker/settings.py                        |  2 ++
 layerindex/bulkchange.py                  |  2 +-
 layerindex/models.py                      |  5 +++--
 layerindex/tools/import_classic_wiki.py   |  3 ++-
 layerindex/tools/import_layer.py          |  4 ++--
 layerindex/tools/import_wiki_layers.py    |  3 ++-
 layerindex/tools/update_classic_status.py |  7 ++++---
 layerindex/update.py                      |  2 +-
 layerindex/update_layer.py                |  4 +++-
 layerindex/urls.py                        | 16 +++++++++-------
 layerindex/views.py                       | 20 ++++++++++----------
 rrs/tools/historytool.py                  |  4 ++--
 settings.py                               |  3 +++
 13 files changed, 44 insertions(+), 31 deletions(-)
diff mbox series

Patch

diff --git a/docker/settings.py b/docker/settings.py
index e3ae0fd..85b7efd 100644
--- a/docker/settings.py
+++ b/docker/settings.py
@@ -315,3 +315,5 @@  SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_PROTO', 'https')
 SECURE_BROWSER_XSS_FILTER = True
 SECURE_CONTENT_TYPE_NOSNIFF = True
 
+# Default branch name used across the layer index
+DEFAULT_BRANCH = 'master'
diff --git a/layerindex/bulkchange.py b/layerindex/bulkchange.py
index 0ec4058..11cd7a6 100644
--- a/layerindex/bulkchange.py
+++ b/layerindex/bulkchange.py
@@ -98,7 +98,7 @@  def main():
     utils.setup_django()
     import settings
 
-    branch = utils.get_branch('master')
+    branch = utils.get_branch(settings.DEFAULT_BRANCH)
     fetchdir = settings.LAYER_FETCH_DIR
 
     import layerindex.models import LayerItem
diff --git a/layerindex/models.py b/layerindex/models.py
index 864264b..7a09962 100644
--- a/layerindex/models.py
+++ b/layerindex/models.py
@@ -18,6 +18,7 @@  import os.path
 import re
 import posixpath
 import codecs
+import settings
 
 from . import utils
 
@@ -190,7 +191,7 @@  class LayerItem(models.Model):
         return fetch_dir
 
     def get_absolute_url(self):
-        return reverse('layer_item', args=('master',self.name));
+        return reverse('layer_item', args=(settings.DEFAULT_BRANCH,self.name));
 
     def __str__(self):
         return self.name
@@ -672,7 +673,7 @@  class ClassicRecipe(Recipe):
         ('E', 'Equivalent functionality'),
         ('D', 'Direct match'),
     ]
-    cover_layerbranch = models.ForeignKey(LayerBranch, verbose_name='Covering layer', blank=True, null=True, limit_choices_to = {'branch__name': 'master'}, on_delete=models.SET_NULL)
+    cover_layerbranch = models.ForeignKey(LayerBranch, verbose_name='Covering layer', blank=True, null=True, limit_choices_to = {'branch__name': settings.DEFAULT_BRANCH}, on_delete=models.SET_NULL)
     cover_pn = models.CharField('Covering recipe', max_length=100, blank=True)
     cover_status = models.CharField(max_length=1, choices=COVER_STATUS_CHOICES, default='U')
     cover_verified = models.BooleanField(default=False)
diff --git a/layerindex/tools/import_classic_wiki.py b/layerindex/tools/import_classic_wiki.py
index bd7ab9a..e8c4c8c 100755
--- a/layerindex/tools/import_classic_wiki.py
+++ b/layerindex/tools/import_classic_wiki.py
@@ -84,6 +84,7 @@  def main():
     options, args = parser.parse_args(sys.argv)
 
     utils.setup_django()
+    import settings
     from layerindex.models import LayerItem, LayerBranch, Recipe, ClassicRecipe
     from django.db import transaction
 
@@ -178,7 +179,7 @@  def main():
                             res = list(LayerItem.objects.filter(name=newlayer)[:1])
                             if res:
                                 newlayeritem = res[0]
-                                recipe.cover_layerbranch = newlayeritem.get_layerbranch('master')
+                                recipe.cover_layerbranch = newlayeritem.get_layerbranch(settings.DEFAULT_BRANCH)
                             else:
                                 logger.info('Replacement layer "%s" for %s could not be found' % (newlayer, pn))
                         recipe.cover_pn = newpn
diff --git a/layerindex/tools/import_layer.py b/layerindex/tools/import_layer.py
index 79c679e..cdbd40d 100755
--- a/layerindex/tools/import_layer.py
+++ b/layerindex/tools/import_layer.py
@@ -284,7 +284,7 @@  def main():
     if not os.path.exists(fetchdir):
         os.makedirs(fetchdir)
 
-    master_branch = utils.get_branch('master')
+    master_branch = utils.get_branch(settings.DEFAULT_BRANCH)
     core_layer = None
     try:
         with transaction.atomic():
@@ -311,7 +311,7 @@  def main():
                 logger.error("Fetch failed: %s" % str(e))
                 sys.exit(1)
 
-            actual_branch = 'master'
+            actual_branch = settings.DEFAULT_BRANCH
             if (options.actual_branch):
                 actual_branch = options.actual_branch
             try:
diff --git a/layerindex/tools/import_wiki_layers.py b/layerindex/tools/import_wiki_layers.py
index 061f6df..f287bf6 100755
--- a/layerindex/tools/import_wiki_layers.py
+++ b/layerindex/tools/import_wiki_layers.py
@@ -35,6 +35,7 @@  def main():
     options, args = parser.parse_args(sys.argv)
 
     utils.setup_django()
+    import settings
     from layerindex.models import LayerItem, LayerBranch, LayerDependency
     from django.db import transaction
 
@@ -49,7 +50,7 @@  def main():
         nowiki_re = re.compile(r'</?nowiki>')
         link_re = re.compile(r'\[(http.*) +link\]')
         readme_re = re.compile(r';f=[a-zA-Z0-9/-]*README;')
-        master_branch = utils.get_branch('master')
+        master_branch = utils.get_branch(settings.DEFAULT_BRANCH)
         core_layer = None
         with transaction.atomic():
             for line in data.splitlines():
diff --git a/layerindex/tools/update_classic_status.py b/layerindex/tools/update_classic_status.py
index aa5d2ef..c8c373b 100755
--- a/layerindex/tools/update_classic_status.py
+++ b/layerindex/tools/update_classic_status.py
@@ -83,6 +83,7 @@  def main():
     args = parser.parse_args()
 
     utils.setup_django()
+    import settings
     from layerindex.models import LayerItem, LayerBranch, Recipe, ClassicRecipe, Update, ComparisonRecipeUpdate
     from django.db import transaction
 
@@ -121,7 +122,7 @@  def main():
     try:
         with transaction.atomic():
             def recipe_pn_query(pn):
-                return Recipe.objects.filter(layerbranch__branch__name='master').filter(pn=pn).order_by('-layerbranch__layer__index_preference')
+                return Recipe.objects.filter(layerbranch__branch__name=settings.DEFAULT_BRANCH).filter(pn=pn).order_by('-layerbranch__layer__index_preference')
 
             if args.import_data:
                 recipequery = ClassicRecipe.objects.filter(layerbranch=layerbranch)
@@ -141,9 +142,9 @@  def main():
                         orig_layerbranch = recipe.cover_layerbranch
                         recipe.cover_layerbranch = layerbranches.get(cover_layer, None)
                         if recipe.cover_layerbranch is None:
-                            recipe.cover_layerbranch = LayerBranch.objects.filter(branch__name='master', layer__name=cover_layer).first()
+                            recipe.cover_layerbranch = LayerBranch.objects.filter(branch__name=settings.DEFAULT_BRANCH, layer__name=cover_layer).first()
                             if recipe.cover_layerbranch is None:
-                                logger.warning('Could not find cover layer %s in master branch' % cover_layer)
+                                logger.warning('Could not find cover layer %s in %s branch' % (cover_layer, settings.DEFAULT_BRANCH))
                             else:
                                 layerbranches[cover_layer] = recipe.cover_layerbranch
                         if orig_layerbranch != recipe.cover_layerbranch:
diff --git a/layerindex/update.py b/layerindex/update.py
index df3939f..788daee 100755
--- a/layerindex/update.py
+++ b/layerindex/update.py
@@ -333,7 +333,7 @@  def main():
 
             # Get a safe bitbake branch to call into from this script (used later on)
             safe_bitbake_branch = 'origin/master'
-            master_branch = Branch.objects.filter(name='master').first()
+            master_branch = Branch.objects.filter(name=settings.DEFAULT_BRANCH).first()
             if master_branch and master_branch.bitbake_branch:
                 safe_bitbake_branch = 'origin/' + master_branch.bitbake_branch
 
diff --git a/layerindex/update_layer.py b/layerindex/update_layer.py
index 33c5cfb..6248f78 100644
--- a/layerindex/update_layer.py
+++ b/layerindex/update_layer.py
@@ -250,7 +250,7 @@  def main():
 
     parser.add_option("-b", "--branch",
             help = "Specify branch to update",
-            action="store", dest="branch", default='master')
+            action="store", dest="branch", default='')
     parser.add_option("-l", "--layer",
             help = "Layer to update",
             action="store", dest="layer")
@@ -304,6 +304,8 @@  def main():
 
     logger.setLevel(options.loglevel)
 
+    if not options.branch:
+        options.branch = settings.DEFAULT_BRANCH
     branch = utils.get_branch(options.branch)
     if not branch:
         logger.error("Specified branch %s is not valid" % options.branch)
diff --git a/layerindex/urls.py b/layerindex/urls.py
index 51a832d..e7b0531 100644
--- a/layerindex/urls.py
+++ b/layerindex/urls.py
@@ -20,6 +20,8 @@  from layerindex.views import LayerListView, LayerReviewListView, LayerReviewDeta
 from layerindex.models import LayerItem, Recipe, RecipeChangeset
 from rest_framework import routers
 from . import restviews
+import settings as _settings
+_DEFAULT_BRANCH = getattr(_settings, 'DEFAULT_BRANCH', 'master')
 
 router = routers.DefaultRouter()
 router.register(r'branches', restviews.BranchViewSet)
@@ -39,23 +41,23 @@  router.register(r'incFiles', restviews.IncFileViewSet)
 
 urlpatterns = [
     re_path(r'^$',
-        RedirectView.as_view(url=reverse_lazy('layer_list', args=('master',)), permanent=False),
+        RedirectView.as_view(url=reverse_lazy('layer_list', args=(_DEFAULT_BRANCH,)), permanent=False),
         name='frontpage'),
 
     re_path(r'^api/', include(router.urls)),
 
     re_path(r'^layers/$',
-        RedirectView.as_view(url=reverse_lazy('layer_list', args=('master',)), permanent=False)),
+        RedirectView.as_view(url=reverse_lazy('layer_list', args=(_DEFAULT_BRANCH,)), permanent=False)),
     re_path(r'^layer/(?P<slug>[-\.\w]+)/$',
-        RedirectParamsView.as_view(permanent=False), {'redirect_name': 'layer_item', 'branch': 'master'}),
+        RedirectParamsView.as_view(permanent=False), {'redirect_name': 'layer_item', 'branch': _DEFAULT_BRANCH}),
     re_path(r'^recipes/$',
-        RedirectView.as_view(url=reverse_lazy('recipe_search', args=('master',)), permanent=False)),
+        RedirectView.as_view(url=reverse_lazy('recipe_search', args=(_DEFAULT_BRANCH,)), permanent=False)),
     re_path(r'^machines/$',
-        RedirectView.as_view(url=reverse_lazy('machine_search', args=('master',)), permanent=False)),
+        RedirectView.as_view(url=reverse_lazy('machine_search', args=(_DEFAULT_BRANCH,)), permanent=False)),
     re_path(r'^distros/$',
-        RedirectView.as_view(url=reverse_lazy('distro_search', args=('master',)), permanent=False)),
+        RedirectView.as_view(url=reverse_lazy('distro_search', args=(_DEFAULT_BRANCH,)), permanent=False)),
     re_path(r'^classes/$',
-        RedirectView.as_view(url=reverse_lazy('class_search', args=('master',)), permanent=False)),
+        RedirectView.as_view(url=reverse_lazy('class_search', args=(_DEFAULT_BRANCH,)), permanent=False)),
     re_path(r'^submit/$', edit_layer_view, {'template_name': 'layerindex/submitlayer.html'}, name="submit_layer"),
     re_path(r'^submit/thanks/$',
         TemplateView.as_view(
diff --git a/layerindex/views.py b/layerindex/views.py
index 84750f7..d3d8181 100644
--- a/layerindex/views.py
+++ b/layerindex/views.py
@@ -114,7 +114,7 @@  def delete_layer_view(request, template_name, slug):
         raise PermissionDenied
     if request.method == 'POST':
         layeritem.delete()
-        return HttpResponseRedirect(reverse('layer_list', args=('master',)))
+        return HttpResponseRedirect(reverse('layer_list', args=(settings.DEFAULT_BRANCH,)))
     else:
         return render(request, template_name, {
             'object': layeritem,
@@ -122,7 +122,7 @@  def delete_layer_view(request, template_name, slug):
             'cancel_url': layeritem.get_absolute_url()
         })
 
-def update_layer_view(request, template_name, branch='master', slug=None):
+def update_layer_view(request, template_name, branch=settings.DEFAULT_BRANCH, slug=None):
     if not (request.user.is_authenticated and request.user.is_staff):
         raise PermissionDenied
     return_url = None
@@ -157,7 +157,7 @@  def update_layer_view(request, template_name, branch='master', slug=None):
 
     return HttpResponseRedirect(reverse_lazy('task_status', kwargs={'task_id': task_id}))
 
-def edit_layer_view(request, template_name, branch='master', slug=None):
+def edit_layer_view(request, template_name, branch=settings.DEFAULT_BRANCH, slug=None):
     return_url = None
     branchobj = Branch.objects.filter(name=branch)[:1].get()
     if slug:
@@ -444,7 +444,7 @@  class LayerReviewListView(ListView):
         return super(LayerReviewListView, self).dispatch(request, *args, **kwargs)
 
     def get_queryset(self):
-        return LayerBranch.objects.filter(branch__name='master').filter(layer__status='N').order_by('layer__name')
+        return LayerBranch.objects.filter(branch__name=settings.DEFAULT_BRANCH).filter(layer__status='N').order_by('layer__name')
 
 class LayerDetailView(DetailView):
     model = LayerItem
@@ -492,7 +492,7 @@  class LayerReviewDetailView(LayerDetailView):
         return super(LayerReviewDetailView, self).dispatch(request, *args, **kwargs)
 
     def get_context_data(self, **kwargs):
-        self.kwargs['branch'] = 'master'
+        self.kwargs['branch'] = settings.DEFAULT_BRANCH
         context = super(LayerReviewDetailView, self).get_context_data(**kwargs)
         return context
 
@@ -738,7 +738,7 @@  class AdvancedRecipeSearchView(ListView):
                 query = Q(**{"%s__icontains" % field: value})
             else:
                 query = Q(**{"%s" % field: value})
-            queryset = Recipe.objects.filter(layerbranch__branch__name='master')
+            queryset = Recipe.objects.filter(layerbranch__branch__name=settings.DEFAULT_BRANCH)
             layer = self.request.GET.get('layer', '')
             if layer:
                 queryset = queryset.filter(layerbranch__layer=layer)
@@ -825,7 +825,7 @@  class BulkChangeSearchView(AdvancedRecipeSearchView):
     def get_context_data(self, **kwargs):
         context = super(BulkChangeSearchView, self).get_context_data(**kwargs)
         context['changeset'] = self.changeset
-        context['current_branch'] = 'master'
+        context['current_branch'] = settings.DEFAULT_BRANCH
         return context
 
 
@@ -1341,7 +1341,7 @@  class ClassicRecipeSearchView(RecipeSearchView):
             filtered = True
         qs, filtered = self.search_recipe_query(init_qs, query_string, preferred=False)
         if qreversed:
-            init_rqs = Recipe.objects.filter(layerbranch__branch__name='master')
+            init_rqs = Recipe.objects.filter(layerbranch__branch__name=settings.DEFAULT_BRANCH)
             if layer_ids:
                 init_rqs = init_rqs.filter(layerbranch__layer__id__in=layer_ids)
             excludeclasses_param = self.request.GET.get('excludeclasses', '')
@@ -1735,7 +1735,7 @@  class ComparisonRecipeSelectView(ClassicRecipeSearchView):
         return True
 
     def get_context_data(self, **kwargs):
-        self.kwargs['branch'] = 'master'
+        self.kwargs['branch'] = settings.DEFAULT_BRANCH
         context = super(ComparisonRecipeSelectView, self).get_context_data(**kwargs)
         recipe = get_object_or_404(ClassicRecipe, pk=self.kwargs['pk'])
         context['select_for'] = recipe
@@ -1761,7 +1761,7 @@  class ComparisonRecipeSelectView(ClassicRecipeSearchView):
             layer_ids = [int(i) for i in selectedlayers_param.split(',')]
         else:
             layer_ids = []
-        init_qs = Recipe.objects.filter(layerbranch__branch__name='master')
+        init_qs = Recipe.objects.filter(layerbranch__branch__name=settings.DEFAULT_BRANCH)
         if layer_ids:
             init_qs = init_qs.filter(layerbranch__layer__in=layer_ids)
         qs, _ = self.search_recipe_query(init_qs, query_string, preferred=False)
diff --git a/rrs/tools/historytool.py b/rrs/tools/historytool.py
index 9f03ade..92e4b04 100755
--- a/rrs/tools/historytool.py
+++ b/rrs/tools/historytool.py
@@ -77,7 +77,7 @@  def rrs_import(args):
     if not core_layer:
         logger.error('Unable to find core layer %s' % settings.CORE_LAYER_NAME)
         return 1
-    core_layerbranch = core_layer.get_layerbranch('master')
+    core_layerbranch = core_layer.get_layerbranch(settings.DEFAULT_BRANCH)
     if not core_layerbranch:
         logger.error('Unable to find branch master of layer %s' % core_layerbranch.name)
         return 1
@@ -130,7 +130,7 @@  def rrs_remove_duplicates(args):
     if not core_layer:
         logger.error('Unable to find core layer %s' % settings.CORE_LAYER_NAME)
         return 1
-    core_layerbranch = core_layer.get_layerbranch('master')
+    core_layerbranch = core_layer.get_layerbranch(settings.DEFAULT_BRANCH)
     if not core_layerbranch:
         logger.error('Unable to find branch master of layer %s' % core_layerbranch.name)
         return 1
diff --git a/settings.py b/settings.py
index 94b3dd1..08004cb 100644
--- a/settings.py
+++ b/settings.py
@@ -299,3 +299,6 @@  TASK_LOG_DIR = "/tmp/layerindex-task-logs"
 
 # Full path to directory where rrs tools stores logs
 TOOLS_LOG_DIR = ""
+
+# Default branch name used across the layer index
+DEFAULT_BRANCH = 'master'