This might be enough to fix it - I just compare the values against each
other rather than doing 4 explicit cases. I call bool() on them first
before comparing them as we want a boolean comparison here, and that
should work even if you pass None or "" or whatever I guess.
diff --git a/aptsources/sourceslist.py b/aptsources/sourceslist.py
index 89cef642..d4e52c4d 100644
--- a/aptsources/sourceslist.py
+++ b/aptsources/sourceslist.py
@@ -332,10 +332,10 @@ class SourcesList(object):
for source in sources:
# if there is a repo with the same (type, uri, dist) just add the
# components
- if source.disabled and set(source.comps) == set(comps):
- source.disabled = False
+ if bool(source.disabled) != bool(disabled) and set(source.comps)
== set(comps):
+ source.disabled = bool(disabled)
return source
- elif not source.disabled:
+ elif bool(disabled) == bool(source.disabled):
source.comps = uniq(source.comps + comps)
return source
# there isn't any matching source, so create a new line and parse it
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1311056
Title:
apt-add-repository adds duplicate commented/disabled source lines
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/python-apt/+bug/1311056/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs