Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
gajim
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Model registry
Operate
Environments
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
l-n-s
gajim
Commits
1399c41d
Commit
1399c41d
authored
6 years ago
by
Philipp Hörist
Browse files
Options
Downloads
Patches
Plain Diff
Remove old dbus module
We now use Gio DBus
parent
371756c2
No related branches found
Branches containing commit
No related tags found
Tags containing commit
No related merge requests found
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
gajim/common/dbus_support.py
+0
-165
0 additions, 165 deletions
gajim/common/dbus_support.py
gajim/gtk/features.py
+0
-10
0 additions, 10 deletions
gajim/gtk/features.py
with
0 additions
and
175 deletions
gajim/common/dbus_support.py
deleted
100644 → 0
+
0
−
165
View file @
371756c2
# Copyright (C) 2005 Andrew Sayman <lorien420 AT myrealbox.com>
# Dimitur Kirov <dkirov AT gmail.com>
# Copyright (C) 2005-2006 Nikos Kouremenos <kourem AT gmail.com>
# Copyright (C) 2005-2014 Yann Leboulanger <asterix AT lagaule.org>
# Copyright (C) 2006 Jean-Marie Traissard <jim AT lapin.org>
# Stefan Bethge <stefan AT lanpartei.de>
# Copyright (C) 2008 Jonathan Schleifer <js-gajim AT webkeks.org>
#
# This file is part of Gajim.
#
# Gajim is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published
# by the Free Software Foundation; version 3 only.
#
# Gajim is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with Gajim. If not, see <http://www.gnu.org/licenses/>.
import
sys
import
logging
from
gajim.common
import
exceptions
from
gajim.common.i18n
import
_
_GAJIM_ERROR_IFACE
=
'
org.gajim.dbus.Error
'
log
=
logging
.
getLogger
(
'
gajim.c.dbus
'
)
try
:
import
dbus
from
dbus.mainloop.glib
import
DBusGMainLoop
DBusGMainLoop
(
set_as_default
=
True
)
except
ImportError
:
supported
=
False
if
sys
.
platform
not
in
(
'
win32
'
,
'
darwin
'
):
print
(
_
(
'
D-Bus python bindings are missing in this computer
'
))
print
(
_
(
'
D-Bus capabilities of Gajim cannot be used
'
))
else
:
try
:
# test if dbus-x11 is installed
_bus
=
dbus
.
SystemBus
()
_bus
=
dbus
.
SessionBus
()
supported
=
True
# does user have D-Bus bindings?
except
dbus
.
DBusException
:
supported
=
False
if
sys
.
platform
not
in
(
'
win32
'
,
'
darwin
'
):
print
(
_
(
'
D-Bus does not run correctly on this machine
'
))
print
(
_
(
'
D-Bus capabilities of Gajim cannot be used
'
))
except
exceptions
.
SystemBusNotPresent
:
print
(
_
(
'
D-Bus does not run correctly on this machine: system bus not
'
'
present
'
))
except
exceptions
.
SessionBusNotPresent
:
print
(
_
(
'
D-Bus does not run correctly on this machine: session bus not
'
'
present
'
))
class
SystemBus
:
"""
A Singleton for the DBus SystemBus
"""
def
__init__
(
self
):
self
.
system_bus
=
None
def
SystemBus
(
self
):
if
not
supported
:
raise
exceptions
.
DbusNotSupported
if
not
self
.
present
():
raise
exceptions
.
SystemBusNotPresent
return
self
.
system_bus
def
bus
(
self
):
return
self
.
SystemBus
()
def
present
(
self
):
if
not
supported
:
return
False
if
self
.
system_bus
is
None
:
try
:
self
.
system_bus
=
dbus
.
SystemBus
()
except
dbus
.
DBusException
:
self
.
system_bus
=
None
return
False
if
self
.
system_bus
is
None
:
return
False
# Don't exit Gajim when dbus is stopped
self
.
system_bus
.
set_exit_on_disconnect
(
False
)
return
True
system_bus
=
SystemBus
()
class
SessionBus
:
"""
A Singleton for the D-Bus SessionBus
"""
def
__init__
(
self
):
self
.
session_bus
=
None
def
SessionBus
(
self
):
if
not
supported
:
raise
exceptions
.
DbusNotSupported
if
not
self
.
present
():
raise
exceptions
.
SessionBusNotPresent
return
self
.
session_bus
def
bus
(
self
):
return
self
.
SessionBus
()
def
present
(
self
):
if
not
supported
:
return
False
if
self
.
session_bus
is
None
:
try
:
self
.
session_bus
=
dbus
.
SessionBus
()
except
dbus
.
DBusException
:
self
.
session_bus
=
None
return
False
if
self
.
session_bus
is
None
:
return
False
return
True
session_bus
=
SessionBus
()
def
get_interface
(
interface
,
path
,
start_service
=
True
):
"""
Get an interface on the current SessionBus. If the interface isn
'
t running,
try to start it first
"""
if
not
supported
:
return
None
if
session_bus
.
present
():
bus
=
session_bus
.
SessionBus
()
else
:
return
None
try
:
obj
=
bus
.
get_object
(
'
org.freedesktop.DBus
'
,
'
/org/freedesktop/DBus
'
)
dbus_iface
=
dbus
.
Interface
(
obj
,
'
org.freedesktop.DBus
'
)
running_services
=
dbus_iface
.
ListNames
()
started
=
True
if
interface
not
in
running_services
:
# try to start the service
started
=
start_service
and
dbus_iface
.
StartServiceByName
(
interface
,
dbus
.
UInt32
(
0
))
==
1
if
not
started
:
return
None
obj
=
bus
.
get_object
(
interface
,
path
)
return
dbus
.
Interface
(
obj
,
interface
)
except
Exception
as
error
:
log
.
debug
(
error
)
return
None
if
supported
:
class
MissingArgument
(
dbus
.
DBusException
):
_dbus_error_name
=
_GAJIM_ERROR_IFACE
+
'
.MissingArgument
'
class
InvalidArgument
(
dbus
.
DBusException
):
'''
Raised when one of the provided arguments is invalid.
'''
_dbus_error_name
=
_GAJIM_ERROR_IFACE
+
'
.InvalidArgument
'
This diff is collapsed.
Click to expand it.
gajim/gtk/features.py
+
0
−
10
View file @
1399c41d
...
...
@@ -112,12 +112,6 @@ class FeaturesDialog(Gtk.Dialog):
_
(
'
Requires: pybonjour and bonjour SDK running (%(url)s)
'
)
%
{
'
url
'
:
'
https://developer.apple.com/opensource/)
'
},
None
),
Feature
(
_
(
'
Command line Control
'
),
self
.
dbus_available
(),
_
(
'
Enables you to control Gajim with via commandline
'
),
_
(
'
Requires: python-dbus
'
),
_
(
'
Feature not available under Windows
'
),
None
),
Feature
(
_
(
'
OpenPGP Message Encryption
'
),
app
.
is_installed
(
'
GPG
'
),
_
(
'
Enables Gajim to encrypt chat messages with OpenPGP
'
),
...
...
@@ -159,10 +153,6 @@ class FeaturesDialog(Gtk.Dialog):
None
)
]
def
dbus_available
(
self
):
from
gajim.common
import
dbus_support
return
dbus_support
.
supported
def
some_keyring_available
(
self
):
if
os
.
name
==
'
nt
'
:
return
True
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment