GEPS 026: Replace 'make' for Gramps build
If we want to use Gramps from the code directory, src should be called gramps to allow import svn: r20466
This commit is contained in:
364
gramps/gen/config.py
Normal file
364
gramps/gen/config.py
Normal file
@@ -0,0 +1,364 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
#
|
||||
# Gramps - a GTK+/GNOME based genealogy program
|
||||
#
|
||||
# Copyright (C) 2005-2007 Donald N. Allingham
|
||||
# Copyright (C) 2008-2009 Gary Burton
|
||||
# Copyright (C) 2009 Doug Blank <doug.blank@gmail.com>
|
||||
# Copyright (C) 2011 Tim G L Lyons
|
||||
#
|
||||
# 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
|
||||
# the Free Software Foundation; either version 2 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 General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
#
|
||||
|
||||
# $Id$
|
||||
|
||||
"""
|
||||
This package implements access to GRAMPS configuration.
|
||||
"""
|
||||
|
||||
#---------------------------------------------------------------
|
||||
#
|
||||
# Gramps imports
|
||||
#
|
||||
#---------------------------------------------------------------
|
||||
import os, sys
|
||||
import logging
|
||||
|
||||
#---------------------------------------------------------------
|
||||
#
|
||||
# Gramps imports
|
||||
#
|
||||
#---------------------------------------------------------------
|
||||
from ggettext import gettext as _
|
||||
from const import HOME_DIR, USER_HOME, VERSION_DIR
|
||||
from utils.configmanager import ConfigManager
|
||||
|
||||
#---------------------------------------------------------------
|
||||
#
|
||||
# Constants
|
||||
#
|
||||
#---------------------------------------------------------------
|
||||
INIFILE = os.path.join(VERSION_DIR, "gramps.ini")
|
||||
|
||||
#---------------------------------------------------------------
|
||||
#
|
||||
# Module functions
|
||||
#
|
||||
#---------------------------------------------------------------
|
||||
def register(key, value):
|
||||
""" Module shortcut to register key, value """
|
||||
return CONFIGMAN.register(key, value)
|
||||
|
||||
def get(key):
|
||||
""" Module shortcut to get value from key """
|
||||
return CONFIGMAN.get(key)
|
||||
|
||||
def get_default(key):
|
||||
""" Module shortcut to get default from key """
|
||||
return CONFIGMAN.get_default(key)
|
||||
|
||||
def has_default(key):
|
||||
""" Module shortcut to get see if there is a default for key """
|
||||
return CONFIGMAN.has_default(key)
|
||||
|
||||
def get_sections():
|
||||
""" Module shortcut to get all section names of settings """
|
||||
return CONFIGMAN.get_sections()
|
||||
|
||||
def get_section_settings(section):
|
||||
""" Module shortcut to get all settings of a section """
|
||||
return CONFIGMAN.get_section_settings(section)
|
||||
|
||||
def set(key, value):
|
||||
""" Module shortcut to set value from key """
|
||||
return CONFIGMAN.set(key, value)
|
||||
|
||||
def is_set(key):
|
||||
""" Module shortcut to set value from key """
|
||||
return CONFIGMAN.is_set(key)
|
||||
|
||||
def save(filename=None):
|
||||
""" Module shortcut to save config file """
|
||||
return CONFIGMAN.save(filename)
|
||||
|
||||
def connect(key, func):
|
||||
"""
|
||||
Module shortcut to connect a key to a callback func.
|
||||
Returns a unique callback ID number.
|
||||
"""
|
||||
return CONFIGMAN.connect(key, func)
|
||||
|
||||
def disconnect(callback_id):
|
||||
""" Module shortcut to remove callback by ID number """
|
||||
return CONFIGMAN.disconnect(callback_id)
|
||||
|
||||
def reset(key=None):
|
||||
""" Module shortcut to reset some or all config data """
|
||||
return CONFIGMAN.reset(key)
|
||||
|
||||
def load(filename=None, oldstyle=False):
|
||||
""" Module shortcut to load an INI file into config data """
|
||||
return CONFIGMAN.load(filename, oldstyle)
|
||||
|
||||
def emit(key):
|
||||
""" Module shortcut to call all callbacks associated with key """
|
||||
return CONFIGMAN.emit(key)
|
||||
|
||||
#---------------------------------------------------------------
|
||||
#
|
||||
# Register the system-wide settings in a singleton config manager
|
||||
#
|
||||
#---------------------------------------------------------------
|
||||
|
||||
CONFIGMAN = ConfigManager(INIFILE, "plugins")
|
||||
|
||||
register('behavior.addmedia-image-dir', '')
|
||||
register('behavior.addmedia-relative-path', False)
|
||||
register('behavior.autoload', False)
|
||||
register('behavior.avg-generation-gap', 20)
|
||||
register('behavior.betawarn', False)
|
||||
register('behavior.check-for-updates', 0)
|
||||
register('behavior.check-for-update-types', ["new"])
|
||||
register('behavior.last-check-for-updates', "1970/01/01")
|
||||
register('behavior.previously-seen-updates', [])
|
||||
register('behavior.do-not-show-previously-seen-updates', True)
|
||||
register('behavior.database-path', os.path.join( HOME_DIR, 'grampsdb'))
|
||||
register('behavior.date-about-range', 50)
|
||||
register('behavior.date-after-range', 50)
|
||||
register('behavior.date-before-range', 50)
|
||||
register('behavior.generation-depth', 15)
|
||||
register('behavior.max-age-prob-alive', 110)
|
||||
register('behavior.max-sib-age-diff', 20)
|
||||
register('behavior.min-generation-years', 13)
|
||||
register('behavior.owner-warn', False)
|
||||
register('behavior.pop-plugin-status', False)
|
||||
register('behavior.recent-export-type', 1)
|
||||
register('behavior.spellcheck', False)
|
||||
register('behavior.startup', 0)
|
||||
register('behavior.surname-guessing', 0)
|
||||
register('behavior.use-tips', False)
|
||||
register('behavior.welcome', 100)
|
||||
register('behavior.web-search-url', 'http://google.com/#&q=%(text)s')
|
||||
|
||||
register('export.proxy-order', [
|
||||
["privacy", 0],
|
||||
["living", 0],
|
||||
["person", 0],
|
||||
["note", 0],
|
||||
["reference", 0],
|
||||
])
|
||||
|
||||
register('geography.center-lon', 0.0)
|
||||
register('geography.lock', False)
|
||||
register('geography.center-lat', 0.0)
|
||||
register('geography.map', "person")
|
||||
register('geography.map_service', 1)
|
||||
register('geography.zoom', 0)
|
||||
register('geography.zoom_when_center', 12)
|
||||
register('geography.show_cross', False)
|
||||
register('geography.path', "")
|
||||
|
||||
register('htmlview.start-url', "http://gramps-project.org")
|
||||
register('htmlview.url-handler', False)
|
||||
|
||||
register('interface.address-height', 450)
|
||||
register('interface.address-width', 650)
|
||||
register('interface.attribute-height', 350)
|
||||
register('interface.attribute-width', 600)
|
||||
register('interface.child-ref-height', 450)
|
||||
register('interface.child-ref-width', 600)
|
||||
register('interface.citation-height', 450)
|
||||
register('interface.citation-sel-height', 450)
|
||||
register('interface.citation-sel-width', 600)
|
||||
register('interface.citation-width', 600)
|
||||
register('interface.clipboard-height', 300)
|
||||
register('interface.clipboard-width', 300)
|
||||
register('interface.dont-ask', False)
|
||||
register('interface.view-categories',
|
||||
["Gramplets", "People", "Relationships", "Families",
|
||||
"Ancestry", "Events", "Places", "Geography", "Sources",
|
||||
"Citations", "Repositories", "Media", "Notes"])
|
||||
register('interface.edit-filter-width', 500)
|
||||
register('interface.edit-filter-height', 420)
|
||||
register('interface.edit-rule-width', 600)
|
||||
register('interface.edit-rule-height', 450)
|
||||
register('interface.event-height', 450)
|
||||
register('interface.event-ref-height', 450)
|
||||
register('interface.event-ref-width', 600)
|
||||
register('interface.event-sel-height', 450)
|
||||
register('interface.event-sel-width', 600)
|
||||
register('interface.event-width', 600)
|
||||
register('interface.family-height', 500)
|
||||
register('interface.family-sel-height', 450)
|
||||
register('interface.family-sel-width', 600)
|
||||
register('interface.family-width', 700)
|
||||
register('interface.filter', False)
|
||||
register('interface.filter-editor-width', 400)
|
||||
register('interface.filter-editor-height', 350)
|
||||
register('interface.fullscreen', False)
|
||||
register('interface.height', 500)
|
||||
register('interface.lds-height', 450)
|
||||
register('interface.lds-width', 600)
|
||||
register('interface.location-height', 250)
|
||||
register('interface.location-width', 600)
|
||||
register('interface.mapservice', 'OpenStreetMap')
|
||||
register('interface.media-height', 450)
|
||||
register('interface.media-ref-height', 450)
|
||||
register('interface.media-ref-width', 600)
|
||||
register('interface.media-sel-height', 450)
|
||||
register('interface.media-sel-width', 600)
|
||||
register('interface.media-width', 650)
|
||||
register('interface.name-height', 350)
|
||||
register('interface.name-width', 600)
|
||||
register('interface.note-height', 500)
|
||||
register('interface.note-sel-height', 450)
|
||||
register('interface.note-sel-width', 600)
|
||||
register('interface.note-width', 700)
|
||||
register('interface.open-with-default-viewer', False)
|
||||
register('interface.pedview-layout', 0)
|
||||
register('interface.pedview-show-images', True)
|
||||
register('interface.pedview-show-marriage', False)
|
||||
register('interface.pedview-tree-size', 5)
|
||||
register('interface.pedview-tree-direction', 2)
|
||||
register('interface.pedview-show-unknown-people', False)
|
||||
register('interface.person-height', 550)
|
||||
register('interface.person-ref-height', 350)
|
||||
register('interface.person-ref-width', 600)
|
||||
register('interface.person-sel-height', 450)
|
||||
register('interface.person-sel-width', 600)
|
||||
register('interface.person-width', 750)
|
||||
register('interface.place-height', 450)
|
||||
register('interface.place-sel-height', 450)
|
||||
register('interface.place-sel-width', 600)
|
||||
register('interface.place-width', 650)
|
||||
register('interface.repo-height', 450)
|
||||
register('interface.repo-ref-height', 450)
|
||||
register('interface.repo-ref-width', 600)
|
||||
register('interface.repo-sel-height', 450)
|
||||
register('interface.repo-sel-width', 600)
|
||||
register('interface.repo-width', 650)
|
||||
register('interface.sidebar-text', True)
|
||||
register('interface.size-checked', False)
|
||||
register('interface.source-height', 450)
|
||||
register('interface.source-ref-height', 450)
|
||||
register('interface.source-ref-width', 600)
|
||||
register('interface.source-sel-height', 450)
|
||||
register('interface.source-sel-width', 600)
|
||||
register('interface.source-width', 600)
|
||||
register('interface.statusbar', 1)
|
||||
register('interface.toolbar-on', True)
|
||||
register('interface.url-height', 150)
|
||||
register('interface.url-width', 600)
|
||||
register('interface.view', True)
|
||||
register('interface.width', 775)
|
||||
register('interface.surname-box-height', 150)
|
||||
|
||||
register('paths.recent-export-dir', '')
|
||||
register('paths.recent-file', '')
|
||||
register('paths.recent-import-dir', '')
|
||||
register('paths.report-directory', USER_HOME)
|
||||
register('paths.website-directory', USER_HOME)
|
||||
register('paths.quick-backup-directory', USER_HOME)
|
||||
register('paths.quick-backup-filename',
|
||||
"%(filename)s_%(year)d-%(month)02d-%(day)02d.%(extension)s")
|
||||
|
||||
register('preferences.date-format', 0)
|
||||
register('preferences.calendar-format-report', 0)
|
||||
register('preferences.cprefix', 'C%04d')
|
||||
register('preferences.default-source', False)
|
||||
register('preferences.eprefix', 'E%04d')
|
||||
register('preferences.family-warn', True)
|
||||
register('preferences.fprefix', 'F%04d')
|
||||
register('preferences.hide-ep-msg', False)
|
||||
register('preferences.invalid-date-format', "<b>%s</b>")
|
||||
register('preferences.iprefix', 'I%04d')
|
||||
register('preferences.name-format', 1)
|
||||
register('preferences.patronimic-surname', False)
|
||||
register('preferences.no-given-text', "[%s]" % _("Missing Given Name"))
|
||||
register('preferences.no-record-text', "[%s]" % _("Missing Record"))
|
||||
register('preferences.no-surname-text', "[%s]" % _("Missing Surname"))
|
||||
register('preferences.nprefix', 'N%04d')
|
||||
register('preferences.online-maps', False)
|
||||
register('preferences.oprefix', 'O%04d')
|
||||
register('preferences.paper-metric', 0)
|
||||
register('preferences.paper-preference', 'Letter')
|
||||
register('preferences.pprefix', 'P%04d')
|
||||
register('preferences.private-given-text', "[%s]" % _("Living"))
|
||||
register('preferences.private-record-text', "[%s]" % _("Private Record"))
|
||||
register('preferences.private-surname-text', "[%s]" % _("Living"))
|
||||
register('preferences.rprefix', 'R%04d')
|
||||
register('preferences.sprefix', 'S%04d')
|
||||
register('preferences.use-last-view', True)
|
||||
register('preferences.last-view', '')
|
||||
register('preferences.last-views', [])
|
||||
register('preferences.use-bsddb3', False)
|
||||
register('preferences.family-relation-type', 3) # UNKNOWN
|
||||
register('preferences.age-display-precision', 1)
|
||||
register('preferences.color-gender-male-alive', '#b8cee6')
|
||||
register('preferences.color-gender-male-death', '#b8cee6')
|
||||
register('preferences.color-gender-female-alive', '#feccf0')
|
||||
register('preferences.color-gender-female-death', '#feccf0')
|
||||
register('preferences.color-gender-unknown-alive', '#f3dbb6')
|
||||
register('preferences.color-gender-unknown-death', '#f3dbb6')
|
||||
#register('preferences.color-gender-other-alive', '#fcaf3e')
|
||||
#register('preferences.color-gender-other-death', '#fcaf3e')
|
||||
register('preferences.bordercolor-gender-male-alive', '#1f4986')
|
||||
register('preferences.bordercolor-gender-male-death', '#000000')
|
||||
register('preferences.bordercolor-gender-female-alive', '#861f69')
|
||||
register('preferences.bordercolor-gender-female-death', '#000000')
|
||||
register('preferences.bordercolor-gender-unknown-alive', '#8e5801')
|
||||
register('preferences.bordercolor-gender-unknown-death', '#000000')
|
||||
#register('preferences.bordercolor-gender-other-alive', '#f57900')
|
||||
#register('preferences.bordercolor-gender-other-death', '#000000')
|
||||
|
||||
register('researcher.researcher-addr', '')
|
||||
register('researcher.researcher-locality', '')
|
||||
register('researcher.researcher-city', '')
|
||||
register('researcher.researcher-country', '')
|
||||
register('researcher.researcher-email', '')
|
||||
register('researcher.researcher-name', '')
|
||||
register('researcher.researcher-phone', '')
|
||||
register('researcher.researcher-postal', '')
|
||||
register('researcher.researcher-state', '')
|
||||
|
||||
register('plugin.hiddenplugins', ['htmlview'])
|
||||
register('plugin.addonplugins', [])
|
||||
|
||||
#---------------------------------------------------------------
|
||||
#
|
||||
# Upgrade Conversions go here.
|
||||
#
|
||||
#---------------------------------------------------------------
|
||||
|
||||
# If we have not already upgraded to this version,
|
||||
# we can tell by seeing if there is a key file for this version:
|
||||
if not os.path.exists(CONFIGMAN.filename):
|
||||
# If not, let's read old if there:
|
||||
if os.path.exists(os.path.join(HOME_DIR, "keys.ini")):
|
||||
# read it in old style:
|
||||
logging.warning("Importing old key file 'keys.ini'...")
|
||||
CONFIGMAN.load(os.path.join(HOME_DIR, "keys.ini"),
|
||||
oldstyle=True)
|
||||
logging.warning("Done importing old key file 'keys.ini'")
|
||||
# other version upgrades here...
|
||||
|
||||
#---------------------------------------------------------------
|
||||
#
|
||||
# Now, load the settings from the config file, if one
|
||||
#
|
||||
#---------------------------------------------------------------
|
||||
CONFIGMAN.load()
|
||||
|
||||
config = CONFIGMAN
|
Reference in New Issue
Block a user