Delete config module #27

This commit is contained in:
enkore 2013-10-23 21:06:14 +02:00
parent 657cc87429
commit 6d9494acff

View File

@ -1,80 +0,0 @@
import os.path
import runpy
import sys
import contextlib
SEARCHPATH = (
"~/.i3pystatus.py",
"~/.i3/i3pystatus.py",
"~/.config/i3pystatus.py",
"$XDG_CONFIG_HOME/i3pystatus.py",
"/etc/i3pystatus.py",
"/etc/xdg/i3pystatus.py",
"$XDG_CONFIG_DIRS/i3pystatus.py",
)
class ConfigFinder:
def __init__(self, searchpath=SEARCHPATH):
self.searchpath = searchpath
@staticmethod
def expand(path):
return os.path.expandvars(os.path.expanduser(path))
@staticmethod
def exists(path):
return os.path.isfile(path)
def find_config_file(self):
failed = []
for path in map(self.expand, self.searchpath):
if self.exists(path):
return path
else:
failed.append(path)
raise RuntimeError(
"Didn't find a config file, tried\n * {mods}".format(mods="\n * ".join(failed)))
class Config:
def __init__(self, config_file=None):
self.finder = ConfigFinder()
self.config_file = config_file or self.finder.find_config_file()
def run(self):
runpy.run_path(self.config_file, run_name="i3pystatus._config")
def test(self):
@contextlib.contextmanager
def setup():
import i3pystatus
class TestStatus(i3pystatus.Status):
def run(self):
self.modules.reverse()
self.call_start_hooks()
for module in self.modules:
sys.stdout.write(
"{module}: ".format(module=module.__name__))
sys.stdout.flush()
test = module.test()
if test is not True:
print("\n\t", test)
continue
module.run()
output = module.output or {"full_text": "(no output)"}
print(output.get("full_text", ""))
i3pystatus.Status = TestStatus
yield
i3pystatus.Status = i3pystatus.Status.__bases__[0]
with setup():
print(
"Using configuration file {file}\n".format(file=self.config_file))
self.run()