示例#1
0
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 ('')
示例#2
0
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('')
示例#3
0
    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"),
示例#4
0
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():
示例#5
0
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():
示例#6
0
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():
示例#7
0
文件: spell.py 项目: bmcage/wearnow
#-------------------------------------------------------------------------
#
# 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

#-------------------------------------------------------------------------
#
示例#8
0
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():
示例#9
0
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
示例#10
0
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)
示例#12
0
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)