FreedomBox/plinth/utils.py
Sunil Mohan Adapa cc858bbd6a Use pgi only when gi is not available
- Write a convenience utility to handle the import process.
2015-11-16 09:55:20 +05:30

37 lines
1.1 KiB
Python

#
# This file is part of Plinth.
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program 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 Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
"""
Miscelleneous utility method.
"""
import importlib
def import_from_gi(library, version):
"""Import and return a GObject introspection library."""
try:
import gi as package
package_name = 'gi'
except ImportError:
import pgi as package
package_name = 'pgi'
package.require_version(library, version)
return importlib.import_module(package_name + '.repository.' + library)