* [gentoo-commits] proj/gentoopm:master commit in: gentoopm/
@ 2011-07-10 12:34 Michał Górny
0 siblings, 0 replies; 39+ messages in thread
From: Michał Górny @ 2011-07-10 12:34 UTC (permalink / raw
To: gentoo-commits
commit: 23dd108ddb00cdbe228118b32e195294f7e79d96
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun Jul 10 11:23:52 2011 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Jul 10 11:23:52 2011 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/gentoopm.git;a=commit;h=23dd108d
Make some of core vars private.
---
gentoopm/querycli.py | 4 ++--
gentoopm/submodules.py | 4 ++--
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/gentoopm/querycli.py b/gentoopm/querycli.py
index e1ea091..acf1214 100644
--- a/gentoopm/querycli.py
+++ b/gentoopm/querycli.py
@@ -9,7 +9,7 @@ from abc import abstractmethod
from gentoopm import get_package_manager
from gentoopm.util import ABCObject
-def reponame(val):
+def _reponame(val):
"""
Check the value for correctness as repository name. In fact, it only ensures
it isn't a path so that it won't confuse pm.repositories[val].
@@ -87,7 +87,7 @@ class PMQueryCommands(object):
"""
def __init__(self, argparser):
PMQueryCommand.__init__(self, argparser)
- argparser.add_argument('repo_name', type=reponame,
+ argparser.add_argument('repo_name', type=_reponame,
help='The repository name to look up')
def __call__(self, pm, args):
diff --git a/gentoopm/submodules.py b/gentoopm/submodules.py
index 82945bf..95840e4 100644
--- a/gentoopm/submodules.py
+++ b/gentoopm/submodules.py
@@ -3,7 +3,7 @@
# (c) 2011 Michał Górny <mgorny@gentoo.org>
# Released under the terms of the 2-clause BSD license.
-supported_pms = {
+_supported_pms = {
'paludis': ('gentoopm.paludispm', 'PaludisPM'),
'pkgcore': ('gentoopm.pkgcorepm', 'PkgCorePM'),
'portage': ('gentoopm.portagepm', 'PortagePM')
@@ -22,7 +22,7 @@ def get_pm(pm_name):
@raise NameError: PM class is not available
"""
- modname, clsname = supported_pms[pm_name]
+ modname, clsname = _supported_pms[pm_name]
mod = __import__(modname, fromlist=[clsname], level=-1)
return getattr(mod, clsname)()
^ permalink raw reply related [flat|nested] 39+ messages in thread
* [gentoo-commits] proj/gentoopm:master commit in: gentoopm/
@ 2011-07-10 12:34 Michał Górny
0 siblings, 0 replies; 39+ messages in thread
From: Michał Górny @ 2011-07-10 12:34 UTC (permalink / raw
To: gentoo-commits
commit: 53efdd7a7b7317b8baa1d86cdbad55f1a303d488
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun Jul 10 11:22:44 2011 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Jul 10 11:22:44 2011 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/gentoopm.git;a=commit;h=53efdd7a
Re-doc core code.
---
gentoopm/__init__.py | 13 +++++++++++--
gentoopm/preferences.py | 3 +++
gentoopm/querycli.py | 18 ++++++++++++++++++
gentoopm/submodules.py | 26 ++++++++++++++++----------
4 files changed, 48 insertions(+), 12 deletions(-)
diff --git a/gentoopm/__init__.py b/gentoopm/__init__.py
index f05d6ec..8fc5b3f 100644
--- a/gentoopm/__init__.py
+++ b/gentoopm/__init__.py
@@ -5,11 +5,20 @@
PV = '0'
+"""
+The package version.
+
+@type: string
+"""
+
def get_package_manager():
"""
Get the PackageManager instance for the best package manager available.
- Takes user preferences into consideration. Raises an exception if no PM
- could be found.
+ Takes user preferences into consideration.
+
+ @return: Best package manager instance available
+ @rtype: L{PackageManager}
+ @raise Exception: No package manager could be imported.
"""
from gentoopm.preferences import get_preferred_pms
diff --git a/gentoopm/preferences.py b/gentoopm/preferences.py
index c33f744..7141c6d 100644
--- a/gentoopm/preferences.py
+++ b/gentoopm/preferences.py
@@ -13,6 +13,9 @@ def get_preferred_pms():
"""
Find out what are the user's PM preferences and return the preferred PM
names as an iterable, with the most preferred one coming first.
+
+ @return: Preferred PMs, in order
+ @rtype: iterable(string)
"""
ret = []
diff --git a/gentoopm/querycli.py b/gentoopm/querycli.py
index 9267c4e..e1ea091 100644
--- a/gentoopm/querycli.py
+++ b/gentoopm/querycli.py
@@ -13,6 +13,11 @@ def reponame(val):
"""
Check the value for correctness as repository name. In fact, it only ensures
it isn't a path so that it won't confuse pm.repositories[val].
+
+ @param val: the config option value
+ @type val: string
+ @return: whether the value is a correct repo name
+ @rtype: bool
"""
if os.path.isabs(val):
raise ValueError('Invalid repository name: %s' % val)
@@ -25,6 +30,9 @@ class PMQueryCommand(ABCObject):
def help(self):
"""
Return the help string for a sub-command.
+
+ @return: the help string
+ @rtype: string
"""
descdoc = ' '.join(self.__doc__.split())
descdoc = descdoc[0].lower() + descdoc[1:]
@@ -33,6 +41,9 @@ class PMQueryCommand(ABCObject):
def __init__(self, argparser):
"""
Instantiate the subcommand, setting argument parser as necessary.
+
+ @param argparser: sub-command argument parser
+ @type argparser: C{argparse.ArgumentParser}
"""
argparser.set_defaults(instance = self)
self._arg = argparser
@@ -43,6 +54,13 @@ class PMQueryCommand(ABCObject):
Call the sub-command, passing pm (a working PackageManager instance)
and args (the result of argument parsing). Can return exit code
for the process if relevant. If it doesn't, 0 will be used.
+
+ @param pm: package manager instance
+ @type pm: L{PackageManager}
+ @param args: command arguments
+ @type args: C{argparse.Namespace}
+ @return: Process exit code or None if irrelevant
+ @rtype: bool/None
"""
pass
diff --git a/gentoopm/submodules.py b/gentoopm/submodules.py
index 7659361..82945bf 100644
--- a/gentoopm/submodules.py
+++ b/gentoopm/submodules.py
@@ -11,14 +11,15 @@ supported_pms = {
def get_pm(pm_name):
"""
- Get the PackageManager instance for a particularly named PM. Either returns
- a PackageManager subclass instance or raises one of the following
- exceptions:
-
- - KeyError if pm_name doesn't refer to a supported PM,
- - ImportError if modules required for a particular PM are not available,
- - NameError if for some reason required class isn't provided by the module
- (consider this an internal error).
+ Get the PackageManager instance for a particularly named PM.
+
+ @param pm_name: name of package manager to use
+ @type pm_name: string
+ @return: A package manager instance
+ @rtype: L{PackageManager}
+ @raise KeyError: pm_name doesn't refer to a supported PM
+ @raise ImportError: modules required for the PM are not available
+ @raise NameError: PM class is not available
"""
modname, clsname = supported_pms[pm_name]
@@ -28,8 +29,13 @@ def get_pm(pm_name):
def get_any_pm(pm_list):
"""
Get the first working PackageManager from the pm_list. This function will
- try to import them in order and either return the first succeeding or raise
- an exception if all of them fail.
+ try to import them in order and return the first succeeding.
+
+ @param pm_list: list of preferred package manager names, in order
+ @type pm_list: iterable(string)
+ @return: Best available package manager instance
+ @rtype: L{PackageManager}
+ @raise Exception: if none of the PMs are available
"""
for pm_name in pm_list:
^ permalink raw reply related [flat|nested] 39+ messages in thread
* [gentoo-commits] proj/gentoopm:master commit in: gentoopm/
@ 2011-07-10 12:34 Michał Górny
0 siblings, 0 replies; 39+ messages in thread
From: Michał Górny @ 2011-07-10 12:34 UTC (permalink / raw
To: gentoo-commits
commit: 74f67a9208c9e28ea8cbe1d4531f6f9019d9d140
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun Jul 10 11:23:06 2011 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Jul 10 11:23:06 2011 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/gentoopm.git;a=commit;h=74f67a92
Drop IterDictWrapper.
No longer used.
---
gentoopm/util.py | 17 -----------------
1 files changed, 0 insertions(+), 17 deletions(-)
diff --git a/gentoopm/util.py b/gentoopm/util.py
index 052c78b..70cd287 100644
--- a/gentoopm/util.py
+++ b/gentoopm/util.py
@@ -21,20 +21,3 @@ class ABCObject(object):
""" A portably-defined object with ABCMeta metaclass. """
__metaclass__ = ABCMeta
''')
-
-class IterDictWrapper(object):
- """
- A wrapper to a class providing an iterator & dict interface.
- """
-
- def __init__(self, subobj):
- """
- Instantiate the IterDictWrapper with subobj instance.
- """
- self._subobj = subobj
-
- def __iter__(self):
- return iter(self._subobj)
-
- def __getitem__(self, k):
- return self._subobj[k]
^ permalink raw reply related [flat|nested] 39+ messages in thread
* [gentoo-commits] proj/gentoopm:master commit in: gentoopm/
@ 2011-07-17 13:58 Michał Górny
0 siblings, 0 replies; 39+ messages in thread
From: Michał Górny @ 2011-07-17 13:58 UTC (permalink / raw
To: gentoo-commits
commit: 42e7151af2a24c4aab5a57d3dc41d64fbf26814f
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun Jul 17 13:57:21 2011 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Jul 17 13:57:21 2011 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/gentoopm.git;a=commit;h=42e7151a
Bump PV to 0.1.1.
---
gentoopm/__init__.py | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/gentoopm/__init__.py b/gentoopm/__init__.py
index 103a28e..5cb96d2 100644
--- a/gentoopm/__init__.py
+++ b/gentoopm/__init__.py
@@ -3,7 +3,7 @@
# (c) 2011 Michał Górny <mgorny@gentoo.org>
# Released under the terms of the 2-clause BSD license.
-PV = '0.1'
+PV = '0.1.1'
"""
The package version.
^ permalink raw reply related [flat|nested] 39+ messages in thread
* [gentoo-commits] proj/gentoopm:master commit in: gentoopm/
@ 2011-07-17 22:19 Michał Górny
0 siblings, 0 replies; 39+ messages in thread
From: Michał Górny @ 2011-07-17 22:19 UTC (permalink / raw
To: gentoo-commits
commit: db2944499752316174cba18338fa7f9fa363505d
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun Jul 17 22:12:06 2011 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Jul 17 22:20:08 2011 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/gentoopm.git;a=commit;h=db294449
Bump PV to 0.1.2 bugfix.
---
gentoopm/__init__.py | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/gentoopm/__init__.py b/gentoopm/__init__.py
index 5cb96d2..4d47ae8 100644
--- a/gentoopm/__init__.py
+++ b/gentoopm/__init__.py
@@ -3,7 +3,7 @@
# (c) 2011 Michał Górny <mgorny@gentoo.org>
# Released under the terms of the 2-clause BSD license.
-PV = '0.1.1'
+PV = '0.1.2'
"""
The package version.
^ permalink raw reply related [flat|nested] 39+ messages in thread
* [gentoo-commits] proj/gentoopm:master commit in: gentoopm/
@ 2011-07-19 12:07 Michał Górny
0 siblings, 0 replies; 39+ messages in thread
From: Michał Górny @ 2011-07-19 12:07 UTC (permalink / raw
To: gentoo-commits
commit: 19300f0c5f60565ef89f17106c06236bddd380f0
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Jul 19 12:08:03 2011 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Jul 19 12:08:03 2011 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/gentoopm.git;a=commit;h=19300f0c
Add __bool__() to StringWrapper.
---
gentoopm/util.py | 6 ++++++
1 files changed, 6 insertions(+), 0 deletions(-)
diff --git a/gentoopm/util.py b/gentoopm/util.py
index 76938d8..0329606 100644
--- a/gentoopm/util.py
+++ b/gentoopm/util.py
@@ -49,6 +49,12 @@ class StringWrapper(object):
def __str__(self):
return str(self._s)
+ def __bool__(self):
+ return bool(str(self))
+
+ def __nonzero__(self):
+ return self.__bool__(self)
+
def __repr__(self):
return '(%s)' % repr(str(self))
^ permalink raw reply related [flat|nested] 39+ messages in thread
* [gentoo-commits] proj/gentoopm:master commit in: gentoopm/
@ 2011-07-20 18:30 Michał Górny
0 siblings, 0 replies; 39+ messages in thread
From: Michał Górny @ 2011-07-20 18:30 UTC (permalink / raw
To: gentoo-commits
commit: 15155786054b54e96d8c571ad28d2a696a503b68
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Jul 20 18:31:01 2011 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Jul 20 18:31:01 2011 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/gentoopm.git;a=commit;h=15155786
Drop unnecessary import.
---
gentoopm/util.py | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/gentoopm/util.py b/gentoopm/util.py
index 9522a0b..4212764 100644
--- a/gentoopm/util.py
+++ b/gentoopm/util.py
@@ -7,7 +7,7 @@
Utility functions for gentoopm.
"""
-from abc import ABCMeta, abstractmethod
+from abc import ABCMeta
try:
exec('''
^ permalink raw reply related [flat|nested] 39+ messages in thread
* [gentoo-commits] proj/gentoopm:master commit in: gentoopm/
@ 2011-07-21 23:00 Michał Górny
0 siblings, 0 replies; 39+ messages in thread
From: Michał Górny @ 2011-07-21 23:00 UTC (permalink / raw
To: gentoo-commits
commit: 00f6b6888a61cee94ac7b30baa9a93f106c29585
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Jul 21 21:54:40 2011 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Jul 21 21:54:40 2011 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/gentoopm.git;a=commit;h=00f6b688
Don't use special __ne__ in StringifiedComparisons.
---
gentoopm/util.py | 21 +++++++++------------
1 files changed, 9 insertions(+), 12 deletions(-)
diff --git a/gentoopm/util.py b/gentoopm/util.py
index 0475812..17a8d81 100644
--- a/gentoopm/util.py
+++ b/gentoopm/util.py
@@ -22,7 +22,15 @@ class ABCObject(object):
__metaclass__ = ABCMeta
''')
-class StringifiedComparisons(object):
+class FillMissingNotEqual(object):
+ """
+ A base class filling '!=' using '=='.
+ """
+
+ def __ne__(self, other):
+ return not self == other
+
+class StringifiedComparisons(FillMissingNotEqual):
"""
A base class with '==', '!=' and hashing methods set to use the object
stringification.
@@ -34,17 +42,6 @@ class StringifiedComparisons(object):
def __eq__(self, other):
return str(self) == str(other)
- def __ne__(self, other):
- return str(self) != str(other)
-
-class FillMissingNotEqual(object):
- """
- A base class filling '!=' using '=='.
- """
-
- def __ne__(self, other):
- return not self == other
-
class FillMissingComparisons(FillMissingNotEqual):
"""
A base class filling '!=', '>', '<=' and '>=' comparators with '<' and
^ permalink raw reply related [flat|nested] 39+ messages in thread
* [gentoo-commits] proj/gentoopm:master commit in: gentoopm/
@ 2011-07-21 23:00 Michał Górny
0 siblings, 0 replies; 39+ messages in thread
From: Michał Górny @ 2011-07-21 23:00 UTC (permalink / raw
To: gentoo-commits
commit: f0f2e6f93fe8951cb788147cffefd303b9f65a0f
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Jul 21 21:18:44 2011 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Jul 21 21:18:44 2011 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/gentoopm.git;a=commit;h=f0f2e6f9
Drop deprecated __getslice__ from StringCompat.
---
gentoopm/util.py | 3 ---
1 files changed, 0 insertions(+), 3 deletions(-)
diff --git a/gentoopm/util.py b/gentoopm/util.py
index 4212764..0475812 100644
--- a/gentoopm/util.py
+++ b/gentoopm/util.py
@@ -97,9 +97,6 @@ class StringCompat(StringifiedComparisons):
def __getitem__(self, k):
return str(self)[k]
- def __getslice__(self, a, b):
- return str(self)[a:b]
-
def __len__(self):
return len(str(self))
^ permalink raw reply related [flat|nested] 39+ messages in thread
* [gentoo-commits] proj/gentoopm:master commit in: gentoopm/
@ 2011-07-21 23:00 Michał Górny
0 siblings, 0 replies; 39+ messages in thread
From: Michał Górny @ 2011-07-21 23:00 UTC (permalink / raw
To: gentoo-commits
commit: 337953535fecf3ea86579537415bb598e6df2388
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Jul 21 22:24:41 2011 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Jul 21 22:24:41 2011 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/gentoopm.git;a=commit;h=33795353
Add an EnumTuple type.
---
gentoopm/util.py | 35 +++++++++++++++++++++++++++++++++++
1 files changed, 35 insertions(+), 0 deletions(-)
diff --git a/gentoopm/util.py b/gentoopm/util.py
index 17a8d81..3005d36 100644
--- a/gentoopm/util.py
+++ b/gentoopm/util.py
@@ -7,6 +7,7 @@
Utility functions for gentoopm.
"""
+import collections
from abc import ABCMeta
try:
@@ -118,3 +119,37 @@ class SpaceSepTuple(tuple):
def __str__(self):
return ' '.join(self)
+
+def EnumTuple(name, *keys):
+ """
+ Create a namedtuple factory for an enumerated type. The resulting factory
+ function shall be called with keyword argument with names resembling
+ enumerated value names and values evaluating to True or False.
+
+ >>> MyTestEnum = EnumTuple('MyTestEnum', 'bad', 'good')
+ >>> i = 4
+ >>> MyTestEnum(bad = i <= 3, good = i > 3)
+ MyTestEnum(bad=False, good=True)
+
+ @param name: name of the resulting namedtuple
+ @type name: string
+ @param keys: list of enumerated values
+ @type keys: strings
+ @return: Factory function creating namedtuples.
+ @rtype: func(**kwargs)
+ """
+
+ def _check_args(kwargs):
+ res = False
+ for a in kwargs.values():
+ if not isinstance(a, bool):
+ raise ValueError('Non-bool passed to EnumTuple')
+ if a and res:
+ raise ValueError('More than a single True passed to EnumTuple')
+ res |= a
+ if not res:
+ raise ValueError('All values passed to EnumTuple are False')
+ return kwargs
+
+ nt = collections.namedtuple(name, keys)
+ return lambda **kwargs: nt(**_check_args(kwargs))
^ permalink raw reply related [flat|nested] 39+ messages in thread
* [gentoo-commits] proj/gentoopm:master commit in: gentoopm/
@ 2011-07-22 13:16 Michał Górny
0 siblings, 0 replies; 39+ messages in thread
From: Michał Górny @ 2011-07-22 13:16 UTC (permalink / raw
To: gentoo-commits
commit: f24d64e65d11b8e974c372c863a29344d0cce885
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Jul 22 13:15:53 2011 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Jul 22 13:15:53 2011 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/gentoopm.git;a=commit;h=f24d64e6
Bump PV to 0.1.3.
---
gentoopm/__init__.py | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/gentoopm/__init__.py b/gentoopm/__init__.py
index 4d47ae8..d77d47a 100644
--- a/gentoopm/__init__.py
+++ b/gentoopm/__init__.py
@@ -3,7 +3,7 @@
# (c) 2011 Michał Górny <mgorny@gentoo.org>
# Released under the terms of the 2-clause BSD license.
-PV = '0.1.2'
+PV = '0.1.3'
"""
The package version.
^ permalink raw reply related [flat|nested] 39+ messages in thread
* [gentoo-commits] proj/gentoopm:master commit in: gentoopm/
@ 2011-07-23 9:27 Michał Górny
0 siblings, 0 replies; 39+ messages in thread
From: Michał Górny @ 2011-07-23 9:27 UTC (permalink / raw
To: gentoo-commits
commit: 0c98a495f9b0f7ba5bf4abe0814e4c31ff5d9ad4
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Jul 23 08:59:22 2011 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Jul 23 08:59:22 2011 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/gentoopm.git;a=commit;h=0c98a495
StringCompat: support repr() by default.
---
gentoopm/util.py | 3 +++
1 files changed, 3 insertions(+), 0 deletions(-)
diff --git a/gentoopm/util.py b/gentoopm/util.py
index 3005d36..f80d4a5 100644
--- a/gentoopm/util.py
+++ b/gentoopm/util.py
@@ -107,6 +107,9 @@ class StringCompat(StringifiedComparisons):
def __rmul__(self, other):
return other * str(self)
+ def __repr__(self):
+ return '%s(%s)' % (self.__class__.__name__, repr(str(self)))
+
class SpaceSepTuple(tuple):
"""
A tuple subclass representing a space-separated list.
^ permalink raw reply related [flat|nested] 39+ messages in thread
* [gentoo-commits] proj/gentoopm:master commit in: gentoopm/
@ 2011-07-27 8:26 Michał Górny
0 siblings, 0 replies; 39+ messages in thread
From: Michał Górny @ 2011-07-27 8:26 UTC (permalink / raw
To: gentoo-commits
commit: f6fc5c0432450ae6d30c347b3da4d34d2f88c9f0
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Jul 27 07:44:19 2011 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Jul 27 07:44:19 2011 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/gentoopm.git;a=commit;h=f6fc5c04
SpaceSepTuple: support getting items by text.
---
gentoopm/util.py | 5 +++++
1 files changed, 5 insertions(+), 0 deletions(-)
diff --git a/gentoopm/util.py b/gentoopm/util.py
index f80d4a5..961c7d9 100644
--- a/gentoopm/util.py
+++ b/gentoopm/util.py
@@ -120,6 +120,11 @@ class SpaceSepTuple(tuple):
s = s.split()
return tuple.__new__(self, s)
+ def __getitem__(self, k):
+ if isinstance(k, str):
+ return self[self.index(k)]
+ return tuple.__getitem__(self, k)
+
def __str__(self):
return ' '.join(self)
^ permalink raw reply related [flat|nested] 39+ messages in thread
* [gentoo-commits] proj/gentoopm:master commit in: gentoopm/
@ 2011-07-29 6:18 Michał Górny
0 siblings, 0 replies; 39+ messages in thread
From: Michał Górny @ 2011-07-29 6:18 UTC (permalink / raw
To: gentoo-commits
commit: 3777bae98ef47c8416426dfc5a3c60b013fceaa9
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Jul 29 06:18:45 2011 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Jul 29 06:18:45 2011 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/gentoopm.git;a=commit;h=3777bae9
Fix SpaceSepFrozenSet[].
---
gentoopm/util.py | 6 +++++-
1 files changed, 5 insertions(+), 1 deletions(-)
diff --git a/gentoopm/util.py b/gentoopm/util.py
index 168c7ac..32cf156 100644
--- a/gentoopm/util.py
+++ b/gentoopm/util.py
@@ -113,7 +113,11 @@ class StringCompat(StringifiedComparisons):
class _SpaceSepIter(object):
def __getitem__(self, k):
if isinstance(k, str):
- return self[self.index(k)]
+ for i in self:
+ if i == k:
+ return i
+ else:
+ raise KeyError('No item matches %s' % repr(k))
return tuple.__getitem__(self, k)
def __str__(self):
^ permalink raw reply related [flat|nested] 39+ messages in thread
* [gentoo-commits] proj/gentoopm:master commit in: gentoopm/
@ 2011-08-12 7:28 Michał Górny
0 siblings, 0 replies; 39+ messages in thread
From: Michał Górny @ 2011-08-12 7:28 UTC (permalink / raw
To: gentoo-commits
commit: c1d4ba47ad9907795f23837fce34ef68e9cb1034
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Aug 2 16:31:12 2011 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Aug 2 16:31:12 2011 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/gentoopm.git;a=commit;h=c1d4ba47
Bump PV to 0.1.4.
---
gentoopm/__init__.py | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/gentoopm/__init__.py b/gentoopm/__init__.py
index d77d47a..8ac40a0 100644
--- a/gentoopm/__init__.py
+++ b/gentoopm/__init__.py
@@ -3,7 +3,7 @@
# (c) 2011 Michał Górny <mgorny@gentoo.org>
# Released under the terms of the 2-clause BSD license.
-PV = '0.1.3'
+PV = '0.1.4'
"""
The package version.
^ permalink raw reply related [flat|nested] 39+ messages in thread
* [gentoo-commits] proj/gentoopm:master commit in: gentoopm/
@ 2011-08-12 8:24 Michał Górny
0 siblings, 0 replies; 39+ messages in thread
From: Michał Górny @ 2011-08-12 8:24 UTC (permalink / raw
To: gentoo-commits
commit: 3d7f366544288fdcad55a81256c2dad2819cdeb1
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Aug 12 08:24:48 2011 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Aug 12 08:24:48 2011 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/gentoopm.git;a=commit;h=3d7f3665
Support old IPython API as well.
---
gentoopm/querycli.py | 20 +++++++++++++++-----
1 files changed, 15 insertions(+), 5 deletions(-)
diff --git a/gentoopm/querycli.py b/gentoopm/querycli.py
index be58106..c2ab2f0 100644
--- a/gentoopm/querycli.py
+++ b/gentoopm/querycli.py
@@ -103,14 +103,24 @@ class PMQueryCommands(object):
Run a Python shell with current PM selected.
"""
def __call__(self, pm, args):
+ welc = "The %s PM is now available as 'pm' object." % pm.name
+ kwargs = {}
+
try:
from IPython import embed
except ImportError:
- self._arg.error('IPython >= 0.11 required for shell')
- return 1
-
- welc = "The %s PM is now available as 'pm' object." % pm.name
- embed(banner2 = welc)
+ try:
+ from IPython.Shell import IPShellEmbed
+ except ImportError:
+ self._arg.error('IPython required for shell')
+ return 1
+ else:
+ embed = IPShellEmbed()
+ embed.set_banner(embed.IP.BANNER + '\n\n' + welc)
+ else:
+ kwargs['banner2'] = welc
+
+ embed(**kwargs)
def __iter__(self):
for k in dir(self):
^ permalink raw reply related [flat|nested] 39+ messages in thread
* [gentoo-commits] proj/gentoopm:master commit in: gentoopm/
@ 2011-08-12 8:24 Michał Górny
0 siblings, 0 replies; 39+ messages in thread
From: Michał Górny @ 2011-08-12 8:24 UTC (permalink / raw
To: gentoo-commits
commit: 09de4ec5e718cb87ee40915898613fb4bfdd21d2
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Aug 12 07:59:31 2011 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Aug 12 07:59:31 2011 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/gentoopm.git;a=commit;h=09de4ec5
Support running an IPython shell.
---
gentoopm/querycli.py | 14 ++++++++++++++
1 files changed, 14 insertions(+), 0 deletions(-)
diff --git a/gentoopm/querycli.py b/gentoopm/querycli.py
index b69d231..be58106 100644
--- a/gentoopm/querycli.py
+++ b/gentoopm/querycli.py
@@ -98,6 +98,20 @@ class PMQueryCommands(object):
return 1
print(r.path)
+ class shell(PMQueryCommand):
+ """
+ Run a Python shell with current PM selected.
+ """
+ def __call__(self, pm, args):
+ try:
+ from IPython import embed
+ except ImportError:
+ self._arg.error('IPython >= 0.11 required for shell')
+ return 1
+
+ welc = "The %s PM is now available as 'pm' object." % pm.name
+ embed(banner2 = welc)
+
def __iter__(self):
for k in dir(self):
if k.startswith('_'):
^ permalink raw reply related [flat|nested] 39+ messages in thread
* [gentoo-commits] proj/gentoopm:master commit in: gentoopm/
@ 2011-08-12 8:53 Michał Górny
0 siblings, 0 replies; 39+ messages in thread
From: Michał Górny @ 2011-08-12 8:53 UTC (permalink / raw
To: gentoo-commits
commit: 48089976d08152f09bcb49c90b02d80ec66d7616
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Aug 12 08:54:47 2011 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Aug 12 08:54:47 2011 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/gentoopm.git;a=commit;h=48089976
Support fallback to standard Python console.
---
gentoopm/querycli.py | 8 ++++++--
1 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/gentoopm/querycli.py b/gentoopm/querycli.py
index c2ab2f0..16909e0 100644
--- a/gentoopm/querycli.py
+++ b/gentoopm/querycli.py
@@ -108,12 +108,16 @@ class PMQueryCommands(object):
try:
from IPython import embed
+ raise ImportError
except ImportError:
try:
from IPython.Shell import IPShellEmbed
+ raise ImportError
except ImportError:
- self._arg.error('IPython required for shell')
- return 1
+ print('For better user experience, install IPython.')
+ from code import InteractiveConsole
+ embed = InteractiveConsole({'pm': pm}).interact
+ kwargs['banner'] = welc
else:
embed = IPShellEmbed()
embed.set_banner(embed.IP.BANNER + '\n\n' + welc)
^ permalink raw reply related [flat|nested] 39+ messages in thread
* [gentoo-commits] proj/gentoopm:master commit in: gentoopm/
@ 2011-08-12 9:28 Michał Górny
0 siblings, 0 replies; 39+ messages in thread
From: Michał Górny @ 2011-08-12 9:28 UTC (permalink / raw
To: gentoo-commits
commit: 880f8708f79223d87de97bed983eb25f69b44610
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Aug 12 09:10:29 2011 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Aug 12 09:10:29 2011 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/gentoopm.git;a=commit;h=880f8708
Oops, remove debug.
---
gentoopm/querycli.py | 2 --
1 files changed, 0 insertions(+), 2 deletions(-)
diff --git a/gentoopm/querycli.py b/gentoopm/querycli.py
index 16909e0..ceeb771 100644
--- a/gentoopm/querycli.py
+++ b/gentoopm/querycli.py
@@ -108,11 +108,9 @@ class PMQueryCommands(object):
try:
from IPython import embed
- raise ImportError
except ImportError:
try:
from IPython.Shell import IPShellEmbed
- raise ImportError
except ImportError:
print('For better user experience, install IPython.')
from code import InteractiveConsole
^ permalink raw reply related [flat|nested] 39+ messages in thread
* [gentoo-commits] proj/gentoopm:master commit in: gentoopm/
@ 2011-08-12 20:07 Michał Górny
0 siblings, 0 replies; 39+ messages in thread
From: Michał Górny @ 2011-08-12 20:07 UTC (permalink / raw
To: gentoo-commits
commit: 40bbcf283f9d968b815c1f539e546c1cdfa98a40
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Aug 12 19:56:59 2011 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Aug 12 20:03:25 2011 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/gentoopm.git;a=commit;h=40bbcf28
Add two keyword matchers for kwargs.
---
gentoopm/matchers.py | 44 ++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 44 insertions(+), 0 deletions(-)
diff --git a/gentoopm/matchers.py b/gentoopm/matchers.py
new file mode 100644
index 0000000..c3401b1
--- /dev/null
+++ b/gentoopm/matchers.py
@@ -0,0 +1,44 @@
+#!/usr/bin/python
+# vim:fileencoding=utf-8
+# (c) 2011 Michał Górny <mgorny@gentoo.org>
+# Released under the terms of the 2-clause BSD license.
+
+from .basepm.filter import PMKeywordMatcher
+
+import re
+
+class RegExp(PMKeywordMatcher):
+ """
+ A keyword attribute matcher using a regular expression.
+ """
+
+ def __init__(self, regexp):
+ """
+ Instantiate the regexp matcher.
+
+ @param re: a regular expression to match values against
+ @type re: string/compiled regexp
+ """
+ if not hasattr(regexp, 'match'):
+ regexp = re.compile(regexp)
+ self._re = regexp
+
+ def __eq__(self, val):
+ return bool(self._re.match(str(val)))
+
+class Contains(PMKeywordMatcher):
+ """
+ A keyword attribute matcher checking for list membership.
+ """
+
+ def __init__(self, elem):
+ self._elem = elem
+
+ def __eq__(self, val):
+ if isinstance(self._elem, str):
+ return self._elem in val
+ else:
+ for e in val:
+ if self._elem == e:
+ return True
+ return False
^ permalink raw reply related [flat|nested] 39+ messages in thread
* [gentoo-commits] proj/gentoopm:master commit in: gentoopm/
@ 2011-08-12 21:10 Michał Górny
0 siblings, 0 replies; 39+ messages in thread
From: Michał Górny @ 2011-08-12 21:10 UTC (permalink / raw
To: gentoo-commits
commit: 2a1903df166026e0c72d88e5e1dde6d0d19a66da
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Aug 12 21:09:30 2011 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Aug 12 21:09:30 2011 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/gentoopm.git;a=commit;h=2a1903df
Bump PV to 0.1.5.
---
gentoopm/__init__.py | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/gentoopm/__init__.py b/gentoopm/__init__.py
index 5211ecb..d8aa0ed 100644
--- a/gentoopm/__init__.py
+++ b/gentoopm/__init__.py
@@ -3,7 +3,7 @@
# (c) 2011 Michał Górny <mgorny@gentoo.org>
# Released under the terms of the 2-clause BSD license.
-PV = '0.1.4'
+PV = '0.1.5'
"""
The package version.
^ permalink raw reply related [flat|nested] 39+ messages in thread
* [gentoo-commits] proj/gentoopm:master commit in: gentoopm/
@ 2011-08-13 10:31 Michał Górny
0 siblings, 0 replies; 39+ messages in thread
From: Michał Górny @ 2011-08-13 10:31 UTC (permalink / raw
To: gentoo-commits
commit: b9ea056a18ecb79f15d8accb9c7baedac4ed1235
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Aug 13 10:26:57 2011 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Aug 13 10:26:57 2011 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/gentoopm.git;a=commit;h=b9ea056a
gentoopmq: support pritning PM version.
---
gentoopm/querycli.py | 11 ++++++++++-
1 files changed, 10 insertions(+), 1 deletions(-)
diff --git a/gentoopm/querycli.py b/gentoopm/querycli.py
index 2aa3460..af4f6c0 100644
--- a/gentoopm/querycli.py
+++ b/gentoopm/querycli.py
@@ -71,8 +71,17 @@ class PMQueryCommands(object):
"""
Get the name of a working, preferred PM.
"""
+ def __init__(self, argparser):
+ PMQueryCommand.__init__(self, argparser)
+ argparser.add_argument('-v', '--with-version',
+ action='store_true', dest='version',
+ help='Print the version as well')
+
def __call__(self, pm, args):
- print(pm.name)
+ if args.version:
+ print('%s %s' % (pm.name, pm.version))
+ else:
+ print(pm.name)
class repositories(PMQueryCommand):
"""
^ permalink raw reply related [flat|nested] 39+ messages in thread
* [gentoo-commits] proj/gentoopm:master commit in: gentoopm/
@ 2011-08-13 10:31 Michał Górny
0 siblings, 0 replies; 39+ messages in thread
From: Michał Górny @ 2011-08-13 10:31 UTC (permalink / raw
To: gentoo-commits
commit: 7555d27342062177d83b4445083b7bf1e95876da
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Aug 13 10:30:39 2011 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Aug 13 10:30:39 2011 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/gentoopm.git;a=commit;h=7555d273
Bump PV to 0.1.6.
---
gentoopm/__init__.py | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/gentoopm/__init__.py b/gentoopm/__init__.py
index d8aa0ed..3935e07 100644
--- a/gentoopm/__init__.py
+++ b/gentoopm/__init__.py
@@ -3,7 +3,7 @@
# (c) 2011 Michał Górny <mgorny@gentoo.org>
# Released under the terms of the 2-clause BSD license.
-PV = '0.1.5'
+PV = '0.1.6'
"""
The package version.
^ permalink raw reply related [flat|nested] 39+ messages in thread
* [gentoo-commits] proj/gentoopm:master commit in: gentoopm/
@ 2011-08-13 10:31 Michał Górny
0 siblings, 0 replies; 39+ messages in thread
From: Michał Górny @ 2011-08-13 10:31 UTC (permalink / raw
To: gentoo-commits
commit: dcbd4501a78d6c4daa64ea037926e092ca65e6fd
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Aug 13 10:30:23 2011 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Aug 13 10:30:23 2011 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/gentoopm.git;a=commit;h=dcbd4501
gentoopmq: support --version.
---
gentoopm/querycli.py | 5 ++++-
1 files changed, 4 insertions(+), 1 deletions(-)
diff --git a/gentoopm/querycli.py b/gentoopm/querycli.py
index af4f6c0..9c773cf 100644
--- a/gentoopm/querycli.py
+++ b/gentoopm/querycli.py
@@ -6,7 +6,7 @@
import argparse, os.path
from abc import abstractmethod
-from . import get_package_manager
+from . import PV, get_package_manager
from .util import ABCObject
def _reponame(val):
@@ -145,6 +145,9 @@ class PMQueryCLI(object):
def __init__(self):
self.argparser = arg = argparse.ArgumentParser()
+ arg.add_argument('-V', '--version',
+ action='version', version='%s %s' % (arg.prog, PV))
+
subp = arg.add_subparsers(title = 'Sub-commands')
for cmd_name, cmd_help, cmd_class in PMQueryCommands():
p = subp.add_parser(cmd_name, help=cmd_help)
^ permalink raw reply related [flat|nested] 39+ messages in thread
* [gentoo-commits] proj/gentoopm:master commit in: gentoopm/
@ 2011-08-13 18:49 Michał Górny
0 siblings, 0 replies; 39+ messages in thread
From: Michał Górny @ 2011-08-13 18:49 UTC (permalink / raw
To: gentoo-commits
commit: 190d6a524180b0e0a6350b816f5f47fa3142f2b8
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Aug 13 18:49:42 2011 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Aug 13 18:49:42 2011 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/gentoopm.git;a=commit;h=190d6a52
gentoopmq shell: import filters and matchers as well.
---
gentoopm/querycli.py | 12 +++++++++++-
1 files changed, 11 insertions(+), 1 deletions(-)
diff --git a/gentoopm/querycli.py b/gentoopm/querycli.py
index 9c773cf..e5813f4 100644
--- a/gentoopm/querycli.py
+++ b/gentoopm/querycli.py
@@ -112,7 +112,17 @@ class PMQueryCommands(object):
Run a Python shell with current PM selected.
"""
def __call__(self, pm, args):
- welc = "The %s PM is now available as 'pm' object." % pm.name
+ import gentoopm.filters as f
+ import gentoopm.matchers as m
+
+ our_imports = (
+ ('pm', pm),
+ ('f', f),
+ ('m', m))
+
+ welc = '''The following objects have been imported for you:\n'''
+ welc += '\n'.join(['\t%s: %s' % (key, repr(var))
+ for key, var in our_imports])
kwargs = {}
try:
^ permalink raw reply related [flat|nested] 39+ messages in thread
* [gentoo-commits] proj/gentoopm:master commit in: gentoopm/
@ 2011-08-13 18:49 Michał Górny
0 siblings, 0 replies; 39+ messages in thread
From: Michał Górny @ 2011-08-13 18:49 UTC (permalink / raw
To: gentoo-commits
commit: f1c01cc80d50428705f09bb238ceb6c006a889dc
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Aug 13 18:44:46 2011 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Aug 13 18:45:00 2011 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/gentoopm.git;a=commit;h=f1c01cc8
Support passing multiple values to Contains().
---
gentoopm/matchers.py | 31 ++++++++++++++++++++++++-------
1 files changed, 24 insertions(+), 7 deletions(-)
diff --git a/gentoopm/matchers.py b/gentoopm/matchers.py
index 52a005f..c0efe71 100644
--- a/gentoopm/matchers.py
+++ b/gentoopm/matchers.py
@@ -31,14 +31,31 @@ class Contains(PMKeywordMatcher):
A keyword attribute matcher checking for list membership.
"""
- def __init__(self, elem):
- self._elem = elem
+ def __init__(self, *elems):
+ """
+ Instantiate the matcher for arguments. If multiple arguments are passed
+ in, at least one of them must be contained in the value.
+
+ @param elems: elements to match against the value contents
+ @type elems: any
+ """
+
+ self._simple_matchers = set()
+ self._complex_matchers = []
+ for e in elems:
+ if isinstance(e, str):
+ self._simple_matchers.add(e)
+ else:
+ self._complex_matchers.append(e)
def __eq__(self, val):
- if isinstance(self._elem, str):
- return self._elem in val
- else:
+ for n in self._simple_matchers:
+ if n in val:
+ return True
+
+ for n in self._complex_matchers:
for e in val:
- if self._elem == e:
+ if n == e:
return True
- return False
+
+ return False
^ permalink raw reply related [flat|nested] 39+ messages in thread
* [gentoo-commits] proj/gentoopm:master commit in: gentoopm/
@ 2011-08-13 18:49 Michał Górny
0 siblings, 0 replies; 39+ messages in thread
From: Michał Górny @ 2011-08-13 18:49 UTC (permalink / raw
To: gentoo-commits
commit: f19e496ff27b9591d4591fa9ace8645a1b91d9e8
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Aug 13 18:29:56 2011 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Aug 13 18:29:56 2011 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/gentoopm.git;a=commit;h=f19e496f
StringCompat: raise AttributeError when accessing invalid str attrs.
StringCompat's __getattr__() may be called because of a random
AttributeError. Thus, we should raise AttributeError when user tries to
access an invalid attr. Otherwise, we may end up with an infinite
stringification loop.
---
gentoopm/util.py | 2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/gentoopm/util.py b/gentoopm/util.py
index 32cf156..7f2376b 100644
--- a/gentoopm/util.py
+++ b/gentoopm/util.py
@@ -79,6 +79,8 @@ class StringCompat(StringifiedComparisons):
return hasattr(str, k)
def __getattr__(self, k):
+ if not self.__hasattr__(k):
+ raise AttributeError(k)
return getattr(str(self), k)
# other useful special methods
^ permalink raw reply related [flat|nested] 39+ messages in thread
* [gentoo-commits] proj/gentoopm:master commit in: gentoopm/
@ 2011-08-15 8:48 Michał Górny
0 siblings, 0 replies; 39+ messages in thread
From: Michał Górny @ 2011-08-15 8:48 UTC (permalink / raw
To: gentoo-commits
commit: 7a1fafa956d90fd27a89fb295408548008e442a5
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Aug 15 08:49:34 2011 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Aug 15 08:49:34 2011 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/gentoopm.git;a=commit;h=7a1fafa9
Drop StringCompat2.
---
gentoopm/util.py | 44 --------------------------------------------
1 files changed, 0 insertions(+), 44 deletions(-)
diff --git a/gentoopm/util.py b/gentoopm/util.py
index ddd9cc1..7779a82 100644
--- a/gentoopm/util.py
+++ b/gentoopm/util.py
@@ -77,50 +77,6 @@ class StringCompat(str):
def __repr__(self):
return '%s(%s)' % (self.__class__.__name__, repr(str(self)))
-class StringCompat2(StringifiedComparisons):
- """
- A helper class providing objects with compatibility string functions,
- working on stringified form of objects. In other words, it lets you use
- objects like strings.
- """
-
- def __hasattr__(self, k):
- return hasattr(str, k)
-
- def __getattr__(self, k):
- if not self.__hasattr__(k):
- raise AttributeError(k)
- return getattr(str(self), k)
-
- # other useful special methods
- def __add__(self, other):
- return str(self) + other
-
- def __contains__(self, h):
- # XXX: might be useful to override this
- return h in str(self)
-
- def __format__(self, spec):
- return format(str(self), spec)
-
- def __getitem__(self, k):
- return str(self)[k]
-
- def __len__(self):
- return len(str(self))
-
- def __mul__(self, other):
- return str(self) * other
-
- def __rmod__(self, other):
- return other % str(self)
-
- def __rmul__(self, other):
- return other * str(self)
-
- def __repr__(self):
- return '%s(%s)' % (self.__class__.__name__, repr(str(self)))
-
class _SpaceSepIter(object):
def __getitem__(self, k):
if isinstance(k, str):
^ permalink raw reply related [flat|nested] 39+ messages in thread
* [gentoo-commits] proj/gentoopm:master commit in: gentoopm/
@ 2011-08-15 16:00 Michał Górny
0 siblings, 0 replies; 39+ messages in thread
From: Michał Górny @ 2011-08-15 16:00 UTC (permalink / raw
To: gentoo-commits
commit: 209f6b07d02c76967d73b6156a4de1c62935fd53
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Aug 15 15:57:46 2011 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Aug 15 15:57:46 2011 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/gentoopm.git;a=commit;h=209f6b07
Bump PV to 0.2.1.
---
gentoopm/__init__.py | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/gentoopm/__init__.py b/gentoopm/__init__.py
index 5034923..f9047ac 100644
--- a/gentoopm/__init__.py
+++ b/gentoopm/__init__.py
@@ -3,7 +3,7 @@
# (c) 2011 Michał Górny <mgorny@gentoo.org>
# Released under the terms of the 2-clause BSD license.
-PV = '0.2'
+PV = '0.2.1'
"""
The package version.
^ permalink raw reply related [flat|nested] 39+ messages in thread
* [gentoo-commits] proj/gentoopm:master commit in: gentoopm/
@ 2011-08-23 20:39 Michał Górny
0 siblings, 0 replies; 39+ messages in thread
From: Michał Górny @ 2011-08-23 20:39 UTC (permalink / raw
To: gentoo-commits
commit: 270c368605f44c4777ac6cb66a6a616e12914708
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Aug 23 20:40:28 2011 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Aug 23 20:40:28 2011 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/gentoopm.git;a=commit;h=270c3686
Fix 'repositories' command to output to stdout.
---
gentoopm/querycli.py | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/gentoopm/querycli.py b/gentoopm/querycli.py
index e5813f4..86f21b4 100644
--- a/gentoopm/querycli.py
+++ b/gentoopm/querycli.py
@@ -88,7 +88,7 @@ class PMQueryCommands(object):
Print the list of ebuild repositories.
"""
def __call__(self, pm, args):
- return ' '.join([r.name for r in pm.repositories])
+ print(' '.join([r.name for r in pm.repositories]))
class repo_path(PMQueryCommand):
"""
^ permalink raw reply related [flat|nested] 39+ messages in thread
* [gentoo-commits] proj/gentoopm:master commit in: gentoopm/
@ 2011-09-09 21:13 Michał Górny
0 siblings, 0 replies; 39+ messages in thread
From: Michał Górny @ 2011-09-09 21:13 UTC (permalink / raw
To: gentoo-commits
commit: d0c3996bc480f75c3b6c337f6739db2775a382f4
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Sep 9 21:04:30 2011 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Sep 9 21:04:30 2011 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/gentoopm.git;a=commit;h=d0c3996b
Make StringCompat subclass unicode whenever necessary.
---
gentoopm/util.py | 26 ++++++++++++++++++--------
1 files changed, 18 insertions(+), 8 deletions(-)
diff --git a/gentoopm/util.py b/gentoopm/util.py
index 7779a82..0da2ff7 100644
--- a/gentoopm/util.py
+++ b/gentoopm/util.py
@@ -68,14 +68,24 @@ class BoolCompat(object):
def __nonzero__(self):
return self.__bool__()
-class StringCompat(str):
- """
- A helper class to create objects inheriting from string. It is basically
- like subclassing str directly but with a nice C{repr()}.
- """
-
- def __repr__(self):
- return '%s(%s)' % (self.__class__.__name__, repr(str(self)))
+try:
+ class StringCompat(unicode):
+ """
+ A helper class to create objects inheriting from string. It is basically
+ like subclassing str directly but with a nice C{repr()}.
+ """
+
+ def __repr__(self):
+ return '%s(%s)' % (self.__class__.__name__, repr(unicode(self)))
+except NameError:
+ class StringCompat(str):
+ """
+ A helper class to create objects inheriting from string. It is basically
+ like subclassing str directly but with a nice C{repr()}.
+ """
+
+ def __repr__(self):
+ return '%s(%s)' % (self.__class__.__name__, repr(str(self)))
class _SpaceSepIter(object):
def __getitem__(self, k):
^ permalink raw reply related [flat|nested] 39+ messages in thread
* [gentoo-commits] proj/gentoopm:master commit in: gentoopm/
@ 2011-11-14 21:44 Michał Górny
0 siblings, 0 replies; 39+ messages in thread
From: Michał Górny @ 2011-11-14 21:44 UTC (permalink / raw
To: gentoo-commits
commit: c507fdcb5435ac1e126835c07fc5f2f2e1c60d9d
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Nov 14 21:41:47 2011 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Nov 14 21:41:47 2011 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/gentoopm.git;a=commit;h=c507fdcb
Bump PV to 0.2.2.
---
gentoopm/__init__.py | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/gentoopm/__init__.py b/gentoopm/__init__.py
index f9047ac..66662bc 100644
--- a/gentoopm/__init__.py
+++ b/gentoopm/__init__.py
@@ -3,7 +3,7 @@
# (c) 2011 Michał Górny <mgorny@gentoo.org>
# Released under the terms of the 2-clause BSD license.
-PV = '0.2.1'
+PV = '0.2.2'
"""
The package version.
^ permalink raw reply related [flat|nested] 39+ messages in thread
* [gentoo-commits] proj/gentoopm:master commit in: gentoopm/
@ 2011-11-15 18:58 Michał Górny
0 siblings, 0 replies; 39+ messages in thread
From: Michał Górny @ 2011-11-15 18:58 UTC (permalink / raw
To: gentoo-commits
commit: 07b58f0eff2e8db6e0b3ed50cc62f4f102910bac
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Nov 15 18:57:24 2011 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Nov 15 18:57:24 2011 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/gentoopm.git;a=commit;h=07b58f0e
Bump PV to 0.2.3.
---
gentoopm/__init__.py | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/gentoopm/__init__.py b/gentoopm/__init__.py
index 66662bc..a5a1ff9 100644
--- a/gentoopm/__init__.py
+++ b/gentoopm/__init__.py
@@ -3,7 +3,7 @@
# (c) 2011 Michał Górny <mgorny@gentoo.org>
# Released under the terms of the 2-clause BSD license.
-PV = '0.2.2'
+PV = '0.2.3'
"""
The package version.
^ permalink raw reply related [flat|nested] 39+ messages in thread
* [gentoo-commits] proj/gentoopm:master commit in: gentoopm/
@ 2011-12-24 10:36 Michał Górny
0 siblings, 0 replies; 39+ messages in thread
From: Michał Górny @ 2011-12-24 10:36 UTC (permalink / raw
To: gentoo-commits
commit: a6bb6da05efcecc914cab2172f2d5c2adfb086de
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Dec 24 10:33:33 2011 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Dec 24 10:33:33 2011 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/gentoopm.git;a=commit;h=a6bb6da0
Bump PV to 0.2.4.
---
gentoopm/__init__.py | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/gentoopm/__init__.py b/gentoopm/__init__.py
index a5a1ff9..a67ec65 100644
--- a/gentoopm/__init__.py
+++ b/gentoopm/__init__.py
@@ -3,7 +3,7 @@
# (c) 2011 Michał Górny <mgorny@gentoo.org>
# Released under the terms of the 2-clause BSD license.
-PV = '0.2.3'
+PV = '0.2.4'
"""
The package version.
^ permalink raw reply related [flat|nested] 39+ messages in thread
* [gentoo-commits] proj/gentoopm:master commit in: gentoopm/
@ 2012-01-09 16:09 Michał Górny
0 siblings, 0 replies; 39+ messages in thread
From: Michał Górny @ 2012-01-09 16:09 UTC (permalink / raw
To: gentoo-commits
commit: f35c751f4d287be840697c39ccdf72c636d6c023
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Jan 9 16:09:37 2012 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Jan 9 16:09:37 2012 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/gentoopm.git;a=commit;h=f35c751f
Bump PV to 0.2.5.
---
gentoopm/__init__.py | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/gentoopm/__init__.py b/gentoopm/__init__.py
index a67ec65..30b7dd9 100644
--- a/gentoopm/__init__.py
+++ b/gentoopm/__init__.py
@@ -3,7 +3,7 @@
# (c) 2011 Michał Górny <mgorny@gentoo.org>
# Released under the terms of the 2-clause BSD license.
-PV = '0.2.4'
+PV = '0.2.5'
"""
The package version.
^ permalink raw reply related [flat|nested] 39+ messages in thread
* [gentoo-commits] proj/gentoopm:master commit in: gentoopm/
@ 2012-10-14 21:35 Michał Górny
0 siblings, 0 replies; 39+ messages in thread
From: Michał Górny @ 2012-10-14 21:35 UTC (permalink / raw
To: gentoo-commits
commit: 3eae6b2ec7a096a3bad6f497b8bb11704280b03a
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun Oct 14 21:34:55 2012 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Oct 14 21:34:55 2012 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/gentoopm.git;a=commit;h=3eae6b2e
Bump PV to 0.2.6.
---
gentoopm/__init__.py | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/gentoopm/__init__.py b/gentoopm/__init__.py
index 30b7dd9..6fef2b6 100644
--- a/gentoopm/__init__.py
+++ b/gentoopm/__init__.py
@@ -3,7 +3,7 @@
# (c) 2011 Michał Górny <mgorny@gentoo.org>
# Released under the terms of the 2-clause BSD license.
-PV = '0.2.5'
+PV = '0.2.6'
"""
The package version.
^ permalink raw reply related [flat|nested] 39+ messages in thread
* [gentoo-commits] proj/gentoopm:master commit in: gentoopm/
@ 2012-12-10 21:04 Michał Górny
0 siblings, 0 replies; 39+ messages in thread
From: Michał Górny @ 2012-12-10 21:04 UTC (permalink / raw
To: gentoo-commits
commit: e869e869221dea54ba77381a8441b1dd90a82b25
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Dec 10 21:03:39 2012 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Dec 10 21:03:39 2012 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/gentoopm.git;a=commit;h=e869e869
Bump version to 0.2.7.
---
gentoopm/__init__.py | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/gentoopm/__init__.py b/gentoopm/__init__.py
index 6fef2b6..a09ada8 100644
--- a/gentoopm/__init__.py
+++ b/gentoopm/__init__.py
@@ -3,7 +3,7 @@
# (c) 2011 Michał Górny <mgorny@gentoo.org>
# Released under the terms of the 2-clause BSD license.
-PV = '0.2.6'
+PV = '0.2.7'
"""
The package version.
^ permalink raw reply related [flat|nested] 39+ messages in thread
* [gentoo-commits] proj/gentoopm:master commit in: gentoopm/
@ 2013-02-16 11:42 Michał Górny
0 siblings, 0 replies; 39+ messages in thread
From: Michał Górny @ 2013-02-16 11:42 UTC (permalink / raw
To: gentoo-commits
commit: b5e6b7a846cf1785b1ceb97dbfa091fe420d23d3
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Feb 16 11:41:19 2013 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Feb 16 11:41:19 2013 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/gentoopm.git;a=commit;h=b5e6b7a8
Bump to 0.2.8.
---
gentoopm/__init__.py | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/gentoopm/__init__.py b/gentoopm/__init__.py
index a09ada8..a9529dc 100644
--- a/gentoopm/__init__.py
+++ b/gentoopm/__init__.py
@@ -3,7 +3,7 @@
# (c) 2011 Michał Górny <mgorny@gentoo.org>
# Released under the terms of the 2-clause BSD license.
-PV = '0.2.7'
+PV = '0.2.8'
"""
The package version.
^ permalink raw reply related [flat|nested] 39+ messages in thread
* [gentoo-commits] proj/gentoopm:master commit in: gentoopm/
@ 2013-08-08 23:02 Michał Górny
0 siblings, 0 replies; 39+ messages in thread
From: Michał Górny @ 2013-08-08 23:02 UTC (permalink / raw
To: gentoo-commits
commit: cefb3ac63209fa1104ef66cbb0740eb2f2d65b60
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Aug 8 22:49:50 2013 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Aug 8 22:49:50 2013 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/gentoopm.git;a=commit;h=cefb3ac6
Bump PV to 0.2.9.
---
gentoopm/__init__.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/gentoopm/__init__.py b/gentoopm/__init__.py
index a9529dc..b1a6471 100644
--- a/gentoopm/__init__.py
+++ b/gentoopm/__init__.py
@@ -3,7 +3,7 @@
# (c) 2011 Michał Górny <mgorny@gentoo.org>
# Released under the terms of the 2-clause BSD license.
-PV = '0.2.8'
+PV = '0.2.9'
"""
The package version.
^ permalink raw reply related [flat|nested] 39+ messages in thread
end of thread, other threads:[~2013-08-08 23:02 UTC | newest]
Thread overview: 39+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-08-12 21:10 [gentoo-commits] proj/gentoopm:master commit in: gentoopm/ Michał Górny
-- strict thread matches above, loose matches on Subject: below --
2013-08-08 23:02 Michał Górny
2013-02-16 11:42 Michał Górny
2012-12-10 21:04 Michał Górny
2012-10-14 21:35 Michał Górny
2012-01-09 16:09 Michał Górny
2011-12-24 10:36 Michał Górny
2011-11-15 18:58 Michał Górny
2011-11-14 21:44 Michał Górny
2011-09-09 21:13 Michał Górny
2011-08-23 20:39 Michał Górny
2011-08-15 16:00 Michał Górny
2011-08-15 8:48 Michał Górny
2011-08-13 18:49 Michał Górny
2011-08-13 18:49 Michał Górny
2011-08-13 18:49 Michał Górny
2011-08-13 10:31 Michał Górny
2011-08-13 10:31 Michał Górny
2011-08-13 10:31 Michał Górny
2011-08-12 20:07 Michał Górny
2011-08-12 9:28 Michał Górny
2011-08-12 8:53 Michał Górny
2011-08-12 8:24 Michał Górny
2011-08-12 8:24 Michał Górny
2011-08-12 7:28 Michał Górny
2011-07-29 6:18 Michał Górny
2011-07-27 8:26 Michał Górny
2011-07-23 9:27 Michał Górny
2011-07-22 13:16 Michał Górny
2011-07-21 23:00 Michał Górny
2011-07-21 23:00 Michał Górny
2011-07-21 23:00 Michał Górny
2011-07-20 18:30 Michał Górny
2011-07-19 12:07 Michał Górny
2011-07-17 22:19 Michał Górny
2011-07-17 13:58 Michał Górny
2011-07-10 12:34 Michał Górny
2011-07-10 12:34 Michał Górny
2011-07-10 12:34 Michał Górny
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox