2
# -*- coding: utf-8 -*-
4
# Gramps - a GTK+/GNOME based genealogy program
6
# Copyright (C) 2000-2004 Donald N. Allingham
8
# This program is free software; you can redistribute it and/or modify
9
# it under the terms of the GNU General Public License as published by
10
# the Free Software Foundation; either version 2 of the License, or
11
# (at your option) any later version.
13
# This program is distributed in the hope that it will be useful,
14
# but WITHOUT ANY WARRANTY; without even the implied warranty of
15
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
# GNU General Public License for more details.
18
# You should have received a copy of the GNU General Public License
19
# along with this program; if not, write to the Free Software
20
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
23
# $Id: const.py.in,v 1.43.2.1 2004/02/13 22:43:36 dallingham Exp $
25
#-------------------------------------------------------------------------
27
# Standard python modules
29
#-------------------------------------------------------------------------
32
#-------------------------------------------------------------------------
34
# internationalization
36
#-------------------------------------------------------------------------
37
from gettext import gettext as _
38
from TransTable import TransTable
40
#-------------------------------------------------------------------------
42
# Paths to external programs
44
#-------------------------------------------------------------------------
48
pixdir = "/usr/share/pixmaps"
49
nautdir = "/usr/share/pixmaps/nautilus"
51
prefixdir = "@GPREFIX@"
53
#-------------------------------------------------------------------------
55
# Paths to files - assumes that files reside in the same directory as
56
# this one, and that the plugins directory is in a directory below this.
58
#-------------------------------------------------------------------------
60
if os.environ.has_key('GRAMPSDIR'):
61
rootDir = os.environ['GRAMPSDIR']
65
papersize = "file:%s/papersize.xml" % rootDir
66
good_xpm = "%s/good.png" % rootDir
67
bad_xpm = "%s/bad.png" % rootDir
68
caution_xpm = "%s/caution.png" % rootDir
70
system_filters = "%s/system_filters.xml" % rootDir
71
custom_filters = "~/.gramps/custom_filters.xml"
72
icon = "%s/gramps.xpm" % rootDir
73
logo = "%s/logo.png" % rootDir
74
gladeFile = "%s/gramps.glade" % rootDir
75
placesFile = "%s/places.glade" % rootDir
76
imageselFile = "%s/imagesel.glade" % rootDir
77
marriageFile = "%s/marriage.glade" % rootDir
78
editPersonFile = "%s/edit_person.glade" % rootDir
79
bookFile = "%s/bookmarks.glade" % rootDir
80
pluginsFile = "%s/plugins.glade" % rootDir
81
editnoteFile = "%s/editnote.glade" % rootDir
82
configFile = "%s/config.glade" % rootDir
83
prefsFile = "%s/preferences.glade" % rootDir
84
stylesFile = "%s/styles.glade" % rootDir
85
dialogFile = "%s/dialog.glade" % rootDir
86
revisionFile = "%s/revision.glade" % rootDir
87
srcselFile = "%s/srcsel.glade" % rootDir
88
findFile = "%s/find.glade" % rootDir
89
mergeFile = "%s/mergedata.glade" % rootDir
90
filterFile = "%s/rule.glade" % rootDir
91
errdialogsFile = "%s/errdialogs.glade" % rootDir
93
pluginsDir = "%s/plugins" % rootDir
94
calendarDir = "%s/calendars" % rootDir
95
docgenDir = "%s/docgen" % rootDir
96
filtersDir = "%s/filters" % rootDir
97
dataDir = "%s/data" % rootDir
98
gtkrcFile = "%s/gtkrc" % rootDir
99
template_dir = "%s/templates" % dataDir
100
fdl = "%s/fdl.txt" % dataDir
105
#-------------------------------------------------------------------------
107
# About box information
109
#-------------------------------------------------------------------------
111
version = "@VERSIONSTRING@"
112
copyright = unicode("ļæ½ 2001-2004 Donald N. Allingham","iso-8859-1")
113
comments = _("GRAMPS (Genealogical Research and Analysis "
114
"Management Programming System) is a personal "
115
"genealogy program.")
117
"Donald N. Allingham",
120
"Donald A. Peterson",
128
translators = _('TRANSLATORS: Translate this to your name in your native language')
130
#-------------------------------------------------------------------------
134
#-------------------------------------------------------------------------
137
xmlFile = "data.gramps"
138
zodbFile = "gramps.zodb"
141
unknown = _("unknown")
143
#-------------------------------------------------------------------------
147
#-------------------------------------------------------------------------
162
shortopts = "i:o:f:a:?"
164
#-------------------------------------------------------------------------
168
#-------------------------------------------------------------------------
170
child_relations = TransTable( {
171
_("Birth") : "Birth",
172
_("Adopted") : "Adopted",
173
_("Stepchild") : "Stepchild",
174
_("Sponsored") : "Sponsored",
175
_("Foster") : "Foster",
177
_("Unknown") : "Unknown",
178
_("Other") : "Other",
181
#-------------------------------------------------------------------------
185
#-------------------------------------------------------------------------
194
#-------------------------------------------------------------------------
196
# Family event string mappings
198
#-------------------------------------------------------------------------
199
familyConstantEvents = {
200
"Annulment" : "ANUL",
201
"Divorce Filing" : "DIVF",
203
"Engagement" : "ENGA",
204
"Marriage Contract" : "MARC",
205
"Marriage License" : "MARL",
206
"Marriage Settlement" : "MARS",
210
#-------------------------------------------------------------------------
214
#-------------------------------------------------------------------------
216
family_events = TransTable( {
217
"Alternate Marriage" : _("Alternate Marriage"),
218
"Annulment" : _("Annulment"),
219
"Divorce Filing" : _("Divorce Filing"),
220
"Divorce" : _("Divorce"),
221
"Engagement" : _("Engagement"),
222
"Marriage Contract" : _("Marriage Contract"),
223
"Marriage License" : _("Marriage License"),
224
"Marriage Settlement" : _("Marriage Settlement"),
225
"Marriage" : _("Marriage")
228
def display_fevent(st):
229
return family_events.find_value(st)
232
return family_events.find_key(st)
234
#-------------------------------------------------------------------------
238
#-------------------------------------------------------------------------
239
personalConstantEvents = {
241
"Adult Christening" : "CHRA",
242
"Alternate Birth" : "BIRT",
243
"Alternate Death" : "DEAT",
245
"Bar Mitzvah" : "BARM",
246
"Bas Mitzvah" : "BASM",
249
"Cause Of Death" : "CAUS",
250
"Ordination" : "ORDI",
252
"Christening" : "CHR" ,
253
"Confirmation" : "CONF",
254
"Cremation" : "CREM",
256
"Divorce Filing" : "DIVF",
257
"Education" : "EDUC",
259
"Emigration" : "EMIG",
260
"First Communion" : "FCOM",
261
"Graduation" : "GRAD",
262
"Medical Information" : "",
263
"Military Service" : "",
264
"Naturalization" : "NATU",
265
"Nobility Title" : "TITL",
266
"Number of Marriages" : "NMR",
267
"Immigration" : "IMMI",
268
"Occupation" : "OCCU",
272
"Residence" : "RESI",
273
"Retirement" : "RETI",
277
#-------------------------------------------------------------------------
281
#-------------------------------------------------------------------------
283
personal_events = TransTable({
284
"Adopted" : _("Adopted"),
285
"Alternate Birth" : _("Alternate Birth"),
286
"Alternate Death" : _("Alternate Death"),
287
"Adult Christening" : _("Adult Christening"),
288
"Baptism" : _("Baptism"),
289
"Bar Mitzvah" : _("Bar Mitzvah"),
290
"Bas Mitzvah" : _("Bas Mitzvah"),
291
"Blessing" : _("Blessing"),
292
"Burial" : _("Burial"),
293
"Cause Of Death" : _("Cause Of Death"),
294
"Census" : _("Census"),
295
"Christening" : _("Christening"),
296
"Confirmation" : _("Confirmation"),
297
"Cremation" : _("Cremation"),
298
"Degree" : _("Degree"),
299
"Divorce Filing" : _("Divorce Filing"),
300
"Education" : _("Education"),
301
"Elected" : _("Elected"),
302
"Emigration" : _("Emigration"),
303
"First Communion" : _("First Communion"),
304
"Immigration" : _("Immigration"),
305
"Graduation" : _("Graduation"),
306
"Medical Information" : _("Medical Information"),
307
"Military Service" : _("Military Service"),
308
"Naturalization" : _("Naturalization"),
309
"Nobility Title" : _("Nobility Title"),
310
"Number of Marriages" : _("Number of Marriages"),
311
"Occupation" : _("Occupation"),
312
"Ordination" : _("Ordination"),
313
"Probate" : _("Probate"),
314
"Property" : _("Property"),
315
"Religion" : _("Religion"),
316
"Residence" : _("Residence"),
317
"Retirement" : _("Retirement"),
321
def display_pevent(st):
322
return personal_events.find_value(st)
325
return personal_events.find_key(st)
327
#-------------------------------------------------------------------------
329
# Merged functions for events: personal, family, whatever else
330
# there might be in the future.
332
#-------------------------------------------------------------------------
333
def display_event(st):
334
if personal_events.has_key(st):
335
return personal_events.find_value(st)
336
if family_events.has_key(st):
337
return family_events.find_value(st)
341
if personal_events.has_value(st):
342
return personal_events.find_key(st)
343
if family_events.has_value(st):
344
return family_events.find_key(st)
347
#-------------------------------------------------------------------------
351
#-------------------------------------------------------------------------
352
personalConstantAttributes = {
354
"Description" : "DSCR",
355
"Identification Number" : "IDNO",
356
"National Origin" : "NATI",
357
"Social Security Number": "SSN"
360
#-------------------------------------------------------------------------
364
#-------------------------------------------------------------------------
366
personal_attributes = TransTable({
367
"Caste" : _("Caste"),
368
"Description" : _("Description"),
369
"Identification Number" : _("Identification Number"),
370
"National Origin" : _("National Origin"),
371
"Social Security Number": _("Social Security Number")
374
def display_pattr(st):
375
return personal_attributes.find_value(st)
378
return personal_attributes.find_key(st)
380
#-------------------------------------------------------------------------
384
#-------------------------------------------------------------------------
385
familyConstantAttributes = {
386
"Number of Children" : "NCHI",
389
family_attributes = TransTable({"Number of Children" : _("Number of Children")})
391
def display_fattr(st):
392
return family_attributes.find_value(st)
395
return family_attributes.find_key(st)
397
#-------------------------------------------------------------------------
399
# Merged functions for attributes: personal, family, whatever else
400
# there might be in the future.
402
#-------------------------------------------------------------------------
403
def display_attr(st):
404
if personal_attributes.has_key(st):
405
return personal_attributes.find_value(st)
406
if family_attributes.has_key(st):
407
return family_attributes.find_value(st)
411
if personal_attributes.has_value(st):
412
return personal_attributes.find_key(st)
413
if family_attributes.has_value(st):
414
return family_attributes.find_key(st)
417
#-------------------------------------------------------------------------
419
# Family Relationship Translation table
421
#-------------------------------------------------------------------------
424
_("Married") : _("A legal or common-law relationship between a husband and wife"),
425
_("Unmarried"): _("No legal or common-law relationship between man and woman"),
426
_("Partners") : _("An established relationship between members of the same sex"),
427
_("Unknown") : _("Unknown relationship between a man and woman"),
428
_("Other") : _("An unspecified relationship between a man and woman")
431
family_relations = TransTable({
432
"Married" : _("Married"),
433
"Unmarried" : _("Unmarried"),
434
"Partners" : _("Partners"),
435
"Unknown" : _("Unknown"),
436
"Other" : _("Other"),
439
#-------------------------------------------------------------------------
443
#-------------------------------------------------------------------------
444
def relationship_def(txt):
445
if _frel2def.has_key(txt):
446
return _frel2def[txt]
448
return _("No definition available")
450
def display_frel(st):
451
return family_relations.find_value(st)
454
return family_relations.find_key(st)
456
#-------------------------------------------------------------------------
460
#-------------------------------------------------------------------------
462
NameTypesMap = TransTable({
463
"Also Known As" : _("Also Known As"),
464
"Birth Name" : _("Birth Name"),
465
"Married Name" : _("Married Name"),
466
"Other Name" : _("Other Name"),
469
#-------------------------------------------------------------------------
473
#-------------------------------------------------------------------------
474
def init_personal_event_list():
475
p = personal_events.get_values()
479
#-------------------------------------------------------------------------
483
#-------------------------------------------------------------------------
484
def init_marriage_event_list():
485
p = family_events.get_values()
489
#-------------------------------------------------------------------------
493
#-------------------------------------------------------------------------
494
def init_personal_attribute_list():
495
p = personal_attributes.get_values()
499
#-------------------------------------------------------------------------
503
#-------------------------------------------------------------------------
504
def init_family_attribute_list():
505
p = family_attributes.get_values()
509
#-------------------------------------------------------------------------
513
#-------------------------------------------------------------------------
514
def init_family_relation_list():
515
p = family_relations.get_values()
519
personalEvents = init_personal_event_list()
520
personalAttributes = init_personal_attribute_list()
521
marriageEvents = init_marriage_event_list()
522
defaultMarriageEvent = family_events.find_value("Marriage")
523
familyAttributes = init_family_attribute_list()
524
familyRelations = init_family_relation_list()
529
#Updated LDS Temple Codes from:
530
#http://www.geocities.com/rgpassey/temple/abclist.htm
531
#Confirmed against Temple Codes list recieved from Raliegh Temple
532
#Last update: 1/12/02
536
"Aba, Nigeria" : "ABA", #1 Added
537
"Accra, Ghana" : "ACCRA", #2 Added
538
"Adelaide, Australia" : "ADELA", #3 Added
539
"Albuquerque, New Mexico" : "ALBUQ", #4 Added
540
"Anchorage, Alaska" : "ANCHO", #6 Added
541
"Apia, Samoa" : "APIA", #7
542
"Asuncion, Paraguay" : "ASUNC", #8 Added
543
"Atlanta, Georgia" : "ATLAN", #9
544
"Baton Rouge, Louisiana" : "BROUG", #10 Added
545
"Bern, Switzerland" : "SWISS", #11
546
"Billings, Montana" : "BILLI", #12 Added
547
"Birmingham, Alabama" : "BIRMI", #13 Added
548
"Bismarck, North Dakota" : "BISMA", #14 Added
549
"Bogota, Columbia" : "BOGOT", #15
550
"Boise, Idaho" : "BOISE", #16
551
"Boston, Massachusetts" : "BOSTO", #17 Added
552
"Bountiful, Utah" : "BOUNT", #18
553
"Brisban, Australia" : "BRISB", #19 Added
554
"Buenos Aires, Argentina" : "BAIRE", #20
555
"Campinas, Brazil" : "CAMPI", #21 Added
556
"Caracas, Venezuela" : "CARAC", #22 Added
557
"Cardston, Alberta" : "ALBER", #23
558
"Chicago, Illinois" : "CHICA", #24
559
"Ciudad Juarez, Chihuahua" : "CIUJU", #25 Added
560
"Cochabamba, Boliva" : "COCHA", #26
561
"Colonia Juarez, Chihuahua" : "COLJU", #27 Added
562
"Columbia, South Carolina" : "COLSC", #28 Added
563
"Columbia River, Washington" : "CRIVE", #121 Added
564
"Columbus, Ohio" : "COLUM", #29 Added
565
"Copenhagen, Denmark" : "COPEN", #30 Added
566
"Curitiba, Brazil" : "CURIT",
567
"Manhattan, New York" : "MANHA",
568
"Panama City, Panama" : "PCITY",
569
"Dallas, Texas" : "DALLA", #31
570
"Denver, Colorado" : "DENVE", #32
571
"Detroit, Michigan" : "DETRO", #33 Added
572
"Edmonton, Alberta" : "EDMON", #34 Added
573
"Frankfurt, Germany" : "FRANK", #35
574
"Fresno, California" : "FRESN", #36 Added
575
"Freiberg, Germany" : "FREIB", #37
576
"Fukuoka, Japan" : "FUKUO", #38 Added
577
"Guadalajara, Jalisco" : "GUADA", #39 Added
578
"Guatamala City, Guatamala" : "GUATE", #40
579
"Guayaquil, Ecuador" : "GUAYA", #41
580
"Halifax, Noca Scotia" : "HALIF", #42 Added
581
"Hamilton, New Zealand" : "NZEAL", #43
582
"Harrison, New York" : "NYORK", #44 Added
583
"Hartford, Connecticut" : "HARTF", #Can not find in list used. ?
584
"Helsinki, Finland" : "HELSI", #45 Added
585
"Hermosillo, Sonora" : "HERMO", #46 Added
586
"Hong Kong, China" : "HKONG", #47
587
"Houston, Texas" : "HOUST", #48 Added
588
"Idaho Falls, Idaho" : "IFALL", #49
589
"Johannesburg, South Africa" : "JOHAN", #50
590
"Jordan River (South Jordan), Utah" : "JRIVE", #111
591
"Kialua Kona, Hawaii" : "KONA", #51 Added
592
"Kiev, Ukraine" : "KIEV", #52 Added
593
"Laie, Hawaii" : "HAWAI", #54
594
"Las Vegas, Nevada" : "LVEGA", #55
595
"Lima, Peru" : "LIMA" , #56
596
"Logan, Utah" : "LOGAN", #57
597
"London, England" : "LONDO", #58
598
"Los Angeles, California" : "LANGE", #59
599
"Louisville, Kentucky" : "LOUIS", #60 Added
600
"Lubbock, Texas" : "LUBBO", #61 Added
601
"Madrid, Spain" : "MADRI", #62
602
"Manila, Philippines" : "MANIL", #63
603
"Manti, Utah" : "MANTI", #64
604
"Medford, Oregon" : "MEDFO", #65 Added
605
"Melbourne, Australia" : "MELBO", #66 Added
606
"Melphis, Tennessee" : "MEMPH", #67 Added
607
"Merida, Yucatan" : "MERID", #68 Added
608
"Mesa, Arizona" : "ARIZO", #69
609
"Mexico City, Mexico" : "MEXIC", #70
610
"Monterrey, Nuevo Leon" : "MONTE", #71 Added
611
"Montevideo, Uruguay" : "MNTVD", #72
612
"Monticello, Utah" : "MONTI", #73 Added
613
"Montreal, Quebec" : "MONTR", #74 Added
614
"Mt. Timpanogos (American Fork), Utah" : "MTIMP", #5
615
"Nashville, Tennessee" : "NASHV", #75
616
"Nauvoo, Illinois" : "NAUVO", #76
617
"Nauvoo, Illinois (New)" : "NAUV2", #Rebuilt Added
618
"Newport Beach, California" : "NBEAC", #77 Added
619
"Nuku'alofa, Tonga" : "NUKUA", #78
620
"Oakland, California" : "OAKLA", #79
621
"Oaxaca, Oaxaca" : "OAKAC", #80 Added
622
"Ogden, Utah" : "OGDEN", #81
623
"Oklahoma City, Oklahoma" : "OKLAH", #82 Added
624
"Orlando, Florida" : "ORLAN", #84
625
"Palmayra, New York" : "PALMY", #85 Added
626
"Papeete, Tahiti" : "PAPEE", #86
627
"Perth, Australia" : "PERTH", #87 Added
628
"Portland, Oregon" : "PORTL", #88
629
"Porto Alegre, Brazil" : "PALEG", #89 Added
630
"Preston, England" : "PREST", #90
631
"Provo, Utah" : "PROVO", #91
632
"Raleigh, North Carolina" : "RALEI", #92 Added
633
"Recife, Brazil" : "RECIF", #93
634
"Redlands, California" : "REDLA", #94 Added
635
"Regina, Saskatchewan" : "REGIN", #95 Added
636
"Reno, Nevada" : "RENO", #96 Added
637
"Sacramento, California" : "SACRA", #97 Added
638
"St. George, Utah" : "SGEOR", #98
639
"St. Louis, Missouri" : "SLOUI", #99
640
"St. Paul, Minnesota" : "SPMIN", #100 Added
641
"Salt Lake City, Utah" : "SLAKE", #101
642
"San Diego, California" : "SDIEG", #102
643
"San Antonio, Texas" : "ANTON", #103 Added
644
"San Jose, Costa Rica" : "SJOSE", #104 Added
645
"Santiago, Chile" : "SANTI", #105
646
"Santo Domingo, Dominican Republic" : "SDOMI", #106
647
"Sao Paulo, Brazil" : "SPAUL", #107
648
"Seattle, Washington" : "SEATT", #108
649
"Seoul, South Korea" : "SEOUL", #109
650
"Snowflake, Arizona" : "SNOWF", #110 Added
651
"Spokane, Washington" : "SPOKA", #112
652
"Stockholm, Sweden" : "STOCK", #113
653
"Suva, Fiji" : "SUVA", #114 Added
654
"Sydney, Australia" : "SYDNE", #115
655
"Taipei, Taiwan" : "TAIPE", #116
656
"Tampico, Tamaulipas" : "TAMPI", #117 Added
657
"The Hague, Netherlands" : "HAGUE", #118 Added
658
"Tokyo, Japan" : "TOKYO", #119
659
"Toronto, Ontario" : "TORNO", #120
660
"Tuxtla Gutierrez, Chiapas" : "TGUTI", #122 Added
661
"Vera Cruz, Vera Cruz" : "VERAC", #123 Added
662
"Vernal, Utah" : "VERNA", #124
663
"Villahermosa, Tabasco" : "VILLA", #125 Added
664
"Washington, D.C." : "WASHI", #126
665
"Winter Quarters (Omaha), Nebraska" : "WINTE", #83 Added
667
"Endowment House" : "EHOUS", #Not a temple per se
668
"President's Office" : "POFFI", #Not a temple per se
673
lds_temple_to_abrev = {
674
"ABA" : "Aba, Nigeria",
675
"ACCRA": "Accra, Ghana",
676
"ADELA": "Adelaide, Australia",
677
"ALBUQ": "Albuquerque, New Mexico",
678
"ANCHO": "Anchorage, Alaska",
679
"APIA" : "Apia, Samoa",
680
"AP" : "Apia, Samoa",
681
"ASUNC": "Asuncion, Paraguay",
682
"ATLAN": "Atlanta, Georgia",
683
"AT" : "Atlanta, Georgia",
684
"BROUG": "Baton Rouge, Louisiana",
685
"SWISS": "Bern, Switzerland",
686
"SW" : "Bern, Switzerland",
687
"BILLI": "Billings, Montana",
688
"BIRMI": "Birmingham, Alabama",
689
"BISMA": "Bismarck, North Dakota",
690
"BOGOT": "Bogota, Columbia",
691
"BG" : "Bogota, Columbia",
692
"BOISE": "Boise Idaho",
693
"BO" : "Boise Idaho",
694
"BOSTO": "Boston, Massachusetts",
695
"BOUNT": "Bountiful, Utah",
696
"BRISB": "Brisban, Australia",
697
"BAIRE": "Buenos Aires, Argentina",
698
"BA" : "Buenos Aires, Argentina",
699
"CAMPI": "Campinas, Brazil",
700
"CARAC": "Caracas, Venezuela",
701
"ALBER": "Cardston, Alberta",
702
"CHICA": "Chicago, Illinois",
703
"CH" : "Chicago, Illinois",
704
"CIUJU": "Ciudad Juarez, Chihuahua",
705
"COCHA": "Cochabamba, Boliva",
706
"COLJU": "Colonia Juarez, Chihuahua",
707
"COLSC": "Columbia, South Carolina",
708
"CRIVE": "Columbia River, Washington",
709
"COLUM": "Columbus, Ohio",
710
"COPEN": "Copenhagen, Denmark",
711
"DALLA": "Dallas, Texas",
712
"DA" : "Dallas, Texas",
713
"DENVE": "Denver, Colorado",
714
"DV" : "Denver, Colorado",
715
"DETRO": "Detroit, Michigan",
716
"EDMON": "Edmonton, Alberta",
717
"FRANK": "Frankfurt, Germany",
718
"FR" : "Frankfurt, Germany",
719
"FRESN": "Fresno, California",
720
"FREIB": "Freiberg, Germany",
721
"FD" : "Freiberg, Germany",
722
"FUKUO": "Fukuoka, Japan",
723
"GUADA": "Guadalajara, Jalisco",
724
"GUATE": "Guatamala City, Guatamala",
725
"GA" : "Guatamala City, Guatamala",
726
"GUAYA": "Guayaquil, Ecuador",
727
"GY" : "Guayaquil, Ecuador",
728
"HALIF": "Halifax, Noca Scotia",
729
"NZEAL": "Hamilton, New Zealand",
730
"NZ" : "Hamilton, New Zealand",
731
"NYORK": "Harrison, New York",
732
"HARTF": "Hartford, Connecticut",
733
"HELSI": "Helsinki, Finland",
734
"HERMO": "Hermosillo, Sonora",
735
"HKONG": "Hong Kong, China",
736
"HOUST": "Houston, Texas",
737
"IFALL": "Idaho Falls, Idaho",
738
"JOHAN": "Johannesburg, South Africa",
739
"JO" : "Johannesburg, South Africa",
740
"JRIVE": "Jordan River (South Jordan), Utah",
741
"JR" : "Jordan River (South Jorhan), Utah",
742
"KONA" : "Kialua Kona, Hawaii",
743
"KIEV" : "Kiev, Ukraine",
744
"HAWAI": "Laie, Hawaii",
745
"HA" : "Laie, Hawaii",
746
"LVEGA": "Las Vegas, Nevada",
747
"LV" : "Las Vegas, Nevada",
748
"LIMA" : "Lima, Peru",
750
"LOGAN": "Logan, Utah",
751
"LG" : "Logan, Utah",
752
"LONDO": "London, England",
753
"LD" : "London, England",
754
"LANGE": "Los Angeles, California",
755
"LA" : "Los Angeles, California",
756
"LOUIS": "Louisville, Kentucky",
757
"LUBBO": "Lubbock, Texas",
758
"MADRI": "Madrid, Spain",
759
"MANIL": "Manila, Philippines",
760
"MA" : "Manila, Philippines",
761
"MANTI": "Manti, Utah",
762
"MT" : "Manti, Utah",
763
"MEDFO": "Medford, Oregon",
764
"MELBO": "Melbourne, Australia",
765
"MEMPH": "Melphis, Tennessee",
766
"MERID": "Merida, Yucatan",
767
"ARIZO": "Mesa, Arizona",
768
"AZ" : "Mesa, Arizona",
769
"MEXIC": "Mexico City, Mexico",
770
"MX" : "Mexico City, Mexico",
771
"MONTE": "Monterrey, Nuevo Leon, Mexico",
772
"MNTVD": "Montevideo, Uruguay",
773
"MONTI": "Monticello, Utah",
774
"MONTR": "Montreal, Quebec",
775
"MTIMP": "Mt. Timpanogos (American Fork), Utah",
776
"NASHV": "Nashville, Tennessee",
777
"NAUVO": "Nauvoo, Illinois",
778
"NAUV2": "Nauvoo, Illinois (New)",
779
"NBEAC": "Newport Beach, California",
780
"NUKUA": "Nuku'alofa, Tonga",
781
"TG" : "Nuku'alofa, Tonga",
782
"OAKLA": "Oakland, California",
783
"OK" : "Oakland, California",
784
"OAKAC": "Oaxaca, Oaxaca",
785
"OGDEN": "Ogden, Utah",
786
"OG" : "Ogden, Utah",
787
"OKLAH": "Oklahoma City, Oklahoma",
788
"ORLAN": "Orlando, Florida",
789
"PALMY": "Palmayra, New York",
790
"PAPEE": "Papeete, Tahiti",
791
"TA" : "Papeete, Tahiti",
792
"PERTH": "Perth, Australia",
793
"PORTL": "Portland, Oregon",
794
"PT" : "Portland, Oregon",
795
"PALEG": "Porto Alegre, Brazil",
796
"PREST": "Preston, England",
797
"PROVO": "Provo, Utah",
798
"PV" : "Provo, Utah",
799
"RALEI": "Raleigh, North Carolina",
800
"RECIF": "Recife, Brazil",
801
"REDLA": "Redlands, California",
802
"REGIN": "Regina, Saskatchewan",
803
"RENO" : "Reno, Nevada",
804
"SACRA": "Sacramento, California",
805
"SGEOR": "St. George, Utah",
806
"SG" : "St. George, Utah",
807
"SLOUI": "St. Louis, Missouri",
808
"SPMIN": "St. Paul, Minnesota",
809
"SLAKE": "Salt Lake City, Utah",
810
"SL" : "Salt Lake City, Utah",
811
"SDIEG": "San Diego, California",
812
"SA" : "San Diego, California",
813
"ANTON": "San Antonio, Texas",
814
"SJOSE": "San Jose, Costa Rica",
815
"SANTI": "Santiago, Chile",
816
"SN" : "Santiago, Chile",
817
"SDOMI": "Santo Domingo, Dominican Republic",
818
"SPAUL": "Sao Paulo, Brazil",
819
"SP" : "Sao Paulo, Brazil",
820
"SEATT": "Seattle, Washington",
821
"SE" : "Seattle, Washington",
822
"SEOUL": "Seoul, South Korea",
823
"SO" : "Seoul, South Korea",
824
"SNOWF": "Snowflake, Arizona",
825
"SPOKA": "Spokane, Washington",
826
"STOCK": "Stockholm, Sweden",
827
"ST" : "Stockholm, Sweden",
828
"SUVA" : "Suva, Fiji",
829
"SYDNE": "Sydney, Australia",
830
"SD" : "Sydney, Australia",
831
"TAIPE": "Taipei, Taiwan",
832
"TP" : "Taipei, Taiwan",
833
"TAMPI": "Tampico, Tamaulipas",
834
"HAGUE": "The Hague, Netherlands",
835
"TOKYO": "Tokyo, Japan",
836
"TK" : "Tokyo, Japan",
837
"TORNO": "Toronto, Ontario",
838
"TR" : "Toronto, Ontario",
839
"TGUTI": "Tuxtla Gutierrez, Chiapas",
840
"VERAC": "Vera Cruz, Vera Cruz",
841
"VERNA": "Vernal, Utah",
842
"VILLA": "Villahermosa, Tabasco",
843
"WASHI": "Washington, D.C.",
844
"WA" : "Washington, D.C.",
845
"WINTE": "Winter Quarters (Omaha), Nebraska",
847
"EHOUS": "Endowment House",
848
"EH" : "Endowment House",
849
"POFFI": "President's Office",
853
"BIC" : 1, "CANCELED" : 1, "CHILD" : 1,
854
"CLEARED" : 2, "COMPLETED" : 3, "DNS" : 4,
855
"INFANT" : 4, "PRE-1970" : 5, "QUALIFIED" : 6,
856
"DNS/CAN" : 7, "STILLBORN" : 7, "SUBMITTED" : 8,
861
_("<No Status>"), _("Child"), _("Cleared"), _("Completed"),
862
_("Infant"), _("Pre-1970"), _("Qualified"), _("Stillborn"),
863
_("Submitted"), _("Uncleared"),
867
_("<No Status>"), _("BIC"), _("Cleared"), _("Completed"),
868
_("DNS"), _("Pre-1970"), _("Qualified"), _("Stillborn"),
869
_("Submitted"), _("Uncleared"),
873
_("<No Status>"), _("Canceled"), _("Cleared"), _("Completed"),
874
_("DNS"), _("Pre-1970"), _("Qualified"), _("DNS/CAN"),
875
_("Submitted"), _("Uncleared"),
878
logical_functions = ['or', 'and', 'xor', 'one']