예제 #1
0
파일: session.py 프로젝트: disco0/public
class ExecutorState:
    running = dbus_attr(Int16())
    processes = dbus_attr(List(ProcessState))

    @classmethod
    def from_executor(cls, executor):
        monitor = executor.monitor.asdict()
        return cls(
            running=monitor.get("running", -1),
            processes=[
                ProcessState.from_procmon_state(state)
                for state in monitor.get("processes", {}).values()
            ],
        )
예제 #2
0
파일: config.py 프로젝트: disco0/public
class BaseConfig:
    applications = subconfig(ApplicationsConfig)
    autostart = subconfig(AutostartConfig)
    dbus = subconfig(DBusConfig)
    executors = subconfig(ExecutorsConfig)
    format = subconfig(FormatConfig)
    logger = subconfig(LoggerConfig)
    menu = subconfig(MenuConfig)
    meta = subconfig(MetaConfig)
    mime = subconfig(MimeConfig)
    urls = dbus_attr(Dict(Str(), Str()))
예제 #3
0
파일: config.py 프로젝트: disco0/public
class ProcessConfig:
    argv = dbus_attr(List(Str()))
    monitor = dbus_attr(Bool(), default=False)
    restart = dbus_attr(Bool(), default=False)
    cleanup = dbus_attr(Bool(), default=False)
    env = dbus_attr(Dict(Str(), Str()))
    cwd = dbus_attr(Str())
예제 #4
0
파일: session.py 프로젝트: disco0/public
class ProcessState:
    name = dbus_attr(Str(), default="???")
    state = dbus_attr(Str(), default="UNKNOWN")
    restart = dbus_attr(Bool(), default=False)
    threshold = dbus_attr(Int64())
    killTime = dbus_attr(Int64())
    minRestartDelay = dbus_attr(Int64())
    maxRestartDelay = dbus_attr(Int64())

    @classmethod
    def from_procmon_state(cls, state):
        return cls(
            name=state.name,
            state=state.state.value,
            restart=state.settings.restart,
            threshold=state.settings.threshold or -1,
            killTime=state.settings.killTime or -1,
            minRestartDelay=state.settings.minRestartDelay or -1,
            maxRestartDelay=state.settings.maxRestartDelay or -1,
        )
예제 #5
0
파일: session.py 프로젝트: disco0/public
class SessionState:
    running = dbus_attr(Bool(), default=False)
    loaded_at = dbus_attr(DateTime())
    started_at = dbus_attr(DateTime())
    stopped_at = dbus_attr(DateTime())
    config = dbus_attr(BaseConfig)
    critical_executor = dbus_attr(ExecutorState)
    primary_executor = dbus_attr(ExecutorState)

    @classmethod
    def from_session(cls, session):
        return cls(
            running=session.running,
            loaded_at=session.loaded_at,
            started_at=session.started_at,
            stopped_at=session.stopped_at,
            config=session.config,
            critical_executor=ExecutorState.from_executor(session.critical_executor),
            primary_executor=ExecutorState.from_executor(session.primary_executor),
        )
예제 #6
0
파일: conftest.py 프로젝트: disco0/public
 class Thing:
     string = dbus_attr(Str())
예제 #7
0
class NestedContainer:
    list_of = dbus_attr(List(SimpleContainer))
    dict_of = dbus_attr(Dict(Str(), SimpleContainer))
예제 #8
0
class SimpleContainer:
    some_str = dbus_attr(Str())
    some_int32 = dbus_attr(Int32())
    some_list = dbus_attr(List(Str()))
    some_dict = dbus_attr(Dict(Str(), Int32()))
예제 #9
0
파일: config.py 프로젝트: disco0/public
class MimeConfig:
    cache = dbus_attr(Str(), default="/usr/share/applications/mimeinfo.cache")
    environment = dbus_attr(Str(), default=XDG_CURRENT_DESKTOP)
예제 #10
0
파일: config.py 프로젝트: disco0/public
class MenuConfig:
    filename = dbus_attr(Str())
예제 #11
0
파일: config.py 프로젝트: disco0/public
class LoggerConfig:
    level = dbus_attr(Str(), default="debug")
예제 #12
0
파일: config.py 프로젝트: disco0/public
class FormatConfig:
    pygments_formatter = dbus_attr(Str(), default="trac")
예제 #13
0
파일: config.py 프로젝트: disco0/public
class DBusConfig:
    namespace = dbus_attr(Str(), default="org.jfhbrook.korbenware")
예제 #14
0
파일: config.py 프로젝트: disco0/public
class AutostartConfig:
    directories = dbus_attr(List(Str()), default=XDG_AUTOSTART_DIRS)
    environment_name = dbus_attr(Str(), default=XDG_CURRENT_DESKTOP)
    skip_unparsed = dbus_attr(Bool(), default=False)
    skip_invalid = dbus_attr(Bool(), default=False)
예제 #15
0
파일: config.py 프로젝트: disco0/public
class ApplicationsConfig:
    directories = dbus_attr(List(Str()), default=XDG_APPLICATIONS_DIRS)
    skip_unparsed = dbus_attr(Bool(), default=False)
    skip_invalid = dbus_attr(Bool(), default=False)
예제 #16
0
파일: config.py 프로젝트: disco0/public
class MetaConfig:
    config_filename = dbus_attr(Str(), default="????")
예제 #17
0
파일: config.py 프로젝트: disco0/public
class ExecutorsConfig:
    primary = dbus_attr(Dict(Str(), ProcessConfig))
    critical = dbus_attr(Dict(Str(), CriticalProcessConfig))