I need to override the logic to read fetch_location from global_config with
site_autotest implementation. So I refactored it out to its own function
inside server/autotest.py.

Index: server/autotest.py
===================================================================
--- server/autotest.py (revision 5316)
+++ server/autotest.py (working copy)
@@ -119,6 +119,14 @@
                 ', '.join(client_autodir_paths))


+    def get_fetch_location(self):
+        c = global_config.global_config
+        repos = c.get_config_value("PACKAGES", 'fetch_location', type=list,
+                                   default=[])
+        repos.reverse()
+        return repos
+
+
     def install(self, host=None, autodir=None):
         self._install(host=host, autodir=autodir)

@@ -133,10 +141,7 @@


     def _install_using_packaging(self, host, autodir):
-        c = global_config.global_config
-        repos = c.get_config_value("PACKAGES", 'fetch_location', type=list,
-                                   default=[])
-        repos.reverse()
+        repos = self.get_fetch_location()
         if not repos:
             raise error.PackageInstallError("No repos to install an "
                                             "autotest client from")
@@ -361,9 +366,7 @@
         # If the packaging system is being used, add the repository list.
         repos = None
         try:
-            c = global_config.global_config
-            repos = c.get_config_value("PACKAGES", 'fetch_location',
type=list)
-            repos.reverse()  # high priority packages should be added last
+            repos = self.get_fetch_location()
             pkgmgr = packages.PackageManager('autotest',
hostname=host.hostname,
                                              repo_urls=repos)
             prologue_lines.append('job.add_repository(%s)\n' % repos)

-- 
Eric Li
李咏竹
Google Kirkland
Index: server/autotest.py
===================================================================
--- server/autotest.py  (revision 5316)
+++ server/autotest.py  (working copy)
@@ -119,6 +119,14 @@
                 ', '.join(client_autodir_paths))
 
 
+    def get_fetch_location(self):
+        c = global_config.global_config
+        repos = c.get_config_value("PACKAGES", 'fetch_location', type=list,
+                                   default=[])
+        repos.reverse()
+        return repos
+
+
     def install(self, host=None, autodir=None):
         self._install(host=host, autodir=autodir)
 
@@ -133,10 +141,7 @@
 
 
     def _install_using_packaging(self, host, autodir):
-        c = global_config.global_config
-        repos = c.get_config_value("PACKAGES", 'fetch_location', type=list,
-                                   default=[])
-        repos.reverse()
+        repos = self.get_fetch_location()
         if not repos:
             raise error.PackageInstallError("No repos to install an "
                                             "autotest client from")
@@ -361,9 +366,7 @@
         # If the packaging system is being used, add the repository list.
         repos = None
         try:
-            c = global_config.global_config
-            repos = c.get_config_value("PACKAGES", 'fetch_location', type=list)
-            repos.reverse()  # high priority packages should be added last
+            repos = self.get_fetch_location()
             pkgmgr = packages.PackageManager('autotest', 
hostname=host.hostname,
                                              repo_urls=repos)
             prologue_lines.append('job.add_repository(%s)\n' % repos)
_______________________________________________
Autotest mailing list
Autotest@test.kernel.org
http://test.kernel.org/cgi-bin/mailman/listinfo/autotest

Reply via email to