85fbf617d1
* src/DateDisplay.py: use GrampsLocale * src/DateParser.py: use GrampsLocale * src/DisplayModels.py: use GrampsLocale * src/Exporter.py: start conversion to Assistant * src/RecentFiles.py: fcntl option for broken platforms * src/StartupDialog.py: convert to Assistant * src/ViewManager.py: remove debug statement * src/RelLib/_PrimaryObject.py: use GrampsLocale * src/plugins/Checkpoint.py: use GrampsLocale * src/plugins/NavWebPage.py: use GrampsLocale svn: r5644
169 lines
8.2 KiB
Python
169 lines
8.2 KiB
Python
# -*- coding: iso-8859-1 -*-
|
|
#
|
|
# Gramps - a GTK+/GNOME based genealogy program
|
|
#
|
|
# Copyright (C) 2004-2005 Donald N. Allingham
|
|
#
|
|
# 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$
|
|
|
|
import locale
|
|
|
|
"""
|
|
Some OS environments do not support the locale.nl_langinfo() method
|
|
of determing month names and other date related information.
|
|
|
|
If nl_langinfo fails, that means we have to resort to shinanigans with
|
|
strftime.
|
|
|
|
Since these routines return values encoded into selected character
|
|
set, we have to convert to unicode.
|
|
"""
|
|
|
|
try:
|
|
codeset = locale.nl_langinfo(locale.CODESET)
|
|
|
|
month_to_int = {
|
|
unicode(locale.nl_langinfo(locale.MON_1),codeset).lower() : 1,
|
|
unicode(locale.nl_langinfo(locale.ABMON_1),codeset).lower() : 1,
|
|
unicode(locale.nl_langinfo(locale.MON_2),codeset).lower() : 2,
|
|
unicode(locale.nl_langinfo(locale.ABMON_2),codeset).lower() : 2,
|
|
unicode(locale.nl_langinfo(locale.MON_3),codeset).lower() : 3,
|
|
unicode(locale.nl_langinfo(locale.ABMON_3),codeset).lower() : 3,
|
|
unicode(locale.nl_langinfo(locale.MON_4),codeset).lower() : 4,
|
|
unicode(locale.nl_langinfo(locale.ABMON_4),codeset).lower() : 4,
|
|
unicode(locale.nl_langinfo(locale.MON_5),codeset).lower() : 5,
|
|
unicode(locale.nl_langinfo(locale.ABMON_5),codeset).lower() : 5,
|
|
unicode(locale.nl_langinfo(locale.MON_6),codeset).lower() : 6,
|
|
unicode(locale.nl_langinfo(locale.ABMON_6),codeset).lower() : 6,
|
|
unicode(locale.nl_langinfo(locale.MON_7),codeset).lower() : 7,
|
|
unicode(locale.nl_langinfo(locale.ABMON_7),codeset).lower() : 7,
|
|
unicode(locale.nl_langinfo(locale.MON_8),codeset).lower() : 8,
|
|
unicode(locale.nl_langinfo(locale.ABMON_8),codeset).lower() : 8,
|
|
unicode(locale.nl_langinfo(locale.MON_9),codeset).lower() : 9,
|
|
unicode(locale.nl_langinfo(locale.ABMON_9),codeset).lower() : 9,
|
|
unicode(locale.nl_langinfo(locale.MON_10),codeset).lower() : 10,
|
|
unicode(locale.nl_langinfo(locale.ABMON_10),codeset).lower(): 10,
|
|
unicode(locale.nl_langinfo(locale.MON_11),codeset).lower() : 11,
|
|
unicode(locale.nl_langinfo(locale.ABMON_11),codeset).lower(): 11,
|
|
unicode(locale.nl_langinfo(locale.MON_12),codeset).lower() : 12,
|
|
unicode(locale.nl_langinfo(locale.ABMON_12),codeset).lower(): 12,
|
|
}
|
|
|
|
long_months = (
|
|
"",
|
|
unicode(locale.nl_langinfo(locale.MON_1),codeset),
|
|
unicode(locale.nl_langinfo(locale.MON_2),codeset),
|
|
unicode(locale.nl_langinfo(locale.MON_3),codeset),
|
|
unicode(locale.nl_langinfo(locale.MON_4),codeset),
|
|
unicode(locale.nl_langinfo(locale.MON_5),codeset),
|
|
unicode(locale.nl_langinfo(locale.MON_6),codeset),
|
|
unicode(locale.nl_langinfo(locale.MON_7),codeset),
|
|
unicode(locale.nl_langinfo(locale.MON_8),codeset),
|
|
unicode(locale.nl_langinfo(locale.MON_9),codeset),
|
|
unicode(locale.nl_langinfo(locale.MON_10),codeset),
|
|
unicode(locale.nl_langinfo(locale.MON_11),codeset),
|
|
unicode(locale.nl_langinfo(locale.MON_12),codeset),
|
|
)
|
|
|
|
short_months = (
|
|
"",
|
|
unicode(locale.nl_langinfo(locale.ABMON_1),codeset),
|
|
unicode(locale.nl_langinfo(locale.ABMON_2),codeset),
|
|
unicode(locale.nl_langinfo(locale.ABMON_3),codeset),
|
|
unicode(locale.nl_langinfo(locale.ABMON_4),codeset),
|
|
unicode(locale.nl_langinfo(locale.ABMON_5),codeset),
|
|
unicode(locale.nl_langinfo(locale.ABMON_6),codeset),
|
|
unicode(locale.nl_langinfo(locale.ABMON_7),codeset),
|
|
unicode(locale.nl_langinfo(locale.ABMON_8),codeset),
|
|
unicode(locale.nl_langinfo(locale.ABMON_9),codeset),
|
|
unicode(locale.nl_langinfo(locale.ABMON_10),codeset),
|
|
unicode(locale.nl_langinfo(locale.ABMON_11),codeset),
|
|
unicode(locale.nl_langinfo(locale.ABMON_12),codeset),
|
|
)
|
|
|
|
tformat = locale.nl_langinfo(locale.D_FMT).replace('%y','%Y')
|
|
|
|
except:
|
|
import time
|
|
|
|
codeset = locale.getpreferredencoding()
|
|
|
|
month_to_int = {
|
|
unicode(time.strftime('%B',(0,1,1,1,1,1,1,1,1)),codeset).lower() : 1,
|
|
unicode(time.strftime('%b',(0,1,1,1,1,1,1,1,1)),codeset).lower() : 1,
|
|
unicode(time.strftime('%B',(0,2,1,1,1,1,1,1,1)),codeset).lower() : 2,
|
|
unicode(time.strftime('%b',(0,2,1,1,1,1,1,1,1)),codeset).lower() : 2,
|
|
unicode(time.strftime('%B',(0,3,1,1,1,1,1,1,1)),codeset).lower() : 3,
|
|
unicode(time.strftime('%b',(0,3,1,1,1,1,1,1,1)),codeset).lower() : 3,
|
|
unicode(time.strftime('%B',(0,4,1,1,1,1,1,1,1)),codeset).lower() : 4,
|
|
unicode(time.strftime('%b',(0,4,1,1,1,1,1,1,1)),codeset).lower() : 4,
|
|
unicode(time.strftime('%B',(0,5,1,1,1,1,1,1,1)),codeset).lower() : 5,
|
|
unicode(time.strftime('%b',(0,5,1,1,1,1,1,1,1)),codeset).lower() : 5,
|
|
unicode(time.strftime('%B',(0,6,1,1,1,1,1,1,1)),codeset).lower() : 6,
|
|
unicode(time.strftime('%b',(0,6,1,1,1,1,1,1,1)),codeset).lower() : 6,
|
|
unicode(time.strftime('%B',(0,7,1,1,1,1,1,1,1)),codeset).lower() : 7,
|
|
unicode(time.strftime('%b',(0,7,1,1,1,1,1,1,1)),codeset).lower() : 7,
|
|
unicode(time.strftime('%B',(0,8,1,1,1,1,1,1,1)),codeset).lower() : 8,
|
|
unicode(time.strftime('%b',(0,8,1,1,1,1,1,1,1)),codeset).lower() : 8,
|
|
unicode(time.strftime('%B',(0,9,1,1,1,1,1,1,1)),codeset).lower() : 9,
|
|
unicode(time.strftime('%b',(0,9,1,1,1,1,1,1,1)),codeset).lower() : 9,
|
|
unicode(time.strftime('%B',(0,10,1,1,1,1,1,1,1)),codeset).lower() : 10,
|
|
unicode(time.strftime('%b',(0,10,1,1,1,1,1,1,1)),codeset).lower() : 10,
|
|
unicode(time.strftime('%B',(0,11,1,1,1,1,1,1,1)),codeset).lower() : 11,
|
|
unicode(time.strftime('%b',(0,11,1,1,1,1,1,1,1)),codeset).lower() : 11,
|
|
unicode(time.strftime('%B',(0,12,1,1,1,1,1,1,1)),codeset).lower() : 12,
|
|
unicode(time.strftime('%b',(0,12,1,1,1,1,1,1,1)),codeset).lower() : 12,
|
|
}
|
|
|
|
long_months = (
|
|
"",
|
|
unicode(time.strftime('%B',(0,1,1,1,1,1,1,1,1)),codeset),
|
|
unicode(time.strftime('%B',(0,2,1,1,1,1,1,1,1)),codeset),
|
|
unicode(time.strftime('%B',(0,3,1,1,1,1,1,1,1)),codeset),
|
|
unicode(time.strftime('%B',(0,4,1,1,1,1,1,1,1)),codeset),
|
|
unicode(time.strftime('%B',(0,5,1,1,1,1,1,1,1)),codeset),
|
|
unicode(time.strftime('%B',(0,6,1,1,1,1,1,1,1)),codeset),
|
|
unicode(time.strftime('%B',(0,7,1,1,1,1,1,1,1)),codeset),
|
|
unicode(time.strftime('%B',(0,8,1,1,1,1,1,1,1)),codeset),
|
|
unicode(time.strftime('%B',(0,9,1,1,1,1,1,1,1)),codeset),
|
|
unicode(time.strftime('%B',(0,10,1,1,1,1,1,1,1)),codeset),
|
|
unicode(time.strftime('%B',(0,11,1,1,1,1,1,1,1)),codeset),
|
|
unicode(time.strftime('%B',(0,12,1,1,1,1,1,1,1)),codeset),
|
|
)
|
|
|
|
short_months = (
|
|
"",
|
|
unicode(time.strftime('%b',(0,1,1,1,1,1,1,1,1)),codeset),
|
|
unicode(time.strftime('%b',(0,2,1,1,1,1,1,1,1)),codeset),
|
|
unicode(time.strftime('%b',(0,3,1,1,1,1,1,1,1)),codeset),
|
|
unicode(time.strftime('%b',(0,4,1,1,1,1,1,1,1)),codeset),
|
|
unicode(time.strftime('%b',(0,5,1,1,1,1,1,1,1)),codeset),
|
|
unicode(time.strftime('%b',(0,6,1,1,1,1,1,1,1)),codeset),
|
|
unicode(time.strftime('%b',(0,7,1,1,1,1,1,1,1)),codeset),
|
|
unicode(time.strftime('%b',(0,8,1,1,1,1,1,1,1)),codeset),
|
|
unicode(time.strftime('%b',(0,9,1,1,1,1,1,1,1)),codeset),
|
|
unicode(time.strftime('%b',(0,10,1,1,1,1,1,1,1)),codeset),
|
|
unicode(time.strftime('%b',(0,11,1,1,1,1,1,1,1)),codeset),
|
|
unicode(time.strftime('%b',(0,12,1,1,1,1,1,1,1)),codeset),
|
|
)
|
|
|
|
if time.strftime('%x',(2005,1,2,1,1,1,1,1,1)) == '2/1/2005':
|
|
tformat = '%d/%m/%y'
|
|
else:
|
|
tformat = '%m/%d/%y'
|
|
|