def show_settings(): """ Shows settings of all of the major components. """ py_str = '%d.%d.%d' % sys.version_info[:3] try: from gi.repository import Gtk try: gtkver_str = '%d.%d.%d' % (Gtk.get_major_version(), Gtk.get_minor_version(), Gtk.get_micro_version()) except : # any failure to 'get' the version gtkver_str = 'unknown version' except ImportError: gtkver_str = 'not found' # no DISPLAY is a RuntimeError in an older pygtk (e.g. 2.17 in Fedora 14) except RuntimeError: gtkver_str = 'DISPLAY not set' #exept TypeError: To handle back formatting on version split try: from gi.repository import GObject try: pygobjectver_str = '%d.%d.%d' % GObject.pygobject_version except :# any failure to 'get' the version pygobjectver_str = 'unknown version' except ImportError: pygobjectver_str = 'not found' try: from gi.repository import Pango try: pangover_str = Pango.version_string() except :# any failure to 'get' the version pangover_str = 'unknown version' except ImportError: pangover_str = 'not found' try: import cairo try: pycairover_str = '%d.%d.%d' % cairo.version_info cairover_str = cairo.cairo_version_string() except :# any failure to 'get' the version pycairover_str = 'unknown version' cairover_str = 'unknown version' except ImportError: pycairover_str = 'not found' cairover_str = 'not found' try: from gi import Repository repository = Repository.get_default() if repository.enumerate_versions("OsmGpsMap"): from gi.repository import OsmGpsMap as osmgpsmap try: osmgpsmap_str = osmgpsmap._version except :# any failure to 'get' the version osmgpsmap_str = 'unknown version' else: osmgpsmap_str = 'not found' except ImportError: osmgpsmap_str = 'not found' try: from gi import Repository repository = Repository.get_default() if repository.enumerate_versions("GExiv2"): from gi.repository import GExiv2 try: gexiv2_str = GExiv2._version except: # any failure to 'get' the version gexiv2_str = 'unknown version' else: gexiv2_str = 'not found' except ImportError: gexiv2_str = 'not found' try: import PyICU try: pyicu_str = PyICU.VERSION icu_str = PyICU.ICU_VERSION except: # any failure to 'get' the version pyicu_str = 'unknown version' icu_str = 'unknown version' except ImportError: pyicu_str = 'not found' icu_str = 'not found' try: import bsddb3 as bsddb bsddb_str = bsddb.__version__ bsddb_db_str = str(bsddb.db.version()).replace(', ', '.')\ .replace('(', '').replace(')', '') except: bsddb_str = 'not found' bsddb_db_str = 'not found' try: from .gen.const import VERSION gramps_str = VERSION except: gramps_str = 'not found' if hasattr(os, "uname"): kernel = os.uname()[2] else: kernel = None lang_str = get_env_var('LANG','not set') language_str = get_env_var('LANGUAGE','not set') grampsi18n_str = get_env_var('GRAMPSI18N','not set') grampshome_str = get_env_var('GRAMPSHOME','not set') grampsdir_str = get_env_var('GRAMPSDIR','not set') try: dotversion_str = Popen(['dot', '-V'], stderr=PIPE).communicate(input=None)[1] if isinstance(dotversion_str, bytes) and sys.stdin.encoding: dotversion_str = dotversion_str.decode(sys.stdin.encoding) if dotversion_str: dotversion_str = dotversion_str.replace('\n','')[23:27] except: dotversion_str = 'Graphviz not in system PATH' try: if win(): gsversion_str = Popen(['gswin32c', '--version'], stdout=PIPE).communicate(input=None)[0] else: gsversion_str = Popen(['gs', '--version'], stdout=PIPE).communicate(input=None)[0] if isinstance(gsversion_str, bytes) and sys.stdin.encoding: gsversion_str = gsversion_str.decode(sys.stdin.encoding) if gsversion_str: gsversion_str = gsversion_str.replace('\n', '') except: gsversion_str = 'Ghostscript not in system PATH' os_path = get_env_var('PATH','not set') os_path = os_path.split(os.pathsep) print ("Gramps Settings:") print ("----------------") print (' python : %s' % py_str) print (' gramps : %s' % gramps_str) print (' gtk++ : %s' % gtkver_str) print (' pygobject : %s' % pygobjectver_str) print (' pango : %s' % pangover_str) print (' bsddb : %s' % bsddb_str) print (' bsddb.db : %s' % bsddb_db_str) print (' cairo : %s' % cairover_str) print (' pycairo : %s' % pycairover_str) print (' osmgpsmap : %s' % osmgpsmap_str) print (' GExiv2 : %s' % gexiv2_str) print (' ICU : %s' % icu_str) print (' PyICU : %s' % pyicu_str) print (' o.s. : %s' % sys.platform) if kernel: print (' kernel : %s' % kernel) print ('') print ("Environment settings:") print ("---------------------") print (' LANG : %s' % lang_str) print (' LANGUAGE : %s' % language_str) print (' GRAMPSI18N: %s' % grampsi18n_str) print (' GRAMPSHOME: %s' % grampshome_str) print (' GRAMPSDIR : %s' % grampsdir_str) print (' PYTHONPATH:') for folder in sys.path: print (" ", folder) print ('') print ("Non-python dependencies:") print ("------------------------") print (' Graphviz : %s' % dotversion_str) print (' Ghostscr. : %s' % gsversion_str) print ('') print ("System PATH env variable:") print ("-------------------------") for folder in os_path: print (" ", folder) print ('')
def show_settings(): """ Shows settings of all of the major components. """ py_str = '%d.%d.%d' % sys.version_info[:3] try: import gi gi.require_version('Gtk', '3.0') from gi.repository import Gtk try: gtkver_str = '%d.%d.%d' % (Gtk.get_major_version(), Gtk.get_minor_version(), Gtk.get_micro_version()) except: # any failure to 'get' the version gtkver_str = 'unknown version' except ImportError: gtkver_str = 'not found' # no DISPLAY is a RuntimeError in an older pygtk (e.g. 2.17 in Fedora 14) except RuntimeError: gtkver_str = 'DISPLAY not set' # exept TypeError: To handle back formatting on version split try: from gi.repository import GObject try: pygobjectver_str = '%d.%d.%d' % GObject.pygobject_version except: # any failure to 'get' the version pygobjectver_str = 'unknown version' except ImportError: pygobjectver_str = 'not found' try: from gi.repository import Pango try: pangover_str = Pango.version_string() except: # any failure to 'get' the version pangover_str = 'unknown version' except ImportError: pangover_str = 'not found' try: import cairo try: pycairover_str = '%d.%d.%d' % cairo.version_info cairover_str = cairo.cairo_version_string() except: # any failure to 'get' the version pycairover_str = 'unknown version' cairover_str = 'unknown version' except ImportError: pycairover_str = 'not found' cairover_str = 'not found' try: from gi import Repository repository = Repository.get_default() if repository.enumerate_versions("OsmGpsMap"): import gi gi.require_version('OsmGpsMap', '1.0') from gi.repository import OsmGpsMap as osmgpsmap try: osmgpsmap_str = osmgpsmap._version except: # any failure to 'get' the version osmgpsmap_str = 'unknown version' else: osmgpsmap_str = 'not found' except ImportError: osmgpsmap_str = 'not found' try: from gi import Repository repository = Repository.get_default() if repository.enumerate_versions("GExiv2"): import gi gi.require_version('GExiv2', '0.10') from gi.repository import GExiv2 try: gexiv2_str = GExiv2._version except: # any failure to 'get' the version gexiv2_str = 'unknown version' else: gexiv2_str = 'not found' except ImportError: gexiv2_str = 'not found' except ValueError: gexiv2_str = 'not new enough' try: import PyICU try: pyicu_str = PyICU.VERSION icu_str = PyICU.ICU_VERSION except: # any failure to 'get' the version pyicu_str = 'unknown version' icu_str = 'unknown version' except ImportError: pyicu_str = 'not found' icu_str = 'not found' try: import bsddb3 as bsddb bsddb_str = bsddb.__version__ bsddb_db_str = str(bsddb.db.version()).replace(', ', '.')\ .replace('(', '').replace(')', '') bsddb_location_str = bsddb.__file__ except: bsddb_str = 'not found' bsddb_db_str = 'not found' bsddb_location_str = 'not found' try: import sqlite3 sqlite3_py_version_str = sqlite3.version sqlite3_version_str = sqlite3.sqlite_version sqlite3_location_str = sqlite3.__file__ except: sqlite3_version_str = 'not found' sqlite3_py_version_str = 'not found' sqlite3_location_str = 'not found' try: from .gen.const import VERSION gramps_str = VERSION except: gramps_str = 'not found' if hasattr(os, "uname"): kernel = os.uname()[2] else: kernel = None lang_str = get_env_var('LANG', 'not set') language_str = get_env_var('LANGUAGE', 'not set') grampsi18n_str = get_env_var('GRAMPSI18N', 'not set') grampshome_str = get_env_var('GRAMPSHOME', 'not set') grampsdir_str = get_env_var('GRAMPSDIR', 'not set') gramps_resources_str = get_env_var('GRAMPS_RESOURCES', 'not set') try: dotversion_str = Popen(['dot', '-V'], stderr=PIPE).communicate(input=None)[1] if isinstance(dotversion_str, bytes) and sys.stdin.encoding: dotversion_str = dotversion_str.decode(sys.stdin.encoding) if dotversion_str: dotversion_str = dotversion_str.replace('\n', '')[23:27] except: dotversion_str = 'Graphviz not in system PATH' try: if win(): try: gsversion_str = Popen(['gswin32c', '--version'], stdout=PIPE).communicate(input=None)[0] except: gsversion_str = Popen(['gswin64c', '--version'], stdout=PIPE).communicate(input=None)[0] else: gsversion_str = Popen(['gs', '--version'], stdout=PIPE).communicate(input=None)[0] if isinstance(gsversion_str, bytes) and sys.stdin.encoding: gsversion_str = gsversion_str.decode(sys.stdin.encoding) if gsversion_str: gsversion_str = gsversion_str.replace('\n', '') except: gsversion_str = 'Ghostscript not in system PATH' os_path = get_env_var('PATH', 'not set') os_path = os_path.split(os.pathsep) print("Gramps Settings:") print("----------------") print(' python : %s' % py_str) print(' gramps : %s' % gramps_str) print(' gtk++ : %s' % gtkver_str) print(' pygobject : %s' % pygobjectver_str) print(' pango : %s' % pangover_str) print(' cairo : %s' % cairover_str) print(' pycairo : %s' % pycairover_str) print(' osmgpsmap : %s' % osmgpsmap_str) print(' GExiv2 : %s' % gexiv2_str) print(' ICU : %s' % icu_str) print(' PyICU : %s' % pyicu_str) print(' o.s. : %s' % sys.platform) if kernel: print(' kernel : %s' % kernel) print('') print("Environment settings:") print("---------------------") print(' LANG : %s' % lang_str) print(' LANGUAGE : %s' % language_str) print(' GRAMPSI18N: %s' % grampsi18n_str) print(' GRAMPSHOME: %s' % grampshome_str) print(' GRAMPSDIR : %s' % grampsdir_str) if __debug__: print(' GRAMPS_RESOURCES : %s' % gramps_resources_str) print(' PYTHONPATH:') for folder in sys.path: print(" ", folder) print('') print("Non-python dependencies:") print("------------------------") print(' Graphviz : %s' % dotversion_str) print(' Ghostscr. : %s' % gsversion_str) print('') print("System PATH env variable:") print("-------------------------") for folder in os_path: print(" ", folder) print('') print("Databases:") print("-------------------------") print(' bsddb :') print(' version : %s' % bsddb_str) print(' db version : %s' % bsddb_db_str) print(' location : %s' % bsddb_location_str) print(' sqlite3 :') print(' version : %s' % sqlite3_version_str) print(' py version : %s' % sqlite3_py_version_str) print(' location : %s' % sqlite3_location_str) print('')
id="Media Preview", name=_("Media Preview"), description=_("Gramplet showing a preview of a media object"), version="1.0.0", gramps_target_version=MODULE_VERSION, status=STABLE, fname="mediapreview.py", height=200, gramplet='MediaPreview', gramplet_title=_("Media Preview"), navtypes=["Media"], ) try: from gi import Repository repository = Repository.get_default() if repository.enumerate_versions("GExiv2"): import gi gi.require_version('GExiv2', '0.10') from gi.repository import GExiv2 available = True else: available = False except (ImportError, ValueError): available = False if available: register( GRAMPLET, id="Metadata Viewer", name=_("Image Metadata"),
import os try: from gi import Repository if Repository.get_default().enumerate_versions('GnomeKeyring'): from gi.repository import GnomeKeyring except ImportError: pass from keyring.keyring.backend import KeyringBackend from keyring.keyring.errors import PasswordSetError, PasswordDeleteError from keyring.keyring.util import properties class Keyring(KeyringBackend): """Gnome Keyring""" # Name of the keyring to store the passwords in. # Use None for the default keyring. KEYRING_NAME = None requisite_vars = [ 'GNOME_KEYRING_CONTROL', 'DISPLAY', 'DBUS_SESSION_BUS_ADDRESS', ] @properties.ClassProperty @classmethod def priority(cls): if 'GnomeKeyring' not in globals():
import os try: from gi import Repository if Repository.get_default().enumerate_versions("GnomeKeyring"): from gi.repository import GnomeKeyring except ImportError: pass from ..backend import KeyringBackend from ..errors import PasswordSetError, PasswordDeleteError from ..util import properties from ..util import XDG from ..py27compat import unicode_str class Keyring(KeyringBackend): """Gnome Keyring""" # Name of the keyring to store the passwords in. # Use None for the default keyring. KEYRING_NAME = None requisite_vars = ["DISPLAY", "DBUS_SESSION_BUS_ADDRESS"] @properties.ClassProperty @classmethod @XDG.Preference("Gnome") def priority(cls): if "GnomeKeyring" not in globals():
from gi import Repository from gramps.gen.config import config from gramps.gen.const import GRAMPS_LOCALE as glocale from gramps.gen.plug._pluginreg import register, VIEW, STABLE #, END, START _ = glocale.translation.gettext # Attempting to import goocanvas gives an error dialog if goocanvas is not # available so test first and log just a warning to the console instead. try: config.get('interface.ignore-goocanvas') except: config.register('interface.ignore-goocanvas', False) GOOCANVAS = False REPOSITORY = Repository.get_default() if REPOSITORY.enumerate_versions("GooCanvas"): try: # current goocanvas support GTK3 import gi gi.require_version('GooCanvas', '2.0') from gi.repository import GooCanvas as goocanvas GOOCANVAS = True except: pass if not GOOCANVAS: from gramps.gen.config import config if not config.get('interface.ignore-goocanvas'): from gramps.gen.constfunc import has_display if has_display():
#------------------------------------------------------------------------- # # GTK libraries # #------------------------------------------------------------------------- from gi import Repository from wearnow.tex.const import WEARNOW_LOCALE as glocale _ = glocale.translation.gettext HAVE_GTKSPELL = False # Attempting to import gtkspell gives an error dialog if gtkspell is not # available so test first and log just a warning to the console instead. repository = Repository.get_default() if repository.enumerate_versions("GtkSpell"): try: from gi.repository import GtkSpell as Gtkspell HAVE_GTKSPELL = True except: pass elif repository.enumerate_versions("Gtkspell"): try: from gi.repository import Gtkspell HAVE_GTKSPELL = True except: pass #------------------------------------------------------------------------- #
from gramps.gen.const import GRAMPS_LOCALE as glocale from gramps.gen.plug._pluginreg import register, VIEW, STABLE #, END, START _ = glocale.translation.gettext #------------------------------------------------------------------------- # # set up logging # #------------------------------------------------------------------------- import logging _LOG = logging.getLogger("Geography") # Attempting to import OsmGpsMap gives an error dialog if OsmGpsMap is not # available so test first and log just a warning to the console instead. OSMGPSMAP = False REPOSITORY = Repository.get_default() if REPOSITORY.enumerate_versions("OsmGpsMap"): try: # current osmgpsmap support GTK3 import gi gi.require_version('OsmGpsMap', '1.0') from gi.repository import OsmGpsMap as osmgpsmap OSMGPSMAP = True except: pass if not OSMGPSMAP: from gramps.gen.config import config if not config.get('interface.ignore-osmgpsmap'): from gramps.gen.constfunc import has_display if has_display():
log = logging.getLogger(__name__) if __name__ == '__main__': logging.basicConfig(level=logging.DEBUG) # Most common video file extensions. NOT meant as a comprehensive list! # Listed here for performance reasons only, to avoid a perhaps expensive mimetype detection VIDEO_EXTS = {'avi', 'm4v', 'mkv', 'mp4', 'mpg', 'mpeg', 'ogv', 'rmvb', 'wmv', 'ts'} # Extensions that are not properly detected as "video/" mimetype VIDEO_EXTS_EXTRA = {} try: from gi import Repository if not Repository.get_default().enumerate_versions('Gio'): raise ImportError from gi.repository import Gio log.debug("using Gio") VIDEO_EXTS_EXTRA = {'mpv', 'ts', 'wm', 'wx', 'xvid'} def mimetype(path): ''' Mimetype of a file, determined by its extension and, in case of extensionless files, its initial content (1KB read). Return 'application/octet-stream' for unknown types and non-files: directories, broken symlinks, path not found, access denied. ''' mime = Gio.content_type_get_mime_type(Gio.content_type_guess(filename=path, data=None)[0]) if extension(path): return mime
def show_settings(): """ Shows settings of all of the major components. """ py_str = "%d.%d.%d" % sys.version_info[:3] try: import gi gi.require_version("Gtk", "3.0") from gi.repository import Gtk try: gtkver_str = "%d.%d.%d" % (Gtk.get_major_version(), Gtk.get_minor_version(), Gtk.get_micro_version()) except: # any failure to 'get' the version gtkver_str = "unknown version" except ImportError: gtkver_str = "not found" # no DISPLAY is a RuntimeError in an older pygtk (e.g. 2.17 in Fedora 14) except RuntimeError: gtkver_str = "DISPLAY not set" # exept TypeError: To handle back formatting on version split try: from gi.repository import GObject try: pygobjectver_str = "%d.%d.%d" % GObject.pygobject_version except: # any failure to 'get' the version pygobjectver_str = "unknown version" except ImportError: pygobjectver_str = "not found" try: from gi.repository import Pango try: pangover_str = Pango.version_string() except: # any failure to 'get' the version pangover_str = "unknown version" except ImportError: pangover_str = "not found" try: import cairo try: pycairover_str = "%d.%d.%d" % cairo.version_info cairover_str = cairo.cairo_version_string() except: # any failure to 'get' the version pycairover_str = "unknown version" cairover_str = "unknown version" except ImportError: pycairover_str = "not found" cairover_str = "not found" try: from gi import Repository repository = Repository.get_default() if repository.enumerate_versions("OsmGpsMap"): import gi gi.require_version("OsmGpsMap", "1.0") from gi.repository import OsmGpsMap as osmgpsmap try: osmgpsmap_str = osmgpsmap._version except: # any failure to 'get' the version osmgpsmap_str = "unknown version" else: osmgpsmap_str = "not found" except ImportError: osmgpsmap_str = "not found" try: from gi import Repository repository = Repository.get_default() if repository.enumerate_versions("GExiv2"): import gi gi.require_version("GExiv2", "0.10") from gi.repository import GExiv2 try: gexiv2_str = GExiv2._version except: # any failure to 'get' the version gexiv2_str = "unknown version" else: gexiv2_str = "not found" except ImportError: gexiv2_str = "not found" except ValueError: gexiv2_str = "not new enough" try: import PyICU try: pyicu_str = PyICU.VERSION icu_str = PyICU.ICU_VERSION except: # any failure to 'get' the version pyicu_str = "unknown version" icu_str = "unknown version" except ImportError: pyicu_str = "not found" icu_str = "not found" try: import bsddb3 as bsddb bsddb_str = bsddb.__version__ bsddb_db_str = str(bsddb.db.version()).replace(", ", ".").replace("(", "").replace(")", "") bsddb_location_str = bsddb.__file__ except: bsddb_str = "not found" bsddb_db_str = "not found" bsddb_location_str = "not found" try: import sqlite3 sqlite3_py_version_str = sqlite3.version sqlite3_version_str = sqlite3.sqlite_version sqlite3_location_str = sqlite3.__file__ except: sqlite3_version_str = "not found" sqlite3_py_version_str = "not found" sqlite3_location_str = "not found" try: from .gen.const import VERSION gramps_str = VERSION except: gramps_str = "not found" if hasattr(os, "uname"): kernel = os.uname()[2] else: kernel = None lang_str = get_env_var("LANG", "not set") language_str = get_env_var("LANGUAGE", "not set") grampsi18n_str = get_env_var("GRAMPSI18N", "not set") grampshome_str = get_env_var("GRAMPSHOME", "not set") grampsdir_str = get_env_var("GRAMPSDIR", "not set") gramps_resources_str = get_env_var("GRAMPS_RESOURCES", "not set") try: dotversion_str = Popen(["dot", "-V"], stderr=PIPE).communicate(input=None)[1] if isinstance(dotversion_str, bytes) and sys.stdin.encoding: dotversion_str = dotversion_str.decode(sys.stdin.encoding) if dotversion_str: dotversion_str = dotversion_str.replace("\n", "")[23:27] except: dotversion_str = "Graphviz not in system PATH" try: if win(): try: gsversion_str = Popen(["gswin32c", "--version"], stdout=PIPE).communicate(input=None)[0] except: gsversion_str = Popen(["gswin64c", "--version"], stdout=PIPE).communicate(input=None)[0] else: gsversion_str = Popen(["gs", "--version"], stdout=PIPE).communicate(input=None)[0] if isinstance(gsversion_str, bytes) and sys.stdin.encoding: gsversion_str = gsversion_str.decode(sys.stdin.encoding) if gsversion_str: gsversion_str = gsversion_str.replace("\n", "") except: gsversion_str = "Ghostscript not in system PATH" os_path = get_env_var("PATH", "not set") os_path = os_path.split(os.pathsep) print("Gramps Settings:") print("----------------") print(" python : %s" % py_str) print(" gramps : %s" % gramps_str) print(" gtk++ : %s" % gtkver_str) print(" pygobject : %s" % pygobjectver_str) print(" pango : %s" % pangover_str) print(" cairo : %s" % cairover_str) print(" pycairo : %s" % pycairover_str) print(" osmgpsmap : %s" % osmgpsmap_str) print(" GExiv2 : %s" % gexiv2_str) print(" ICU : %s" % icu_str) print(" PyICU : %s" % pyicu_str) print(" o.s. : %s" % sys.platform) if kernel: print(" kernel : %s" % kernel) print("") print("Environment settings:") print("---------------------") print(" LANG : %s" % lang_str) print(" LANGUAGE : %s" % language_str) print(" GRAMPSI18N: %s" % grampsi18n_str) print(" GRAMPSHOME: %s" % grampshome_str) print(" GRAMPSDIR : %s" % grampsdir_str) if __debug__: print(" GRAMPS_RESOURCES : %s" % gramps_resources_str) print(" PYTHONPATH:") for folder in sys.path: print(" ", folder) print("") print("Non-python dependencies:") print("------------------------") print(" Graphviz : %s" % dotversion_str) print(" Ghostscr. : %s" % gsversion_str) print("") print("System PATH env variable:") print("-------------------------") for folder in os_path: print(" ", folder) print("") print("Databases:") print("-------------------------") print(" bsddb :") print(" version : %s" % bsddb_str) print(" db version : %s" % bsddb_db_str) print(" location : %s" % bsddb_location_str) print(" sqlite3 :") print(" version : %s" % sqlite3_version_str) print(" py version : %s" % sqlite3_py_version_str) print(" location : %s" % sqlite3_location_str) print("")
import meocloud_gui.core.api from meocloud_gui.constants import (CORE_LISTENER_SOCKET_ADDRESS, LOGGER_NAME, CLOUD_HOME_DEFAULT_PATH, CONFIG_PATH, UI_CONFIG_PATH, VERSION) from meocloud_gui import codes # Logging import logging log = logging.getLogger(LOGGER_NAME) try: kde_running = os.environ.get('KDE_FULL_SESSION') == 'true' assert (not kde_running) from gi import Repository if not Repository.get_default().enumerate_versions('AppIndicator3'): assert False from meocloud_gui.gui.indicator import Indicator as TrayIcon log.info('Application: using Indicator') except (ImportError, AssertionError): from meocloud_gui.gui.trayicon import TrayIcon log.info('Application: using TrayIcon') class Application(Gtk.Application): def __init__(self, app_path): Gtk.Application.__init__(self, application_id="pt.meocloud", flags=Gio.ApplicationFlags.FLAGS_NONE) self.connect("activate", self.on_activate)
if __name__ == '__main__': logging.basicConfig(level=logging.DEBUG) # Most common video file extensions. NOT meant as a comprehensive list! # Listed here for performance reasons only, to avoid a perhaps expensive mimetype detection VIDEO_EXTS = { 'avi', 'm4v', 'mkv', 'mp4', 'mpg', 'mpeg', 'ogv', 'rmvb', 'wmv', 'ts' } # Extensions that are not properly detected as "video/" mimetype VIDEO_EXTS_EXTRA = {} try: from gi import Repository if not Repository.get_default().enumerate_versions('Gio'): raise ImportError from gi.repository import Gio log.debug("using Gio") VIDEO_EXTS_EXTRA = {'mpv', 'ts', 'wm', 'wx', 'xvid'} def mimetype(path): ''' Mimetype of a file, determined by its extension and, in case of extensionless files, its initial content (1KB read). Return 'application/octet-stream' for unknown types and non-files: directories, broken symlinks, path not found, access denied. ''' mime = Gio.content_type_get_mime_type( Gio.content_type_guess(filename=path, data=None)[0]) if extension(path):
CORE_LISTENER_SOCKET_ADDRESS, LOGGER_NAME, CLOUD_HOME_DEFAULT_PATH, CONFIG_PATH, UI_CONFIG_PATH, VERSION) from meocloud_gui import codes # Logging import logging log = logging.getLogger(LOGGER_NAME) try: kde_running = os.environ.get('KDE_FULL_SESSION') == 'true' assert(not kde_running) from gi import Repository if not Repository.get_default().enumerate_versions('AppIndicator3'): assert False from meocloud_gui.gui.indicator import Indicator as TrayIcon log.info('Application: using Indicator') except (ImportError, AssertionError): from meocloud_gui.gui.trayicon import TrayIcon log.info('Application: using TrayIcon') class Application(Gtk.Application): def __init__(self, app_path): Gtk.Application.__init__(self, application_id="pt.meocloud", flags=Gio.ApplicationFlags.FLAGS_NONE) self.connect("activate", self.on_activate)