diff --git a/i3pystatus/core/modules.py b/i3pystatus/core/modules.py index e08db08..9a848a2 100644 --- a/i3pystatus/core/modules.py +++ b/i3pystatus/core/modules.py @@ -102,18 +102,10 @@ class Module(SettingsBase): return self -class IntervalModuleMeta(type): - """Add interval setting to `settings` attribute if it does not exist.""" - - def __init__(cls, name, bases, namespace): - super(IntervalModuleMeta, cls).__init__(name, bases, namespace) - if not hasattr(cls, 'settings'): - cls.settings = tuple() - if 'interval' not in SettingsBase.flatten_settings(cls.settings): - cls.settings += ('interval', ) - - -class IntervalModule(Module, metaclass=IntervalModuleMeta): +class IntervalModule(Module): + settings = ( + ("interval", "interval in seconds between module updates"), + ) interval = 5 # seconds managers = {} diff --git a/tests/test_core_modules.py b/tests/test_core_modules.py deleted file mode 100644 index 2ab34f8..0000000 --- a/tests/test_core_modules.py +++ /dev/null @@ -1,32 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -import unittest - -from i3pystatus.core.modules import IntervalModule - - -class IntervalModuleMetaTest(unittest.TestCase): - - def test_no_settings(self): - class NoSettings(IntervalModule): - pass - for element in ('interval', ): - self.assertIn(element, NoSettings.settings) - - def test_no_interval_setting(self): - class NoIntervalSetting(IntervalModule): - settings = (('option', 'desc'),) - self.assertEqual(NoIntervalSetting.settings, - (('option', 'desc'), 'interval')) - - def test_settings_with_interval(self): - class SettingsInterval(IntervalModule): - settings = ('option', 'interval') - self.assertEqual(SettingsInterval.settings, ('option', 'interval')) - - def test_settings_with_interval_desc(self): - class SetttingsIntervalDesc(IntervalModule): - settings = (('interval', 'desc'),) - self.assertEqual(SetttingsIntervalDesc.settings, - (('interval', 'desc'),))