From 6b50d0100551ceb8cce0881de89a77a9616b5ed3 Mon Sep 17 00:00:00 2001 From: Dmitry Selyutin Date: Sun, 22 Oct 2017 23:56:20 +0300 Subject: [PATCH] module: reorder methods --- pygnulib/module.py | 82 +++++++++++++++++++++++----------------------- 1 file changed, 41 insertions(+), 41 deletions(-) diff --git a/pygnulib/module.py b/pygnulib/module.py index 4e839046fa..0dc1d4d488 100644 --- a/pygnulib/module.py +++ b/pygnulib/module.py @@ -57,6 +57,47 @@ class Base: self.__table[key] = typeid(kwargs.get(key, typeid())) + def __repr__(self): + module = self.__class__.__module__ + name = self.__class__.__name__ + return "{}.{}{}".format(module, name, repr(self.__table["name"])) + + + def __str__(self): + result = "" + for (key, (_, typeid, field)) in sorted(Base._TABLE.items(), key=lambda k: k[1][0]): + field += ":\n" + if typeid in _ITERABLES: + value = "\n".join(self.__table[key]) + else: + value = self.__table[key] + if value: + result += field + result += value + result += "\n\n" if value else "\n" + return result.strip() + "\n" + + + def __hash__(self): + return hash(tuple(self.__table.items())) + + + def __getitem__(self, key): + if key not in Base._TABLE: + key = key.replace("-", "_") + if key not in Base._TABLE: + raise KeyError(repr(key)) + return getattr(self, key) + + + def __setitem__(self, key, value): + if key not in Base._TABLE: + key = key.replace("-", "_") + if key not in Base._TABLE: + raise KeyError(repr(key)) + return setattr(self, key, value) + + @property def name(self): """name""" @@ -305,47 +346,6 @@ class Base: return "{}_GNULIB_ENABLED_{}".format(macro_prefix, module) - def __hash__(self): - return hash(tuple(self.__table.items())) - - - def __repr__(self): - module = self.__class__.__module__ - name = self.__class__.__name__ - return "{}.{}{}".format(module, name, repr(self.__table["name"])) - - - def __str__(self): - result = "" - for (key, (_, typeid, field)) in sorted(Base._TABLE.items(), key=lambda k: k[1][0]): - field += ":\n" - if typeid in _ITERABLES: - value = "\n".join(self.__table[key]) - else: - value = self.__table[key] - if value: - result += field - result += value - result += "\n\n" if value else "\n" - return result.strip() + "\n" - - - def __getitem__(self, key): - if key not in Base._TABLE: - key = key.replace("-", "_") - if key not in Base._TABLE: - raise KeyError(repr(key)) - return getattr(self, key) - - - def __setitem__(self, key, value): - if key not in Base._TABLE: - key = key.replace("-", "_") - if key not in Base._TABLE: - raise KeyError(repr(key)) - return setattr(self, key, value) - - def items(self): """a set-like object providing a view on module items""" return self.__table.items() -- 2.39.5