Standardise messages about missing modules to include problem, consequence and what to do about it (currently including references to GEPS 029 where necessary).
svn: r21671
This commit is contained in:
parent
8882527e56
commit
d643dde344
@ -4,7 +4,6 @@
|
|||||||
#
|
#
|
||||||
# Copyright (C) 2000-2006 Donald N. Allingham
|
# Copyright (C) 2000-2006 Donald N. Allingham
|
||||||
# Copyright (C) 2012 Doug Blank
|
# Copyright (C) 2012 Doug Blank
|
||||||
# Copyright (C) 2013 John Ralls <jralls@ceridwen.us>
|
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# This program is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
@ -51,7 +50,21 @@ from .svn_revision import get_svn_revision
|
|||||||
#
|
#
|
||||||
#-------------------------------------------------------------------------
|
#-------------------------------------------------------------------------
|
||||||
PROGRAM_NAME = "Gramps"
|
PROGRAM_NAME = "Gramps"
|
||||||
from ..version import VERSION, VERSION_TUPLE, major_version
|
VERSION = "4.1.0"
|
||||||
|
if VERSION == "@" + "VERSIONSTRING" + "@":
|
||||||
|
raise Exception("Please run 'python setup.py build'")
|
||||||
|
def get_version_tuple(v):
|
||||||
|
""" Get the numeric-dotted part of version number"""
|
||||||
|
retval = ""
|
||||||
|
for c in v:
|
||||||
|
if c.isdigit() or (c == "." and retval.count(".") <= 1):
|
||||||
|
retval += c
|
||||||
|
else:
|
||||||
|
break
|
||||||
|
return tuple(map(int, retval.split(".")))
|
||||||
|
VERSION_TUPLE = get_version_tuple(VERSION)
|
||||||
|
major_version = "%s.%s" % (VERSION_TUPLE[0], VERSION_TUPLE[1])
|
||||||
|
|
||||||
#-------------------------------------------------------------------------
|
#-------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
# Standard GRAMPS Websites
|
# Standard GRAMPS Websites
|
||||||
@ -80,6 +93,23 @@ APP_GRAMPS_PKG = "application/x-gramps-package"
|
|||||||
APP_GENEWEB = "application/x-geneweb"
|
APP_GENEWEB = "application/x-geneweb"
|
||||||
APP_VCARD = ["text/x-vcard", "text/x-vcalendar"]
|
APP_VCARD = ["text/x-vcard", "text/x-vcalendar"]
|
||||||
|
|
||||||
|
#-------------------------------------------------------------------------
|
||||||
|
#
|
||||||
|
# system paths
|
||||||
|
#
|
||||||
|
#-------------------------------------------------------------------------
|
||||||
|
LOCALE_DIR = "/Users/tim/gramps/trunk/build/mo"
|
||||||
|
#-------------------------------------------------------------------------
|
||||||
|
#
|
||||||
|
# Platforms
|
||||||
|
# Never test on LINUX, handle Linux in the else statement as default
|
||||||
|
#
|
||||||
|
#-------------------------------------------------------------------------
|
||||||
|
LINUX = ["Linux", "linux", "linux2"]
|
||||||
|
MACOS = ["Darwin", "darwin"]
|
||||||
|
WINDOWS = ["Windows", "win32"]
|
||||||
|
|
||||||
|
|
||||||
#-------------------------------------------------------------------------
|
#-------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
# Determine the home directory. According to Wikipedia, most UNIX like
|
# Determine the home directory. According to Wikipedia, most UNIX like
|
||||||
@ -165,7 +195,7 @@ WEBSTUFF_IMAGE_DIR = os.path.join(WEBSTUFF_DIR, "images")
|
|||||||
|
|
||||||
USE_TIPS = False
|
USE_TIPS = False
|
||||||
|
|
||||||
if sys.platform == 'win32':
|
if os.sys.platform in WINDOWS:
|
||||||
USE_THUMBNAILER = False
|
USE_THUMBNAILER = False
|
||||||
else:
|
else:
|
||||||
USE_THUMBNAILER = True
|
USE_THUMBNAILER = True
|
||||||
@ -175,10 +205,10 @@ else:
|
|||||||
# Paths to data files.
|
# Paths to data files.
|
||||||
#
|
#
|
||||||
#-------------------------------------------------------------------------
|
#-------------------------------------------------------------------------
|
||||||
from gramps.gen.utils.resourcepath import ResourcePath
|
LOCALE_DIR = "/Users/tim/gramps/trunk/build/mo"
|
||||||
_resources = ResourcePath()
|
DATA_DIR = "/Users/tim/gramps/trunk/data"
|
||||||
DATA_DIR = _resources.data_dir
|
IMAGE_DIR = "/Users/tim/gramps/trunk/images"
|
||||||
IMAGE_DIR = _resources.image_dir
|
DOC_DIR = "/Users/tim/gramps/trunk"
|
||||||
|
|
||||||
TIP_DATA = os.path.join(DATA_DIR, "tips.xml")
|
TIP_DATA = os.path.join(DATA_DIR, "tips.xml")
|
||||||
PAPERSIZE = os.path.join(DATA_DIR, "papersize.xml")
|
PAPERSIZE = os.path.join(DATA_DIR, "papersize.xml")
|
||||||
@ -187,14 +217,14 @@ ICON = os.path.join(IMAGE_DIR, "gramps.png")
|
|||||||
LOGO = os.path.join(IMAGE_DIR, "logo.png")
|
LOGO = os.path.join(IMAGE_DIR, "logo.png")
|
||||||
SPLASH = os.path.join(IMAGE_DIR, "splash.jpg")
|
SPLASH = os.path.join(IMAGE_DIR, "splash.jpg")
|
||||||
|
|
||||||
LICENSE_FILE = os.path.join(_resources.doc_dir, 'COPYING')
|
LICENSE_FILE = os.path.join(DOC_DIR, 'COPYING')
|
||||||
#-------------------------------------------------------------------------
|
#-------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
# Init Localization
|
# Init Localization
|
||||||
#
|
#
|
||||||
#-------------------------------------------------------------------------
|
#-------------------------------------------------------------------------
|
||||||
from gramps.gen.utils.grampslocale import GrampsLocale
|
from .utils.grampslocale import GrampsLocale
|
||||||
GRAMPS_LOCALE = GrampsLocale(localedir=_resources.locale_dir)
|
GRAMPS_LOCALE = GrampsLocale()
|
||||||
_ = GRAMPS_LOCALE.get_translation().sgettext
|
_ = GRAMPS_LOCALE.get_translation().sgettext
|
||||||
|
|
||||||
#-------------------------------------------------------------------------
|
#-------------------------------------------------------------------------
|
||||||
@ -214,10 +244,9 @@ AUTHORS = [
|
|||||||
"Donald A. Peterson",
|
"Donald A. Peterson",
|
||||||
"Donald N. Allingham",
|
"Donald N. Allingham",
|
||||||
"David Hampton",
|
"David Hampton",
|
||||||
"Martin Hawlisch",
|
"Martin Hawlisch",
|
||||||
"Richard Taylor",
|
"Richard Taylor",
|
||||||
"Tim Waugh",
|
"Tim Waugh",
|
||||||
"John Ralls"
|
|
||||||
]
|
]
|
||||||
|
|
||||||
AUTHORS_FILE = os.path.join(DATA_DIR, "authors.xml")
|
AUTHORS_FILE = os.path.join(DATA_DIR, "authors.xml")
|
||||||
@ -309,3 +338,29 @@ LONGOPTS = [
|
|||||||
SHORTOPTS = "O:C:i:e:f:a:p:d:c:lLhuv?s"
|
SHORTOPTS = "O:C:i:e:f:a:p:d:c:lLhuv?s"
|
||||||
|
|
||||||
GRAMPS_UUID = uuid.UUID('516cd010-5a41-470f-99f8-eb22f1098ad6')
|
GRAMPS_UUID = uuid.UUID('516cd010-5a41-470f-99f8-eb22f1098ad6')
|
||||||
|
|
||||||
|
def need_to_update_const():
|
||||||
|
""" Check to see if this file is older than
|
||||||
|
setup.py or const.py.in """
|
||||||
|
this_file = os.path.join(ROOT_DIR, "gen", "const.py")
|
||||||
|
in_file = os.path.join(ROOT_DIR, "gen", "const.py.in")
|
||||||
|
setup_file = os.path.join(ROOT_DIR, "..", "setup.py")
|
||||||
|
|
||||||
|
if (os.path.exists(this_file) and
|
||||||
|
os.path.exists(in_file) and
|
||||||
|
os.path.exists(setup_file)):
|
||||||
|
|
||||||
|
this_file_time = os.path.getmtime(this_file)
|
||||||
|
in_file_time = os.path.getmtime(in_file)
|
||||||
|
setup_file_time = os.path.getmtime(setup_file)
|
||||||
|
|
||||||
|
# Is this file older than others? If so,
|
||||||
|
# need to run setup
|
||||||
|
return (this_file_time < in_file_time or
|
||||||
|
this_file_time < setup_file_time)
|
||||||
|
else:
|
||||||
|
# Can't tell because can't find the files
|
||||||
|
return False
|
||||||
|
|
||||||
|
if need_to_update_const():
|
||||||
|
print("Outdated gramps.gen.const; please run 'python setup.py build'")
|
||||||
|
@ -42,7 +42,8 @@ except ImportError:
|
|||||||
from PyICU import Locale, Collator
|
from PyICU import Locale, Collator
|
||||||
HAVE_ICU = True
|
HAVE_ICU = True
|
||||||
except ImportError as err:
|
except ImportError as err:
|
||||||
LOG.warning("ICU is not installed because %s, localization will be impaired", str(err))
|
LOG.warning("ICU not loaded because %s. Localization will be impaired. "
|
||||||
|
"Use your package manager to install PyICU", str(err))
|
||||||
#-------------------------------------------------------------------------
|
#-------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
# gramps modules
|
# gramps modules
|
||||||
|
@ -71,7 +71,11 @@ elif repository.enumerate_versions("Gtkspell"):
|
|||||||
pass
|
pass
|
||||||
|
|
||||||
if not HAVE_GTKSPELL:
|
if not HAVE_GTKSPELL:
|
||||||
LOG.warn(_("Spelling checker is not installed"))
|
LOG.warning(_("GtkSpell not loaded. "
|
||||||
|
"Spell checking will not be available.\n"
|
||||||
|
"To build it for Gramps see http://www.gramps-project.org/"
|
||||||
|
"wiki/index.php?title=GEPS_029:_GTK3-GObject_introspection_"
|
||||||
|
"Conversion#Spell_Check_Install"))
|
||||||
|
|
||||||
#-------------------------------------------------------------------------
|
#-------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
|
@ -56,10 +56,11 @@ try:
|
|||||||
from PIL import Image
|
from PIL import Image
|
||||||
HAVE_PIL = True
|
HAVE_PIL = True
|
||||||
except:
|
except:
|
||||||
_LOG.warning(
|
_LOG.warning(_("PIL (Python Imaging Library) not loaded. "
|
||||||
_('No PIL Image installed for your python version, cannot produce jpg '
|
"Production of jpg images from non-jpg images "
|
||||||
'images from non-jpg images in LaTex Documents'))
|
"in LaTex documents will not be available. "
|
||||||
|
"Use your package manager to install python-imaging"))
|
||||||
|
|
||||||
_CLICKABLE = r'''\url{\1}'''
|
_CLICKABLE = r'''\url{\1}'''
|
||||||
|
|
||||||
#------------------------------------------------------------------------
|
#------------------------------------------------------------------------
|
||||||
|
@ -397,8 +397,11 @@ if available:
|
|||||||
)
|
)
|
||||||
else:
|
else:
|
||||||
import logging
|
import logging
|
||||||
logging.warning(_("WARNING: GExiv2 module not loaded. "
|
logging.warning(_("GExiv2 module not loaded. "
|
||||||
"Image metadata functionality will not be available."))
|
"Image metadata functionality will not be available.\n"
|
||||||
|
"To build it for Gramps see http://www.gramps-project.org/"
|
||||||
|
"wiki/index.php?title=GEPS_029:_GTK3-GObject_introspection"
|
||||||
|
"_Conversion#GExiv2_for_Image_metadata"))
|
||||||
|
|
||||||
register(GRAMPLET,
|
register(GRAMPLET,
|
||||||
id="Person Residence",
|
id="Person Residence",
|
||||||
|
@ -39,29 +39,32 @@ from gi import Repository
|
|||||||
import logging
|
import logging
|
||||||
_LOG = logging.getLogger("Geography")
|
_LOG = logging.getLogger("Geography")
|
||||||
|
|
||||||
OSMGPSMAP = False
|
|
||||||
|
|
||||||
# Attempting to import OsmGpsMap gives an error dialog if OsmGpsMap is not
|
# 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.
|
# available so test first and log just a warning to the console instead.
|
||||||
|
OSMGPSMAP = False
|
||||||
repository = Repository.get_default()
|
repository = Repository.get_default()
|
||||||
if repository.enumerate_versions("OsmGpsMap"):
|
if repository.enumerate_versions("OsmGpsMap"):
|
||||||
try :
|
try :
|
||||||
# current osmgpsmap support GTK3
|
# current osmgpsmap support GTK3
|
||||||
from gi.repository import OsmGpsMap as osmgpsmap
|
from gi.repository import OsmGpsMap as osmgpsmap
|
||||||
OSMGPSMAP = True
|
|
||||||
if osmgpsmap._version < '0.8':
|
if osmgpsmap._version < '0.8':
|
||||||
OSMGPSMAP = False
|
_LOG.warning( _("OsmGpsMap module not loaded. "
|
||||||
_LOG.warning( _("WARNING: osmgpsmap module not loaded. "
|
"OsmGpsMap must be >= 0.8. yours is %s") %
|
||||||
"osmgpsmap must be >= 0.8. yours is %s") %
|
|
||||||
osmgpsmap._version)
|
osmgpsmap._version)
|
||||||
else:
|
else:
|
||||||
|
OSMGPSMAP = True
|
||||||
_LOG.info("OsmGpsMap loaded, version : " + osmgpsmap._version)
|
_LOG.info("OsmGpsMap loaded, version : " + osmgpsmap._version)
|
||||||
except:
|
except:
|
||||||
OSMGPSMAP = False
|
pass
|
||||||
_LOG.warning(_("WARNING: osmgpsmap module not loaded. "
|
|
||||||
"Geography functionality will not be available."))
|
|
||||||
|
|
||||||
if OSMGPSMAP:
|
if not OSMGPSMAP:
|
||||||
|
_LOG.warning(_("OsmGpsMap module not loaded. "
|
||||||
|
"Geography functionality will not be available.\n"
|
||||||
|
"To build it for Gramps see http://www.gramps-project.org"
|
||||||
|
"/wiki/index.php?"
|
||||||
|
"title=GEPS_029:_GTK3-GObject_introspection_Conversion"
|
||||||
|
"#OsmGpsMap_for_Geography"))
|
||||||
|
else:
|
||||||
# Load the view only if osmgpsmap library is present.
|
# Load the view only if osmgpsmap library is present.
|
||||||
register(VIEW,
|
register(VIEW,
|
||||||
id = 'geo1',
|
id = 'geo1',
|
||||||
|
@ -59,7 +59,9 @@ if repository.enumerate_versions("WebKit"):
|
|||||||
except:
|
except:
|
||||||
pass
|
pass
|
||||||
else:
|
else:
|
||||||
_LOG.warning("Webkit is not installed");
|
_LOG.warning("Webkit module not loaded. "
|
||||||
|
"Embedded web page viewing will not be available. "
|
||||||
|
"Use your package manager to install gir1.2-webkit-3.0");
|
||||||
|
|
||||||
#no interfaces present, we do not register these plugins
|
#no interfaces present, we do not register these plugins
|
||||||
if not (TOOLKIT == NOWEB):
|
if not (TOOLKIT == NOWEB):
|
||||||
|
Loading…
x
Reference in New Issue
Block a user