summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--pym/_emerge/DependencyArg.py26
1 files changed, 24 insertions, 2 deletions
diff --git a/pym/_emerge/DependencyArg.py b/pym/_emerge/DependencyArg.py
index 3bcaabefe..31cd882b5 100644
--- a/pym/_emerge/DependencyArg.py
+++ b/pym/_emerge/DependencyArg.py
@@ -1,11 +1,33 @@
-# Copyright 1999-2009 Gentoo Foundation
+# Copyright 1999-2010 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
+import sys
+
+from portage import _encodings, _unicode_encode, _unicode_decode
+
class DependencyArg(object):
def __init__(self, arg=None, root_config=None):
self.arg = arg
self.root_config = root_config
+ def __equals__(self, other):
+ if self.__class__ is not other.__class__:
+ return False
+ return self.arg == other.arg and \
+ self.root_config.root == other.root_config.root
+
+ def __hash__(self):
+ return hash((self.arg, self.root_config.root))
+
def __str__(self):
- return str(self.arg)
+ # Force unicode format string for python-2.x safety,
+ # ensuring that self.arg.__unicode__() is used
+ # when necessary.
+ return _unicode_decode("%s") % (self.arg,)
+
+ if sys.hexversion < 0x3000000:
+
+ __unicode__ = __str__
+ def __str__(self):
+ return _unicode_encode(self.__unicode__(), encoding=_encodings['content'])