diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/mailman/__init__.py | 17 | ||||
| -rw-r--r-- | src/mailman/config/__init__.py | 5 | ||||
| -rw-r--r-- | src/mailman/core/constants.py | 4 | ||||
| -rw-r--r-- | src/mailman/core/i18n.py | 3 | ||||
| -rw-r--r-- | src/mailman/core/initialize.py | 3 | ||||
| -rw-r--r-- | src/mailman/core/system.py | 5 | ||||
| -rw-r--r-- | src/mailman/database/alembic/__init__.py | 4 | ||||
| -rw-r--r-- | src/mailman/database/model.py | 6 | ||||
| -rw-r--r-- | src/mailman/docs/__init__.py | 5 | ||||
| -rw-r--r-- | src/mailman/interfaces/autorespond.py | 3 | ||||
| -rw-r--r-- | src/mailman/rest/docs/__init__.py | 5 | ||||
| -rw-r--r-- | src/mailman/utilities/datetime.py | 24 |
12 files changed, 38 insertions, 46 deletions
diff --git a/src/mailman/__init__.py b/src/mailman/__init__.py index 716e7aecf..c54830915 100644 --- a/src/mailman/__init__.py +++ b/src/mailman/__init__.py @@ -30,15 +30,16 @@ except ImportError: # pragma: no cover # I hate myself: http://bugs.python.org/issue26632 -def public(thing): - if isinstance(thing, str): - mdict = sys._getframe(1).f_globals - name = thing - else: - mdict = sys.modules[thing.__module__].__dict__ - name = thing.__name__ +def public(thing=None, **kws): + mdict = (sys._getframe(1).f_globals + if thing is None + else sys.modules[thing.__module__].__dict__) dunder_all = mdict.setdefault('__all__', []) - dunder_all.append(name) + if thing is not None: + dunder_all.append(thing.__name__) + for key, value in kws.items(): + dunder_all.append(key) + mdict[key] = value return thing diff --git a/src/mailman/config/__init__.py b/src/mailman/config/__init__.py index 7711fba09..5c45d6599 100644 --- a/src/mailman/config/__init__.py +++ b/src/mailman/config/__init__.py @@ -17,7 +17,8 @@ """Mailman configuration package.""" +from mailman import public from mailman.config.config import Configuration -config = Configuration() -__all__ = ['config'] + +public(config=Configuration()) diff --git a/src/mailman/core/constants.py b/src/mailman/core/constants.py index 167ffef8b..f82783e9f 100644 --- a/src/mailman/core/constants.py +++ b/src/mailman/core/constants.py @@ -17,6 +17,7 @@ """Various constants and enumerations.""" +from mailman import public from mailman.config import config from mailman.interfaces.languages import ILanguageManager from mailman.interfaces.member import DeliveryMode, DeliveryStatus @@ -42,5 +43,4 @@ class SystemDefaultPreferences: return getUtility(ILanguageManager)[config.mailman.default_language] -system_preferences = SystemDefaultPreferences() -__all__ = ['system_preferences'] +public(system_preferences=SystemDefaultPreferences()) diff --git a/src/mailman/core/i18n.py b/src/mailman/core/i18n.py index 0f13f90c0..5536fcdaf 100644 --- a/src/mailman/core/i18n.py +++ b/src/mailman/core/i18n.py @@ -24,8 +24,7 @@ from mailman import public from mailman.interfaces.configuration import ConfigurationUpdatedEvent -_ = None -__all__ = ['_'] +public(_=None) @public diff --git a/src/mailman/core/initialize.py b/src/mailman/core/initialize.py index 3c724aecd..1a6c800e6 100644 --- a/src/mailman/core/initialize.py +++ b/src/mailman/core/initialize.py @@ -40,8 +40,7 @@ from zope.configuration import xmlconfig # The test infrastructure uses this to prevent the search and loading of any # existing configuration file. Otherwise the existence of say a # ~/.mailman.cfg file can break tests. -INHIBIT_CONFIG_FILE = object() -__all__ = ['INHIBIT_CONFIG_FILE'] +public(INHIBIT_CONFIG_FILE=object()) def search_for_configuration_file(): diff --git a/src/mailman/core/system.py b/src/mailman/core/system.py index c4489d926..ee88c5adf 100644 --- a/src/mailman/core/system.py +++ b/src/mailman/core/system.py @@ -19,7 +19,7 @@ import sys -from mailman import version +from mailman import public, version from mailman.interfaces.system import ISystem from zope.interface import implementer @@ -39,5 +39,4 @@ class System: return sys.version -system = System() -__all__ = ['system'] +public(system=System()) diff --git a/src/mailman/database/alembic/__init__.py b/src/mailman/database/alembic/__init__.py index c9626cc9f..af2596f04 100644 --- a/src/mailman/database/alembic/__init__.py +++ b/src/mailman/database/alembic/__init__.py @@ -18,8 +18,8 @@ """Alembic configuration initization.""" from alembic.config import Config +from mailman import public from mailman.utilities.modules import expand_path -alembic_cfg = Config(expand_path('python:mailman.config.alembic')) -__all__ = ['alembic_cfg'] +public(alembic_cfg=Config(expand_path('python:mailman.config.alembic'))) diff --git a/src/mailman/database/model.py b/src/mailman/database/model.py index b9ba54c8d..6019b7488 100644 --- a/src/mailman/database/model.py +++ b/src/mailman/database/model.py @@ -18,6 +18,7 @@ """Base class for all database classes.""" from contextlib import closing +from mailman import public from mailman.config import config from sqlalchemy.ext.declarative import declarative_base @@ -36,7 +37,7 @@ class ModelMeta: try: # Delete all the tables in reverse foreign key dependency # order. http://tinyurl.com/on8dy6f - for table in reversed(Model.metadata.sorted_tables): + for table in reversed(Model.metadata.sorted_tables): # noqa connection.execute(table.delete()) except: transaction.rollback() @@ -45,5 +46,4 @@ class ModelMeta: transaction.commit() -Model = declarative_base(cls=ModelMeta) -__all__ = ['Model'] +public(Model=declarative_base(cls=ModelMeta)) diff --git a/src/mailman/docs/__init__.py b/src/mailman/docs/__init__.py index dc5c1f040..68c7bb4cf 100644 --- a/src/mailman/docs/__init__.py +++ b/src/mailman/docs/__init__.py @@ -17,7 +17,8 @@ """General Mailman doc tests.""" +from mailman import public from mailman.testing.layers import ConfigLayer -layer = ConfigLayer -__all__ = ['layer'] + +public(layer=ConfigLayer) diff --git a/src/mailman/interfaces/autorespond.py b/src/mailman/interfaces/autorespond.py index a67cf6aaf..645a6c76b 100644 --- a/src/mailman/interfaces/autorespond.py +++ b/src/mailman/interfaces/autorespond.py @@ -23,8 +23,7 @@ from mailman import public from zope.interface import Attribute, Interface -ALWAYS_REPLY = timedelta() -__all__ = ['ALWAYS_REPLY'] +public(ALWAYS_REPLY=timedelta()) @public diff --git a/src/mailman/rest/docs/__init__.py b/src/mailman/rest/docs/__init__.py index 4b83845fc..113e299c3 100644 --- a/src/mailman/rest/docs/__init__.py +++ b/src/mailman/rest/docs/__init__.py @@ -17,7 +17,8 @@ """Doctest layer setup.""" +from mailman import public from mailman.testing.layers import RESTLayer -layer = RESTLayer -__all__ = ['layer'] + +public(layer=RESTLayer) diff --git a/src/mailman/utilities/datetime.py b/src/mailman/utilities/datetime.py index ba7ce9de2..9c1ffb125 100644 --- a/src/mailman/utilities/datetime.py +++ b/src/mailman/utilities/datetime.py @@ -32,8 +32,7 @@ from mailman.testing import layers # locale.setlocale(locale.LC_ALL, ''). Since we never do this in Mailman (and # no library better do it either!) this will safely give us expected RFC 5322 # Date headers. -RFC822_DATE_FMT = '%a, %d %b %Y %H:%M:%S %z' -__all__ = ['RFC822_DATE_FMT'] +public(RFC822_DATE_FMT='%a, %d %b %Y %H:%M:%S %z') # Definition of UTC timezone, taken from @@ -53,8 +52,7 @@ class UTC(datetime.tzinfo): return ZERO -utc = UTC() -__all__.append('utc') +public(utc=UTC()) _missing = object() @@ -69,7 +67,7 @@ class DateFactory: # We can't automatically fast-forward because some tests require us to # stay on the same day for a while, e.g. autorespond.txt. if tz is _missing: - tz = utc + tz = utc # noqa # Storm cannot yet handle datetimes with tz suffixes. Assume we're # using UTC datetimes everywhere, so set the tzinfo to None. This # does *not* change the actual time values. LP: #280708 @@ -97,14 +95,8 @@ class DateFactory: cls.predictable_today = cls.predictable_now.date() -factory = DateFactory() -factory.reset() -today = factory.today -now = factory.now -layers.MockAndMonkeyLayer.register_reset(factory.reset) - -__all__.extend([ - 'factory', - 'now', - 'today', - ]) +public(factory=DateFactory()) +factory.reset() # noqa +public(today=factory.today) # noqa +public(now=factory.now) # noqa +layers.MockAndMonkeyLayer.register_reset(factory.reset) # noqa |
