[edk2-devel] [edk2-staging/EdkRepo] [PATCH 6/6] EdkRepo: Add 'get' functions for Manifest Repo data

Ashley E Desimone posted 6 patches 5 years, 9 months ago
There is a newer version of this series
[edk2-devel] [edk2-staging/EdkRepo] [PATCH 6/6] EdkRepo: Add 'get' functions for Manifest Repo data
Posted by Ashley E Desimone 5 years, 9 months ago
Added functions to get the URL, LocalPath, Branch
and the absolute path for individual manifest
repositories to the BaseConfig class.

Signed-off-by: Ashley E Desimone <ashley.e.desimone@intel.com>
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com>
Cc: Puja Pandya <puja.pandya@intel.com>
Cc: Erik Bjorge <erik.c.bjorge@intel.com>
Cc: Bret Barkelew <Bret.Barkelew@microsoft.com>
Cc: Prince Agyeman <prince.agyeman@intel.com>
---
 edkrepo/config/config_factory.py | 37 +++++++++++++++++++++++++++++++++++++
 1 file changed, 37 insertions(+)

diff --git a/edkrepo/config/config_factory.py b/edkrepo/config/config_factory.py
index a4daba3..022e0bb 100644
--- a/edkrepo/config/config_factory.py
+++ b/edkrepo/config/config_factory.py
@@ -131,6 +131,43 @@ class BaseConfig():
                 repo_props.append(prop)
         return repo_props
 
+    def get_manifest_repo_url(self, manifest_repo):
+        """ 
+        Returns the URL value for a given manifest repo based on config
+        file contents.
+        """
+        for prop in self.manifest_repo_props(manifest_repo):
+            if 'URL' == prop.key:
+                return self.cfg[prop.section][prop.key]
+        return None
+
+    def get_manifest_repo_branch(self, manifest_repo):
+        """
+        Returns the Branch value for a given manifest repo based on config file
+        contents.
+        """
+        for prop in self.manifest_repo_props(manifest_repo):
+            if 'Branch' == prop.key:
+                return self.cfg[prop.section][prop.key]
+        return None
+
+    def get_manifest_repo_local_path(self, manifest_repo):
+        """
+        Returns the Local path value for a given manifest repo based on config
+        file contents.
+        """
+        for prop in self.manifest_repo_props(manifest_repo):
+            if 'LocalPath' == prop.key:
+                return self.cfg[prop.section][prop.key]
+        return None
+
+    def manifest_repo_abs_path(self, manifest_repo):
+        """
+        Returns the absolute path of a single manifest repo based on config
+        file contents and the global_data_dir location.
+        """
+        return os.path.join(self.global_data_dir, self.get_manifest_repo_local_path(manifest_repo))
+
 class GlobalConfig(BaseConfig):
     """
     Class access structure for the edkrepo.cfg file.  This file is read only and maintained by the
-- 
2.16.2.windows.1


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#57492): https://edk2.groups.io/g/devel/message/57492
Mute This Topic: https://groups.io/mt/73070624/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-

Re: [edk2-devel] [edk2-staging/EdkRepo] [PATCH 6/6] EdkRepo: Add 'get' functions for Manifest Repo data
Posted by Bjorge, Erik C 5 years, 9 months ago
Reviewed-by: Erik Bjorge <erik.c.bjorge@intel.com>

-----Original Message-----
From: Desimone, Ashley E <ashley.e.desimone@intel.com> 
Sent: Thursday, April 16, 2020 8:31 PM
To: devel@edk2.groups.io
Cc: Desimone, Nathaniel L <nathaniel.l.desimone@intel.com>; Pandya, Puja <puja.pandya@intel.com>; Bjorge, Erik C <erik.c.bjorge@intel.com>; Bret Barkelew <Bret.Barkelew@microsoft.com>; Agyeman, Prince <prince.agyeman@intel.com>
Subject: [edk2-staging/EdkRepo] [PATCH 6/6] EdkRepo: Add 'get' functions for Manifest Repo data

Added functions to get the URL, LocalPath, Branch and the absolute path for individual manifest repositories to the BaseConfig class.

Signed-off-by: Ashley E Desimone <ashley.e.desimone@intel.com>
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com>
Cc: Puja Pandya <puja.pandya@intel.com>
Cc: Erik Bjorge <erik.c.bjorge@intel.com>
Cc: Bret Barkelew <Bret.Barkelew@microsoft.com>
Cc: Prince Agyeman <prince.agyeman@intel.com>
---
 edkrepo/config/config_factory.py | 37 +++++++++++++++++++++++++++++++++++++
 1 file changed, 37 insertions(+)

diff --git a/edkrepo/config/config_factory.py b/edkrepo/config/config_factory.py
index a4daba3..022e0bb 100644
--- a/edkrepo/config/config_factory.py
+++ b/edkrepo/config/config_factory.py
@@ -131,6 +131,43 @@ class BaseConfig():
                 repo_props.append(prop)
         return repo_props
 
+    def get_manifest_repo_url(self, manifest_repo):
+        """ 
+        Returns the URL value for a given manifest repo based on config
+        file contents.
+        """
+        for prop in self.manifest_repo_props(manifest_repo):
+            if 'URL' == prop.key:
+                return self.cfg[prop.section][prop.key]
+        return None
+
+    def get_manifest_repo_branch(self, manifest_repo):
+        """
+        Returns the Branch value for a given manifest repo based on config file
+        contents.
+        """
+        for prop in self.manifest_repo_props(manifest_repo):
+            if 'Branch' == prop.key:
+                return self.cfg[prop.section][prop.key]
+        return None
+
+    def get_manifest_repo_local_path(self, manifest_repo):
+        """
+        Returns the Local path value for a given manifest repo based on config
+        file contents.
+        """
+        for prop in self.manifest_repo_props(manifest_repo):
+            if 'LocalPath' == prop.key:
+                return self.cfg[prop.section][prop.key]
+        return None
+
+    def manifest_repo_abs_path(self, manifest_repo):
+        """
+        Returns the absolute path of a single manifest repo based on config
+        file contents and the global_data_dir location.
+        """
+        return os.path.join(self.global_data_dir, 
+ self.get_manifest_repo_local_path(manifest_repo))
+
 class GlobalConfig(BaseConfig):
     """
     Class access structure for the edkrepo.cfg file.  This file is read only and maintained by the
--
2.16.2.windows.1


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#57513): https://edk2.groups.io/g/devel/message/57513
Mute This Topic: https://groups.io/mt/73070624/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-