def test_from_graph(mocker, graph, mock_plugin, mock_view): mocker.patch("tomate.app.dbus.SessionBus") from tomate.app import Application graph.register_instance("tomate.view", mock_view) graph.register_instance("tomate.plugin", mock_plugin) graph.register_factory("tomate.app", Application) app = Application.from_graph(graph) assert isinstance(app, Application) with mocker.patch( "tomate.app.dbus.SessionBus.return_value.request_name", return_value=dbus.bus.REQUEST_NAME_REPLY_EXISTS, ): dbus_app = Application.from_graph(graph) assert isinstance(dbus_app, dbus.Interface)
def main(): try: options = parse_options() setup_logging(options) # Base ProxyModule().add_to(graph) PluginModule().add_to(graph) EventModule().add_to(graph) ConfigModule().add_to(graph) TimerModule().add_to(graph) SessionModule().add_to(graph) # Dialogs AboutDialogModule().add_to(graph) PreferenceDialogModule().add_to(graph) # Main window AppmenuModule().add_to(graph) ToolbarModule().add_to(graph) TimerFrameModule().add_to(graph) TaskButtonModule().add_to(graph) MenuModule().add_to(graph) ViewModule().add_to(graph) # App ApplicationModule().add_to(graph) dbus.mainloop.glib.DBusGMainLoop(set_as_default=True) app = Application.from_graph(graph) graph.validate() app.run() if app.is_running(): Gdk.notify_startup_complete() except Exception as ex: logger.error(ex, exc_info=True) six.reraise(*sys.exc_info())
def main(): try: options = parse_options() setup_logging(options) scan_to_graph(["tomate", "tomate_gtk"], graph) dbus.mainloop.glib.DBusGMainLoop(set_as_default=True) app = Application.from_graph(graph) app.run() if app.is_running(): Gdk.notify_startup_complete() except Exception as ex: logger.error(ex, exc_info=True) raise ex