Mercurial > gnulib
changeset 39064:01a1f2665a4e
module: reorder methods
author | Dmitry Selyutin <ghostmansd@gmail.com> |
---|---|
date | Sun, 22 Oct 2017 23:56:20 +0300 |
parents | b70f2027b9cf |
children | 4ee84016df38 |
files | pygnulib/module.py |
diffstat | 1 files changed, 41 insertions(+), 41 deletions(-) [+] |
line wrap: on
line diff
--- a/pygnulib/module.py Sun Oct 22 23:55:25 2017 +0300 +++ b/pygnulib/module.py Sun Oct 22 23:56:20 2017 +0300 @@ -57,6 +57,47 @@ 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 @@ 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()