From patchwork Fri Jun 19 21:52:52 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sandeep Gundlupet Raju X-Patchwork-Id: 90551 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 7C91DCD98F6 for ; Fri, 19 Jun 2026 21:52:54 +0000 (UTC) Received: from SA9PR02CU001.outbound.protection.outlook.com (SA9PR02CU001.outbound.protection.outlook.com [40.93.196.1]) by mx.groups.io with SMTP id smtpd.msgproc02-g2.52743.1781905971583982138 for ; Fri, 19 Jun 2026 14:52:51 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="dkim: body hash did not verify" header.i=@amd.com header.s=selector1 header.b=tFdHTyPQ; spf=permerror, err=parse error for token &{10 18 %{i}._ip.%{h}._ehlo.%{d}._spf.vali.email}: invalid domain name (domain: amd.com, ip: 40.93.196.1, mailfrom: sandeep.gundlupet-raju@amd.com) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=nyHENXuxd1MthiAmm5fubdyB9JJvyfx0hhWyYLcnpyTL1mgo5QknLVtZJqOaimszYYHZjqLA1eS788kn4BIfnMDvj9NguCzdt5QcgnlvFc2wMKZvvl9JPor6pcg9AS9HhngTC6QZqAUpx0NEFu1mN1rSa8DTI6hEVEAYu1p3GchTdD5paA+7IARk1MlOnCDsWwqbC6IosHfeyGps/1oWdCZrIOC6pJLj6Kaba/d3eRuu9ogkRnOrIR77x2AV8tMSOP9lQiMmyHlvHBNR7yB4uYOXbd2DcMPbi/U25uAM/qWH2xDebDOkgxMHqM3BGD/JhAtNl1Lqzqiy2mjK7HTIVg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=jRUBtJQgw1eeby4yTCJ6r+fgjFQhmsTLrEBQHoY3ZIk=; b=sOBx9ux/kzV8ZbtJ/inh0bsW8xkz5QoXFTbCxcbG9liG2weK2XDTaj5z+/tr2X7bKhY7HfMLxDZRgV6/TIEneDwyqAZX1OoRwnN4ar7sThcnl5WGKR4JiFioPtnUOpYh6jVwucjfdaDqP+qFrEwPH8xSBZGNj2mgena0Zrbl/uOHJDuqpotKNGd53hFjxa9f8yaOvDPwZwE7cMHOipDJksILt6yBlGAQmkJrEabKk1rWMeBhcgn0AhB3EPqqimoZaV0o8bKkISHYsQZL+eZxopqa6T1p3WQohBr+55675x5BuQQsWO8pPlR8zUZgj4wqhs70nf5nZVw9Tfy68ujZ/w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=lists.yoctoproject.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=jRUBtJQgw1eeby4yTCJ6r+fgjFQhmsTLrEBQHoY3ZIk=; b=tFdHTyPQC3SYIqsWtyesYuc8Dj4PcYpcKuVWDuuqAAIlzhREBPq/qSGMrJUeuQAfbjKhFK6MrbeubGB/hgVBChmqnL77m7uo19MYURRp9aHcS5ho94q6C6Sb/YYpHdYggTcwGT+GfO9qVY++pXWXrv369JGrttYFsZVJVEIClw0= Received: from MW4PR04CA0102.namprd04.prod.outlook.com (2603:10b6:303:83::17) by PH8PR12MB7110.namprd12.prod.outlook.com (2603:10b6:510:22e::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.113.15; Fri, 19 Jun 2026 21:52:45 +0000 Received: from SJ1PEPF00002319.namprd03.prod.outlook.com (2603:10b6:303:83:cafe::4b) by MW4PR04CA0102.outlook.office365.com (2603:10b6:303:83::17) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.139.13 via Frontend Transport; Fri, 19 Jun 2026 21:52:45 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C Received: from satlexmb07.amd.com (165.204.84.17) by SJ1PEPF00002319.mail.protection.outlook.com (10.167.242.229) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.139.8 via Frontend Transport; Fri, 19 Jun 2026 21:52:44 +0000 Received: from Satlexmb09.amd.com (10.181.42.218) by satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.41; Fri, 19 Jun 2026 16:52:44 -0500 Received: from satlexmb08.amd.com (10.181.42.217) by satlexmb09.amd.com (10.181.42.218) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.41; Fri, 19 Jun 2026 14:52:44 -0700 Received: from xcosantraju40.xilinx.com (10.180.168.240) by satlexmb08.amd.com (10.181.42.217) with Microsoft SMTP Server id 15.2.2562.41 via Frontend Transport; Fri, 19 Jun 2026 16:52:44 -0500 From: Sandeep Gundlupet Raju To: , CC: , Subject: [yocto-patches] [layerindex-web][PATCH 1/1] layerindex: Use settings.DEFAULT_BRANCH instead of hardcoded branch name Date: Fri, 19 Jun 2026 15:52:52 -0600 Message-ID: <20260619215252.2803094-1-sandeep.gundlupet-raju@amd.com> X-Mailer: git-send-email 2.43.0 MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ1PEPF00002319:EE_|PH8PR12MB7110:EE_ X-MS-Office365-Filtering-Correlation-Id: f74b45cc-c25f-4f90-f94a-08dece4d1848 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|36860700016|23010399003|82310400026|376014|1800799024|56012099006|6133799003|11063799006|18002099003; X-Microsoft-Antispam-Message-Info: txfg+ah7L3q4nm0J3dPgDO5ngjbbGmR31tD2lDCtwRnYX4rC8hesVkkMCJN+XLUMdeoKtOtbwDVL3omQF4sLMEO2wyq9GsvlAQnpCbc6Dua66sR8FFZ0UwEtD64hE4n0gn1k4L6AqORRwT9yNKPfy98YttIRA2snyKNEqg76FeXYLyPlNq0/oBidZ932ZHIdTjeCY/t05TWK3ZTGRd3iKZxKLzMcy3Cu/EsKnRNnZtRQsSrESym+WOfhqRmXGM+oxruBU7E81zbc+uK1r+kPnosDZrxVl53QlYBHr6Y2UF3I0hcaqbhw9obZVOOgUCGkdLBcxO6gx45ZtVPVGLUtQxEFH0QNsCNda3fTuXDg54VA0vfwJPs7zovXwpw3Wt1XZQLMdygpAzssdL0dMmtal/DClcdG/QQ+TunmClKILauoZLsI+zumIRUMhyEmQ2m9gdUz3c0qJUjvGj/00LZiiSL3FM8TBwu+5Clo+iisnCLx2DOn1ouT/TfdFzHZhe8YNRrGB34uVfPb6uXp18NCrFlQAiyN4+Ps0AmHK4mLYAIftrerC4R1y/pRrdl+hEZdAXd9JhM9Z6hdNx3qZbBtzAi6yoXdmjq3brtYA96ZHPhTDbVJF8WlpusbMNUfQ12lG9j2Ym7ekBIHTz3CUBaETLtYaYM7Bb+QflPglSiFglJi3JMP0KYfVbk+DZ2wkp5K03kqDiIIyty/pBNkMC8jvg== X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700016)(23010399003)(82310400026)(376014)(1800799024)(56012099006)(6133799003)(11063799006)(18002099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 7ccGHfY69XiGWdi6sGF1qrEZGv0wrSffTOgZ86usPTKj7MqGsF6ZZSws6H69AmEn4kN18mO8mRyUY5QaQlzyJ5nOZKAsSCTAjBdvCADNrSCsMScUIWeBU6NnSd4HNDuy0Np5x1YVqVF6rNyJgRB61Guog+qa3njjX+A+fSP52YhBU2rUBXcY6htMqcs+NV8DffZCdIqj+X2bQDrafFtt2JExCtJpSlJTY6CtMJArdjovSmgVI++K5r3RFmMMEhSV8h/w3eWuATA3AOk7yOkha1cnkFLg4l4uzPxIkdm+s6d7JdPfOL2cdKjfSephoUebQVRCERoHb5vf66dGvFMCaKP+AWgt9L91dqflbhS1VY9+fQME9/IA50qBSVBBdSeZQmy802GtvYJLkQGShglLdSKzA0byTHOOUtpUspE5i9f3InQmyf732VdNFLqEuh56 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Jun 2026 21:52:44.7670 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: f74b45cc-c25f-4f90-f94a-08dece4d1848 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com] X-MS-Exchange-CrossTenant-AuthSource: SJ1PEPF00002319.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR12MB7110 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Fri, 19 Jun 2026 21:52:54 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/yocto-patches/message/4251 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 --- 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 --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'') 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[-\.\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'