PyGObject 3.50.1__tar.gz → 3.50.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- pygobject-3.50.2/.gitlab-ci/org.gnome.PyGObject.Devel.yaml +37 -0
- pygobject-3.50.2/.gitlab-ci/test-flatpak.sh +9 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/.gitlab-ci.yml +2 -2
- pygobject-3.50.2/.pre-commit-config.yaml +9 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/NEWS +11 -4
- {pygobject-3.50.1 → pygobject-3.50.2}/PKG-INFO +1 -1
- {pygobject-3.50.1 → pygobject-3.50.2}/gi/importer.py +1 -1
- {pygobject-3.50.1 → pygobject-3.50.2}/gi/overrides/Gio.py +73 -33
- pygobject-3.50.2/gi/overrides/GioUnix.py +170 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/gi/overrides/meson.build +1 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygi-async.h +1 -1
- {pygobject-3.50.1 → pygobject-3.50.2}/meson.build +1 -1
- {pygobject-3.50.1 → pygobject-3.50.2}/tests/test_gdbus.py +2 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/tests/test_gio.py +286 -3
- pygobject-3.50.1/.gitlab-ci/test-flatpak.sh +0 -24
- {pygobject-3.50.1 → pygobject-3.50.2}/.coveragerc +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/.flake8 +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/.gitignore +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/.gitlab-ci/Dockerfile +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/.gitlab-ci/Dockerfile.old +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/.gitlab-ci/README.rst +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/.gitlab-ci/build-sdists.sh +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/.gitlab-ci/coverage-docker.sh +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/.gitlab-ci/fixup-lcov-paths.py +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/.gitlab-ci/lcovrc +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/.gitlab-ci/run-docker-old.sh +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/.gitlab-ci/run-docker-runtime.sh +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/.gitlab-ci/run-docker.sh +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/.gitlab-ci/set_env.sh +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/.gitlab-ci/test-docker-old.sh +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/.gitlab-ci/test-docker.sh +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/.gitlab-ci/test-msys2.sh +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/COPYING +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/METADATA.in +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/README.rst +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/Makefile +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/bugs_repo.rst +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/changelog.rst +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/conf.py +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/contact.rst +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/devguide/dev_environ.rst +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/devguide/index.rst +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/devguide/override_guidelines.rst +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/devguide/overview.rst +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/devguide/style_guide.rst +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/extra.css +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/further.rst +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/getting_started.rst +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/guide/api/api.rst +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/guide/api/basic_types.rst +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/guide/api/error_handling.rst +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/guide/api/flags_enums.rst +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/guide/api/gobject.rst +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/guide/api/index.rst +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/guide/api/properties.rst +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/guide/api/signals.rst +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/guide/api/weakrefs.rst +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/guide/cairo_integration.rst +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/guide/code/cairo-demo.py +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/guide/debug_profile.rst +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/guide/deploy.rst +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/guide/faq.rst +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/guide/flatpaking.rst +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/guide/gtk_template.rst +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/guide/images/cairo_integration.png +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/guide/imports.rst +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/guide/index.rst +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/guide/porting.rst +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/guide/sysdeps.rst +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/guide/testing.rst +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/guide/threading.rst +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/icons.rst +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/images/LICENSE +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/images/favicon.ico +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/images/logo.svg +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/images/overview-dark.svg +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/images/overview.dia +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/images/overview.svg +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/images/pygobject-small.svg +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/images/pygobject.svg +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/images/start_linux.png +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/images/start_macos.png +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/images/start_windows.png +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/index.rst +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/maintguide.rst +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/packagingguide.rst +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/_static/custom.css +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gobject/basics.rst +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gobject/examples/listmodel.py +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gobject/interfaces.rst +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gobject/subclassing.rst +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gobject.rst +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk3.rst +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/application.rst +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/basics.rst +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/clipboard.rst +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/controls/buttons.rst +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/controls/check-radio-buttons.rst +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/controls/dropdown.rst +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/controls/entries.rst +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/controls/examples/button.py +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/controls/examples/check_radio_buttons.py +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/controls/examples/dropdown.py +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/controls/examples/entries.py +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/controls/examples/linkbutton.py +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/controls/examples/spinbutton.py +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/controls/examples/switch.py +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/controls/examples/togglebutton.py +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/controls/images/button.png +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/controls/images/check_radio_buttons.png +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/controls/images/dropdown.png +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/controls/images/entries.png +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/controls/images/linkbutton.png +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/controls/images/spinbutton.png +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/controls/images/switch.png +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/controls/images/togglebutton.png +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/controls/scale.rst +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/controls/spinbutton.rst +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/controls/switch.rst +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/controls.rst +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/display-widgets/examples/label.py +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/display-widgets/examples/picture.py +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/display-widgets/examples/progressbar.py +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/display-widgets/examples/spinner.py +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/display-widgets/examples/spinner_ext.py +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/display-widgets/image.rst +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/display-widgets/images/label.png +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/display-widgets/images/picture.png +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/display-widgets/images/progressbar.png +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/display-widgets/images/spinner.png +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/display-widgets/images/spinner_ext.png +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/display-widgets/label.rst +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/display-widgets/picture.rst +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/display-widgets/progressbar.rst +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/display-widgets/spinner.rst +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/display-widgets.rst +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/drag-and-drop.rst +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/examples/application.py +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/examples/clipboard.py +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/examples/drag_and_drop.py +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/examples/extended_example.py +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/examples/layout_box.py +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/examples/layout_center.py +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/examples/layout_flowbox.py +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/examples/layout_grid.py +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/examples/layout_headerbar.py +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/examples/layout_listbox.py +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/examples/layout_notebook.py +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/examples/layout_stack.py +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/examples/popover.py +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/examples/popover_menu.py +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/examples/simple_example.py +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/examples/textview.py +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/images/application.png +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/images/basic_example.png +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/images/clipboard.png +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/images/drag_and_drop.png +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/images/extended_example.png +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/images/layout_box.png +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/images/layout_center.png +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/images/layout_flowbox.png +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/images/layout_grid.png +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/images/layout_headerbar.png +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/images/layout_listbox.png +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/images/layout_notebook.png +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/images/layout_stack.png +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/images/popover.png +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/images/popover_menu.png +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/images/textview.png +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/introduction.rst +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/layout-widgets.rst +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/popovers.rst +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4/textview.rst +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/gtk4.rst +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/index.rst +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/libadwaita/application.rst +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/docs/tutorials/libadwaita.rst +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/gi/__init__.py +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/gi/_constants.py +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/gi/_error.py +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/gi/_gtktemplate.py +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/gi/_option.py +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/gi/_ossighelper.py +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/gi/_propertyhelper.py +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/gi/_signalhelper.py +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/gi/docstring.py +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/gi/events.py +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/gi/gimodule.c +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/gi/gimodule.h +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/gi/meson.build +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/gi/module.py +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/gi/overrides/GIMarshallingTests.py +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/gi/overrides/GLib.py +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/gi/overrides/GObject.py +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/gi/overrides/Gdk.py +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/gi/overrides/GdkPixbuf.py +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/gi/overrides/Gtk.py +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/gi/overrides/Pango.py +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/gi/overrides/__init__.py +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/gi/overrides/keysyms.py +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygboxed.c +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygboxed.h +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygenum.c +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygenum.h +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygflags.c +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygflags.h +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygi-argument.c +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygi-argument.h +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygi-array.c +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygi-array.h +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygi-async.c +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygi-basictype.c +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygi-basictype.h +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygi-boxed.c +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygi-boxed.h +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygi-cache.c +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygi-cache.h +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygi-ccallback.c +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygi-ccallback.h +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygi-closure.c +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygi-closure.h +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygi-enum-marshal.c +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygi-enum-marshal.h +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygi-error.c +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygi-error.h +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygi-foreign-api.h +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygi-foreign-cairo.c +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygi-foreign.c +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygi-foreign.h +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygi-fundamental.c +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygi-fundamental.h +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygi-hashtable.c +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygi-hashtable.h +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygi-info.c +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygi-info.h +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygi-invoke-state-struct.h +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygi-invoke.c +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygi-invoke.h +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygi-list.c +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygi-list.h +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygi-marshal-cleanup.c +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygi-marshal-cleanup.h +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygi-object.c +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygi-object.h +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygi-property.c +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygi-property.h +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygi-repository.c +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygi-repository.h +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygi-resulttuple.c +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygi-resulttuple.h +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygi-signal-closure.c +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygi-signal-closure.h +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygi-source.c +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygi-source.h +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygi-struct-marshal.c +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygi-struct-marshal.h +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygi-struct.c +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygi-struct.h +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygi-type.c +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygi-type.h +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygi-util.c +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygi-util.h +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygi-value.c +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygi-value.h +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/gi/pyginterface.c +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/gi/pyginterface.h +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygobject-internal.h +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygobject-object.c +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygobject-object.h +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygobject.h +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygoptioncontext.c +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygoptioncontext.h +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygoptiongroup.c +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygoptiongroup.h +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygpointer.c +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygpointer.h +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygspawn.c +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygspawn.h +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/gi/pygtkcompat.py +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/gi/repository/__init__.py +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/gi/repository/meson.build +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/gi/types.py +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/meson_options.txt +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/pygobject-3.0.pc.in +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/pygobject.doap +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/pygtkcompat/__init__.py +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/pygtkcompat/generictreemodel.py +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/pygtkcompat/meson.build +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/pygtkcompat/pygtkcompat.py +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/pyproject.toml +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/subprojects/.gitignore +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/subprojects/glib.wrap +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/subprojects/gobject-introspection.wrap +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/subprojects/libffi.wrap +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/subprojects/pycairo.wrap +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/tests/conftest.py +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/tests/gi/overrides/Regress.py +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/tests/gi/overrides/__init__.py +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/tests/gimarshallingtestsextra.c +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/tests/gimarshallingtestsextra.h +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/tests/helper.py +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/tests/meson.build +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/tests/org.gnome.test.gschema.xml +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/tests/regressextra.c +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/tests/regressextra.h +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/tests/test-floating.c +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/tests/test-floating.h +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/tests/test-thread.c +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/tests/test-thread.h +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/tests/test-unknown.c +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/tests/test-unknown.h +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/tests/test_async.py +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/tests/test_atoms.py +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/tests/test_cairo.py +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/tests/test_docstring.py +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/tests/test_error.py +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/tests/test_events.py +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/tests/test_everything.py +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/tests/test_fields.py +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/tests/test_fundamental.py +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/tests/test_generictreemodel.py +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/tests/test_gi.py +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/tests/test_glib.py +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/tests/test_gobject.py +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/tests/test_gtk_template.py +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/tests/test_gtype.py +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/tests/test_import_machinery.py +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/tests/test_interface.py +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/tests/test_internal_api.py +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/tests/test_iochannel.py +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/tests/test_mainloop.py +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/tests/test_object_marshaling.py +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/tests/test_option.py +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/tests/test_ossig.py +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/tests/test_overrides_gdk.py +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/tests/test_overrides_gdkpixbuf.py +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/tests/test_overrides_gio.py +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/tests/test_overrides_glib.py +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/tests/test_overrides_gobject.py +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/tests/test_overrides_gtk.py +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/tests/test_overrides_pango.py +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/tests/test_properties.py +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/tests/test_pycapi.py +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/tests/test_pygtkcompat.py +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/tests/test_repository.py +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/tests/test_resulttuple.py +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/tests/test_signal.py +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/tests/test_source.py +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/tests/test_subprocess.py +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/tests/test_thread.py +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/tests/test_typeclass.py +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/tests/test_unknown.py +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/tests/testhelpermodule.c +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/tests/valgrind.supp +0 -0
- {pygobject-3.50.1 → pygobject-3.50.2}/tools/pygi-convert.sh +0 -0
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
app-id: org.gnome.PyGObject.Devel
|
|
2
|
+
runtime: org.gnome.Sdk
|
|
3
|
+
runtime-version: '48'
|
|
4
|
+
sdk: org.gnome.Sdk
|
|
5
|
+
build-options:
|
|
6
|
+
build-args:
|
|
7
|
+
- '--share=network'
|
|
8
|
+
test-args:
|
|
9
|
+
- '--socket=x11'
|
|
10
|
+
- '--share=network'
|
|
11
|
+
env:
|
|
12
|
+
PYTEST_ADDOPTS: '-vs --cov'
|
|
13
|
+
TEST_GTK_VERSION: '3.0'
|
|
14
|
+
modules:
|
|
15
|
+
- name: dependencies
|
|
16
|
+
buildsystem: simple
|
|
17
|
+
build-commands:
|
|
18
|
+
- python3 --version
|
|
19
|
+
- glib-compile-schemas --version
|
|
20
|
+
- echo "GTK VERSION ${TEST_GTK_VERSION}"
|
|
21
|
+
- pip3 install --prefix=${FLATPAK_DEST} pycairo pytest pytest-cov
|
|
22
|
+
- name: pygobject
|
|
23
|
+
buildsystem: meson
|
|
24
|
+
builddir: true
|
|
25
|
+
config-opts:
|
|
26
|
+
- '-Dtests=true'
|
|
27
|
+
sources:
|
|
28
|
+
- type: dir
|
|
29
|
+
path: ..
|
|
30
|
+
run-tests: true
|
|
31
|
+
test-rule: ''
|
|
32
|
+
test-commands:
|
|
33
|
+
# Remove vala-nightly, since it contains an incompatible version of libdbus
|
|
34
|
+
- >-
|
|
35
|
+
LD_LIBRARY_PATH=$(echo $LD_LIBRARY_PATH | sed s/vala-nightly/foobar/)
|
|
36
|
+
meson test -v
|
|
37
|
+
- cd .. && python3 -m coverage lcov -o "coverage/flatpak-${TEST_GTK_VERSION}.py.lcov"
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
|
|
3
|
+
set -e
|
|
4
|
+
|
|
5
|
+
sed -i "/TEST_GTK_VERSION:/s/'.*'/'${TEST_GTK_VERSION:-3.0}'/" .gitlab-ci/org.gnome.PyGObject.Devel.yaml
|
|
6
|
+
xvfb-run -a flatpak-builder --user --keep-build-dirs --verbose --disable-rofiles-fuse flatpak_ci .gitlab-ci/org.gnome.PyGObject.Devel.yaml
|
|
7
|
+
|
|
8
|
+
mv .flatpak-builder/build/pygobject/coverage .
|
|
9
|
+
chmod -R 777 coverage
|
|
@@ -101,9 +101,9 @@ sdist:
|
|
|
101
101
|
- git config --global --add safe.directory "$CI_PROJECT_DIR"
|
|
102
102
|
- bash -x ./.gitlab-ci/build-sdists.sh
|
|
103
103
|
|
|
104
|
-
gnome-
|
|
104
|
+
gnome-48:
|
|
105
105
|
stage: build_and_test
|
|
106
|
-
image: quay.io/gnome_infrastructure/gnome-runtime-images:gnome-
|
|
106
|
+
image: quay.io/gnome_infrastructure/gnome-runtime-images:gnome-48
|
|
107
107
|
tags:
|
|
108
108
|
- flatpak
|
|
109
109
|
parallel:
|
|
@@ -1,3 +1,10 @@
|
|
|
1
|
+
3.50.2 - 2025-10-18
|
|
2
|
+
-------------------
|
|
3
|
+
|
|
4
|
+
* Backport: GLib 2.86/GioUnix compatibility :mr:`458`
|
|
5
|
+
* Backport: async: Use correct T_BOOL type for _asyncio_future_blocking :mr:`367`
|
|
6
|
+
* Backport: Revert "override connection.register_object to prevent an invocation object from leaking" :mr:`404`
|
|
7
|
+
|
|
1
8
|
3.50.1 - 2025-05-25
|
|
2
9
|
-------------------
|
|
3
10
|
|
|
@@ -3356,7 +3363,7 @@ Documentation:
|
|
|
3356
3363
|
registered (Paul, :bzbug:`551056`)
|
|
3357
3364
|
* Fix typos breaking compilation (Frederic Peters :bzbug:`551212`)
|
|
3358
3365
|
* GFile load_contents methods chop data at first \0
|
|
3359
|
-
(Jonathan Matthew, :bzbug:`551059`)
|
|
3366
|
+
(Jonathan Matthew, :bzbug:`551059`)
|
|
3360
3367
|
|
|
3361
3368
|
2.15.4 - 2008-09-03
|
|
3362
3369
|
-------------------
|
|
@@ -3435,7 +3442,7 @@ Documentation:
|
|
|
3435
3442
|
|
|
3436
3443
|
* Add GIO bindings (Johan, Mario Tagliaretti, Thomas Leonard)
|
|
3437
3444
|
* Move codegen from PyGTK (Johan, Paul Pogonyshev, :bzbug:`542821`)
|
|
3438
|
-
* Add more variables to the .pc files (Damien Carbery, Paul,
|
|
3445
|
+
* Add more variables to the .pc files (Damien Carbery, Paul,
|
|
3439
3446
|
Dan Winship, :bzbug:`486876`)
|
|
3440
3447
|
* Add pyg_option_group_new to the public API (Johan)
|
|
3441
3448
|
* Add g_get_application_anme and g_get_progname (Sebastian Rittau)
|
|
@@ -3525,10 +3532,10 @@ Documentation:
|
|
|
3525
3532
|
|
|
3526
3533
|
* distutils build fixes (Cedric)
|
|
3527
3534
|
* documentation updates (John)
|
|
3528
|
-
* gobject.handler_block_by_func and friends now accept methods
|
|
3535
|
+
* gobject.handler_block_by_func and friends now accept methods
|
|
3529
3536
|
(Johan, Dima, :bzbug:`375589`)
|
|
3530
3537
|
* avoid truncating of gparamspec (Yevgen Muntyan, :bzbug:`353943`)
|
|
3531
|
-
* set __module__ on gobject derived types (Johan,
|
|
3538
|
+
* set __module__ on gobject derived types (Johan,
|
|
3532
3539
|
Osmo Salomaa, :bzbug:`376099`)
|
|
3533
3540
|
* Ensure exceptions are raised on errors in gobject.OptionGroup
|
|
3534
3541
|
(Johan, Laszlo Pandy, :bzbug:`364576`
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: PyGObject
|
|
3
|
-
Version: 3.50.
|
|
3
|
+
Version: 3.50.2
|
|
4
4
|
Summary: Python bindings for GObject Introspection
|
|
5
5
|
Author-Email: James Henstridge <james@daa.com.au>
|
|
6
6
|
Maintainer-Email: Christoph Reiter <creiter@src.gnome.org>, Arjan Molenaar <amolenaar@gnome.org>, Dan Yeaw <danyeaw@gnome.org>, Ignacio Casal Quinteiro <icq@gnome.org>
|
|
@@ -61,7 +61,7 @@ def _check_require_version(namespace, stacklevel):
|
|
|
61
61
|
# namespace or by C code like libpeas
|
|
62
62
|
return
|
|
63
63
|
|
|
64
|
-
if namespace in ("GLib", "GObject", "Gio"):
|
|
64
|
+
if namespace in ("GLib", "GObject", "Gio", "GioUnix", "GioWin32"):
|
|
65
65
|
# part of glib (we have bigger problems if versions change there)
|
|
66
66
|
return
|
|
67
67
|
|
|
@@ -19,9 +19,17 @@
|
|
|
19
19
|
# USA
|
|
20
20
|
|
|
21
21
|
import warnings
|
|
22
|
+
from contextlib import suppress
|
|
22
23
|
|
|
23
24
|
from .._ossighelper import register_sigint_fallback, get_event_loop
|
|
24
|
-
from ..overrides import
|
|
25
|
+
from ..overrides import (
|
|
26
|
+
override,
|
|
27
|
+
deprecated_attr,
|
|
28
|
+
deprecated_init,
|
|
29
|
+
wrap_list_store_equal_func,
|
|
30
|
+
wrap_list_store_sort_func,
|
|
31
|
+
)
|
|
32
|
+
from .._gi import CallableInfo
|
|
25
33
|
from ..module import get_introspection_module
|
|
26
34
|
from gi import PyGIWarning
|
|
27
35
|
|
|
@@ -89,37 +97,6 @@ class DBusArgInfo(Gio.DBusArgInfo):
|
|
|
89
97
|
__all__.append('DBusArgInfo')
|
|
90
98
|
|
|
91
99
|
|
|
92
|
-
@override
|
|
93
|
-
class DBusConnection(Gio.DBusConnection):
|
|
94
|
-
__init__ = _warn_init(Gio.DBusConnection)
|
|
95
|
-
|
|
96
|
-
def register_object(self,
|
|
97
|
-
object_path,
|
|
98
|
-
interface_info,
|
|
99
|
-
method_call_closure=None,
|
|
100
|
-
get_property_closure=None,
|
|
101
|
-
set_property_closure=None):
|
|
102
|
-
if method_call_closure is not None:
|
|
103
|
-
def wrapped_method_call_closure(connection, sender, object_path,
|
|
104
|
-
interface_name, method_name, parameters,
|
|
105
|
-
invocation):
|
|
106
|
-
method_call_closure(connection, sender, object_path,
|
|
107
|
-
interface_name, method_name, parameters,
|
|
108
|
-
invocation)
|
|
109
|
-
invocation._unref()
|
|
110
|
-
else:
|
|
111
|
-
wrapped_method_call_closure = None
|
|
112
|
-
|
|
113
|
-
return super().register_object(object_path,
|
|
114
|
-
interface_info,
|
|
115
|
-
wrapped_method_call_closure,
|
|
116
|
-
get_property_closure,
|
|
117
|
-
set_property_closure)
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
__all__.append('DBusConnection')
|
|
121
|
-
|
|
122
|
-
|
|
123
100
|
@override
|
|
124
101
|
class DBusMethodInfo(Gio.DBusMethodInfo):
|
|
125
102
|
__init__ = _warn_init(Gio.DBusMethodInfo)
|
|
@@ -612,4 +589,67 @@ class File(Gio.File):
|
|
|
612
589
|
|
|
613
590
|
|
|
614
591
|
File = override(File)
|
|
615
|
-
__all__.append(
|
|
592
|
+
__all__.append("File")
|
|
593
|
+
|
|
594
|
+
|
|
595
|
+
GioPlatform = None
|
|
596
|
+
|
|
597
|
+
with suppress(ImportError):
|
|
598
|
+
from gi.repository import GioUnix as GioPlatform
|
|
599
|
+
|
|
600
|
+
if not GioPlatform:
|
|
601
|
+
with suppress(ImportError):
|
|
602
|
+
from gi.repository import GioWin32 as GioPlatform
|
|
603
|
+
|
|
604
|
+
if GioPlatform:
|
|
605
|
+
# Add support for using platform-specific Gio symbols.
|
|
606
|
+
gio_globals = globals()
|
|
607
|
+
|
|
608
|
+
platform_name = f"{GioPlatform._namespace[len(Gio._namespace):]}"
|
|
609
|
+
platform_name_lower = platform_name.lower()
|
|
610
|
+
|
|
611
|
+
for attr in dir(GioPlatform):
|
|
612
|
+
if attr.startswith("_"):
|
|
613
|
+
continue
|
|
614
|
+
|
|
615
|
+
original_attr = getattr(GioPlatform, attr)
|
|
616
|
+
wrapper_attr = attr
|
|
617
|
+
|
|
618
|
+
if isinstance(
|
|
619
|
+
original_attr, CallableInfo
|
|
620
|
+
) and original_attr.get_symbol().startswith(f"g_{platform_name_lower}_"):
|
|
621
|
+
wrapper_attr = f"{platform_name_lower}_{attr}"
|
|
622
|
+
else:
|
|
623
|
+
try:
|
|
624
|
+
gtype = getattr(original_attr, "__gtype__")
|
|
625
|
+
if gtype.name.startswith(f"G{platform_name}"):
|
|
626
|
+
wrapper_attr = f"{platform_name}{attr}"
|
|
627
|
+
except AttributeError:
|
|
628
|
+
pass
|
|
629
|
+
|
|
630
|
+
if wrapper_attr == attr and hasattr(Gio, wrapper_attr):
|
|
631
|
+
try:
|
|
632
|
+
name = original_attr.__name__[0]
|
|
633
|
+
except (AttributeError, IndexError):
|
|
634
|
+
name = original_attr
|
|
635
|
+
|
|
636
|
+
# Fallback if we don't have the original name.
|
|
637
|
+
if name.islower():
|
|
638
|
+
wrapper_attr = f"{platform_name_lower}_{attr}"
|
|
639
|
+
elif "_" in name:
|
|
640
|
+
wrapper_attr = f"{platform_name.upper()}_{attr}"
|
|
641
|
+
elif name:
|
|
642
|
+
wrapper_attr = f"{platform_name}{attr}"
|
|
643
|
+
|
|
644
|
+
if (
|
|
645
|
+
wrapper_attr in __all__ or
|
|
646
|
+
wrapper_attr in gio_globals or
|
|
647
|
+
hasattr(Gio, wrapper_attr)
|
|
648
|
+
):
|
|
649
|
+
continue
|
|
650
|
+
|
|
651
|
+
gio_globals[wrapper_attr] = original_attr
|
|
652
|
+
deprecated_attr(
|
|
653
|
+
Gio._namespace, wrapper_attr, f"{GioPlatform._namespace}.{attr}"
|
|
654
|
+
)
|
|
655
|
+
__all__.append(wrapper_attr)
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
# Copyright 2025 Simon McVittie
|
|
2
|
+
# SPDX-License-Identifier: LGPL-2.1-or-later
|
|
3
|
+
|
|
4
|
+
from ..module import get_introspection_module
|
|
5
|
+
from ..overrides import override
|
|
6
|
+
|
|
7
|
+
from gi.repository import GLib
|
|
8
|
+
|
|
9
|
+
GioUnix = get_introspection_module("GioUnix")
|
|
10
|
+
|
|
11
|
+
__all__ = []
|
|
12
|
+
|
|
13
|
+
if (GLib.MAJOR_VERSION, GLib.MINOR_VERSION) < (2, 86):
|
|
14
|
+
# In older versions of GLib there was some confusion between the
|
|
15
|
+
# platform-specific classes in GioUnix and their equivalents in Gio,
|
|
16
|
+
# resulting in functions like g_desktop_app_info_get_action_name()
|
|
17
|
+
# being assumed to be a global function that happened to take a
|
|
18
|
+
# Gio.DesktopAppInfo first parameter, instead of being a method on a
|
|
19
|
+
# GioUnix.DesktopAppInfo instance. There are not very many classes and
|
|
20
|
+
# methods in GioUnix, so we can wrap them and provide the intended API.
|
|
21
|
+
|
|
22
|
+
@override
|
|
23
|
+
class DesktopAppInfo(GioUnix.DesktopAppInfo):
|
|
24
|
+
def get_action_name(self, action_name):
|
|
25
|
+
return GioUnix.DesktopAppInfo.get_action_name(self, action_name)
|
|
26
|
+
|
|
27
|
+
def get_boolean(self, key):
|
|
28
|
+
return GioUnix.DesktopAppInfo.get_boolean(self, key)
|
|
29
|
+
|
|
30
|
+
def get_categories(self):
|
|
31
|
+
return GioUnix.DesktopAppInfo.get_categories(self)
|
|
32
|
+
|
|
33
|
+
def get_filename(self):
|
|
34
|
+
return GioUnix.DesktopAppInfo.get_filename(self)
|
|
35
|
+
|
|
36
|
+
def get_generic_name(self):
|
|
37
|
+
return GioUnix.DesktopAppInfo.get_generic_name(self)
|
|
38
|
+
|
|
39
|
+
def get_is_hidden(self):
|
|
40
|
+
return GioUnix.DesktopAppInfo.get_is_hidden(self)
|
|
41
|
+
|
|
42
|
+
def get_keywords(self):
|
|
43
|
+
return GioUnix.DesktopAppInfo.get_keywords(self)
|
|
44
|
+
|
|
45
|
+
def get_locale_string(self, key):
|
|
46
|
+
return GioUnix.DesktopAppInfo.get_locale_string(self, key)
|
|
47
|
+
|
|
48
|
+
def get_nodisplay(self):
|
|
49
|
+
return GioUnix.DesktopAppInfo.get_nodisplay(self)
|
|
50
|
+
|
|
51
|
+
def get_show_in(self, desktop_env=None):
|
|
52
|
+
return GioUnix.DesktopAppInfo.get_show_in(self, desktop_env)
|
|
53
|
+
|
|
54
|
+
def get_startup_wm_class(self):
|
|
55
|
+
return GioUnix.DesktopAppInfo.get_startup_wm_class(self)
|
|
56
|
+
|
|
57
|
+
def get_string(self, key):
|
|
58
|
+
return GioUnix.DesktopAppInfo.get_string(self, key)
|
|
59
|
+
|
|
60
|
+
def get_string_list(self, key):
|
|
61
|
+
return GioUnix.DesktopAppInfo.get_string_list(self, key)
|
|
62
|
+
|
|
63
|
+
def has_key(self, key):
|
|
64
|
+
return GioUnix.DesktopAppInfo.has_key(self, key)
|
|
65
|
+
|
|
66
|
+
def launch_action(self, action_name, launch_context=None):
|
|
67
|
+
GioUnix.DesktopAppInfo.launch_action(
|
|
68
|
+
self,
|
|
69
|
+
action_name,
|
|
70
|
+
launch_context,
|
|
71
|
+
)
|
|
72
|
+
|
|
73
|
+
def launch_uris_as_manager(
|
|
74
|
+
self,
|
|
75
|
+
uris,
|
|
76
|
+
launch_context,
|
|
77
|
+
spawn_flags,
|
|
78
|
+
user_setup=None,
|
|
79
|
+
user_setup_data=None,
|
|
80
|
+
pid_callback=None,
|
|
81
|
+
pid_callback_data=None,
|
|
82
|
+
):
|
|
83
|
+
return GioUnix.DesktopAppInfo.launch_uris_as_manager(
|
|
84
|
+
self,
|
|
85
|
+
uris,
|
|
86
|
+
launch_context,
|
|
87
|
+
spawn_flags,
|
|
88
|
+
user_setup,
|
|
89
|
+
user_setup_data,
|
|
90
|
+
pid_callback,
|
|
91
|
+
pid_callback_data,
|
|
92
|
+
)
|
|
93
|
+
|
|
94
|
+
def launch_uris_as_manager_with_fds(
|
|
95
|
+
self,
|
|
96
|
+
uris,
|
|
97
|
+
launch_context,
|
|
98
|
+
spawn_flags,
|
|
99
|
+
user_setup,
|
|
100
|
+
user_setup_data,
|
|
101
|
+
pid_callback,
|
|
102
|
+
pid_callback_data,
|
|
103
|
+
stdin_fd,
|
|
104
|
+
stdout_fd,
|
|
105
|
+
stderr_fd,
|
|
106
|
+
):
|
|
107
|
+
return GioUnix.DesktopAppInfo.launch_uris_as_manager_with_fds(
|
|
108
|
+
self,
|
|
109
|
+
uris,
|
|
110
|
+
launch_context,
|
|
111
|
+
spawn_flags,
|
|
112
|
+
user_setup,
|
|
113
|
+
user_setup_data,
|
|
114
|
+
pid_callback,
|
|
115
|
+
pid_callback_data,
|
|
116
|
+
stdin_fd,
|
|
117
|
+
stdout_fd,
|
|
118
|
+
stderr_fd,
|
|
119
|
+
)
|
|
120
|
+
|
|
121
|
+
def list_actions(self):
|
|
122
|
+
return GioUnix.DesktopAppInfo.list_actions(self)
|
|
123
|
+
|
|
124
|
+
__all__.append("DesktopAppInfo")
|
|
125
|
+
|
|
126
|
+
@override
|
|
127
|
+
class FDMessage(GioUnix.FDMessage):
|
|
128
|
+
def append_fd(self, fd):
|
|
129
|
+
return GioUnix.FDMessage.append_fd(self, fd)
|
|
130
|
+
|
|
131
|
+
def get_fd_list(self):
|
|
132
|
+
return GioUnix.FDMessage.get_fd_list(self)
|
|
133
|
+
|
|
134
|
+
def steal_fds(self):
|
|
135
|
+
return GioUnix.FDMessage.steal_fds(self)
|
|
136
|
+
|
|
137
|
+
__all__.append("FDMessage")
|
|
138
|
+
|
|
139
|
+
@override
|
|
140
|
+
class InputStream(GioUnix.InputStream):
|
|
141
|
+
def get_close_fd(self):
|
|
142
|
+
return GioUnix.InputStream.get_close_fd(self)
|
|
143
|
+
|
|
144
|
+
def get_fd(self):
|
|
145
|
+
return GioUnix.InputStream.get_fd(self)
|
|
146
|
+
|
|
147
|
+
def set_close_fd(self, close_fd):
|
|
148
|
+
GioUnix.InputStream.set_close_fd(self, close_fd)
|
|
149
|
+
|
|
150
|
+
__all__.append("InputStream")
|
|
151
|
+
|
|
152
|
+
@override
|
|
153
|
+
class MountMonitor(GioUnix.MountMonitor):
|
|
154
|
+
def set_rate_limit(self, limit_msec):
|
|
155
|
+
GioUnix.MountMonitor.set_rate_limit(limit_msec)
|
|
156
|
+
|
|
157
|
+
__all__.append("MountMonitor")
|
|
158
|
+
|
|
159
|
+
@override
|
|
160
|
+
class OutputStream(GioUnix.OutputStream):
|
|
161
|
+
def get_close_fd(self):
|
|
162
|
+
return GioUnix.OutputStream.get_close_fd(self)
|
|
163
|
+
|
|
164
|
+
def get_fd(self):
|
|
165
|
+
return GioUnix.OutputStream.get_fd(self)
|
|
166
|
+
|
|
167
|
+
def set_close_fd(self, close_fd):
|
|
168
|
+
GioUnix.OutputStream.set_close_fd(self, close_fd)
|
|
169
|
+
|
|
170
|
+
__all__.append("OutputStream")
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
import unittest
|
|
5
5
|
|
|
6
|
+
import pytest
|
|
6
7
|
from gi.repository import GLib
|
|
7
8
|
from gi.repository import Gio
|
|
8
9
|
|
|
@@ -286,6 +287,7 @@ class TestDBusConnection:
|
|
|
286
287
|
bus.unregister_object(reg_id)
|
|
287
288
|
|
|
288
289
|
@unittest.skipUnless(has_dbus, "no dbus running")
|
|
290
|
+
@pytest.mark.xfail()
|
|
289
291
|
def test_connection_invocation_ref_count(self):
|
|
290
292
|
"""Invocation object should not leak a reference."""
|
|
291
293
|
invocation, errors = self.run_server(self.client_call)
|