commit:     e594083c13392b0a539acf74d09d8762dce76d23
Author:     Devan Franchini <twitch153 <AT> gentoo <DOT> org>
AuthorDate: Fri Mar 27 00:07:58 2015 +0000
Commit:     Devan Franchini <twitch153 <AT> gentoo <DOT> org>
CommitDate: Fri Mar 27 00:08:01 2015 +0000
URL:        https://gitweb.gentoo.org/proj/layman.git/commit/?id=e594083c

Renames protocol_order to protocol_filter

The config/cli flag name "protocol_order" has been changed to
"protocol_filter" in an attempt to provide a more suitable name for
users. The description of the option has been altered as well to provide
a more fitting elaboration on what the option actually does.

overlay.py: Calls filter_protocols from self to prevent run-time errors.

 etc/layman.cfg             |  8 ++++----
 layman/argsparser.py       | 28 +++++++++++++---------------
 layman/config.py           |  2 +-
 layman/overlays/overlay.py | 16 ++++++++--------
 4 files changed, 26 insertions(+), 28 deletions(-)

diff --git a/etc/layman.cfg b/etc/layman.cfg
index 9580d33..f289aa7 100644
--- a/etc/layman.cfg
+++ b/etc/layman.cfg
@@ -66,10 +66,10 @@ conf_type : repos.conf
 #-----------------------------------------------------------
 
 #-----------------------------------------------------------
-# Protocols used by layman and the order in which layman will
-# handle them.
-# ex.) protocol_order : git, http, https, etc,...
-# protocol_order :
+# Protocols used by layman when adding overlays or updating
+# their URLs.
+# ex.) protocol_filter : git, http, https, etc,...
+# protocol_filter :
 
 #-----------------------------------------------------------
 # URLs of the remote lists of overlays (one per line) or

diff --git a/layman/argsparser.py b/layman/argsparser.py
index eede806..f3cc8fa 100644
--- a/layman/argsparser.py
+++ b/layman/argsparser.py
@@ -265,13 +265,11 @@ class ArgsParser(BareConfig):
         # Additional Options
         etc_opts = self.parser.add_argument_group('<Additional options>')
 
-        etc_opts.add_argument('--protocol_order',
+        etc_opts.add_argument('--protocol_filter',
                               nargs = '+',
-                              help = 'Sets the order in which protocols will '
-                              'be handled if they are present. Will only '
-                              'use the provided protocols when installing '
-                              'overlays')
-
+                              help = 'Sets the protocol filter that determines 
'
+                              'which protocols will be used when adding '
+                              'overlays or updating their source URLs.')
 
         #-----------------------------------------------------------------
         # Debug Options
@@ -359,17 +357,17 @@ class ArgsParser(BareConfig):
             if storage:
                 return storage
 
-        if key == 'protocol_order':
-            protocol_order = []
+        if key == 'protocol_filter':
+            protocol_filter = []
             if (key in self.options.keys()
                 and not self.options[key] is None):
-                protocol_order = self.options[key]
-            if self.config.has_option('MAIN', 'protocol_order'):
-                protocol_order = self.config.get('MAIN', 'protocol_order')
-            if protocol_order:
-                if not isinstance(protocol_order, list):
-                    protocol_order = [e.strip() for e in 
protocol_order.split(',')]
-                return protocol_order
+                protocol_filter = self.options[key]
+            if self.config.has_option('MAIN', 'protocol_filter'):
+                protocol_filter = self.config.get('MAIN', 'protocol_filter')
+            if protocol_filter:
+                if not isinstance(protocol_filter, list):
+                    protocol_filter = [e.strip() for e in 
protocol_filter.split(',')]
+                return protocol_filter
 
         if key == 'overlays':
             overlays = ''

diff --git a/layman/config.py b/layman/config.py
index 926b9d5..c045320 100644
--- a/layman/config.py
+++ b/layman/config.py
@@ -96,7 +96,7 @@ class BareConfig(object):
             'cache'     : '%(storage)s/cache',
             'local_list': '%(storage)s/overlays.xml',
             'installed': '%(storage)s/installed.xml',
-            'protocol_order': [],
+            'protocol_filter': [],
             'auto_sync': 'No',
             'check_official': 'Yes',
             'conf_type': 'repos.conf',

diff --git a/layman/overlays/overlay.py b/layman/overlays/overlay.py
index fa728f6..1ecd509 100755
--- a/layman/overlays/overlay.py
+++ b/layman/overlays/overlay.py
@@ -71,15 +71,15 @@ class Overlay(object):
 
     def filter_protocols(self, sources):
         '''
-        Filters any protocols not specified in self.config['protocol_order']
+        Filters any protocols not specified in self.config['protocol_filter']
         from the overlay's sources.
         '''
         _sources = []
-        if not self.config['protocol_order']:
+        if not self.config['protocol_filter']:
             return sources
 
         for source in sources:
-            for protocol in self.config['protocol_order']:
+            for protocol in self.config['protocol_filter']:
                 protocol = protocol.lower()
                 #re.search considers "\+" as the literal "+".
                 if protocol == 'git+ssh':
@@ -402,11 +402,11 @@ class Overlay(object):
         res = 1
         first_s = True
 
-        self.sources = filter_protocols(self.sources)
+        self.sources = self.filter_protocols(self.sources)
         if not self.sources:
             msg = 'Overlay.add() error: overlay "%s" does not support the'\
                   ' given\nprotocol(s) %s and cannot be installed.'\
-                  % (self.name, str(self.config['protocol_order']))
+                  % (self.name, str(self.config['protocol_filter']))
             self.output.error(msg)
             return 1
 
@@ -430,12 +430,12 @@ class Overlay(object):
         first_src = True
         result = False
 
-        self.sources = filter_protocols(self.sources)
-        available_srcs = filter_protocols(available_srcs)
+        self.sources = self.filter_protocols(self.sources)
+        available_srcs = self.filter_protocols(available_srcs)
         if not self.sources or not available_srcs:
             msg = 'Overlay.update() error: overlay "%s" does not support the'\
                   'given protocol(s) %s and cannot be updated.'\
-                  % (self.name, str(self.config['protocol_order']))
+                  % (self.name, str(self.config['protocol_filter']))
             self.output.error(msg)
             return 1
 

Reply via email to