Compare commits

..

138 Commits

Author SHA1 Message Date
9d3c20898c update for 3.1.0 release
svn: r12235
2009-03-07 09:32:31 +00:00
b2a8a557ab applied optim.patch from bug #2763 (thanks Benny!) and further suggestions for evel.glade and leeak.lade (thanksm Jérôm!)
svn: r12234
2009-03-07 08:36:09 +00:00
4f92f8d713 2774: po/es.po missing a '\n' causes msgfmt to fail (patch provided by James A. Treacy)
svn: r12233
2009-03-06 19:29:37 +00:00
708ab325bd typo on header
svn: r12232
2009-03-06 13:26:01 +00:00
9fa3b9a9d2 update slovak translation (by Lubo Vasko)
svn: r12231
2009-03-06 13:03:56 +00:00
7cdbc88fc3 Updates and fixes.
svn: r12230
2009-03-05 16:49:12 +00:00
3153f10118 Revised Norwegian Bokmål/Nynorsk to 100%
svn: r12229
2009-03-05 12:30:29 +00:00
8efc6f0184 print more text if gettext file does not use last gramps.pot
svn: r12227
2009-03-05 12:18:53 +00:00
797075b59f update README with optional enchant
svn: r12225
2009-03-05 12:17:09 +00:00
95e5848d03 2764: use pyenchant for testing installed spell check dictionaries
svn: r12224
2009-03-05 12:11:57 +00:00
05f91734e2 Partial update
svn: r12223
2009-03-05 12:10:57 +00:00
15a9ca94f3 Corrected typo.
svn: r12221
2009-03-05 12:04:37 +00:00
e43452178c Super Extra Final update of Swedish translation.
svn: r12220
2009-03-05 12:00:13 +00:00
722af724f9 Partial update
svn: r12219
2009-03-05 08:36:34 +00:00
d0606fe836 update nl.po
svn: r12218
2009-03-05 07:02:22 +00:00
9ccef7848e keep 3rd party gramplet references
svn: r12216
2009-03-04 22:38:37 +00:00
37063335fe Bug #2768: .rtf report disrespects DDR-FirstEntry style
svn: r12215
2009-03-04 22:31:10 +00:00
69dbf66558 Extra Final update of Swedish translation.
svn: r12214
2009-03-04 21:29:47 +00:00
65c3b60c55 try to avoid mistakes on translations
svn: r12212
2009-03-04 17:46:49 +00:00
f0c39aae21 enable new Macedonian and Albanian translations
svn: r12210
2009-03-04 11:05:09 +00:00
42fbb1aa57 update Slovak translation (by Lubo Vasko)
svn: r12208
2009-03-03 14:59:54 +00:00
6e2827a62e add Macedonian and Albanian translations (references not yet added on configure.in)
svn: r12207
2009-03-03 14:41:56 +00:00
6dbc57aaac typo
svn: r12206
2009-03-03 13:23:44 +00:00
31fb009b66 Partial update
svn: r12205
2009-03-03 06:08:08 +00:00
6f43a05424 reorder entries
svn: r12203
2009-03-02 17:14:16 +00:00
c2a49e1dd8 Align with gramps30
svn: r12201
2009-03-02 14:30:19 +00:00
0dda10baf9 update nl.po
svn: r12200
2009-03-02 07:14:08 +00:00
8ce73d3956 Final update of Swedish translation.
svn: r12198
2009-03-01 20:51:58 +00:00
1a2b50e645 Updated German translation
svn: r12197
2009-03-01 18:24:08 +00:00
cc52eab90d 2747: XML: RNG & DTD need to be moved onto web site; updated RNG to include dualdated and newyear attributes
svn: r12195
2009-03-01 15:35:58 +00:00
fee2d84f67 Update copyright message for 2009
svn: r12193
2009-03-01 13:03:11 +00:00
a614049b08 2760: Removed config.sub and config.guess; passes distcheck
svn: r12192
2009-03-01 12:58:41 +00:00
1d7d2c5289 2760: errors in 'make distcheck'
svn: r12191
2009-03-01 12:46:04 +00:00
b5f738859a Remove assert as a means of testing for self.title
svn: r12188
2009-03-01 12:16:43 +00:00
ae56bee828 add Polish translator
svn: r12186
2009-03-01 10:59:27 +00:00
254930fc55 add some contributors
svn: r12184
2009-03-01 10:55:14 +00:00
c200651f74 add russian translator (October 15, 2008)
svn: r12182
2009-03-01 10:43:18 +00:00
7f7b155e36 add some contributors
svn: r12181
2009-03-01 10:37:08 +00:00
02a02b8499 add some translators
svn: r12178
2009-03-01 10:28:13 +00:00
890be35845 Web_Visually --had a problem with repeating gender symbols. All other had a problem with street address.
svn: r12176
2009-03-01 04:55:28 +00:00
e16e91d973 Fixes graphic name error. --Jason M. Simanek
svn: r12174
2009-03-01 03:17:31 +00:00
72f4ca9df9 Fixes the Ancestor Tree Unlinked Person's issue. Thanks a million, Jason.
svn: r12172
2009-03-01 03:06:42 +00:00
0bfb3a622d Fix for bug 2759: Error on Marker report (notes)
svn: r12170
2009-02-28 22:17:09 +00:00
c34b30fa0d Removed Records Gramplet... in different place
svn: r12167
2009-02-28 21:36:58 +00:00
5417a69408 Added missing Records Gramplet
svn: r12166
2009-02-28 21:28:19 +00:00
5c04db932d Added missing Records Gramplet
svn: r12165
2009-02-28 21:25:45 +00:00
146dcc3773 Removed FaqGramplet and HeadlineNewsGramplet as they are not complete
svn: r12164
2009-02-28 20:09:43 +00:00
3cf4da5cee minimal changes to allow updated gramplets in user's .gramps/plugins directory
svn: r12163
2009-02-28 20:00:38 +00:00
57ed71a842 add -O flag to python to remove debug menu options
svn: r12162
2009-02-28 18:48:36 +00:00
06d28806f3 Added version numbers for 3rd party gramplets
svn: r12161
2009-02-28 18:35:17 +00:00
c4d27e603d Updated Lithuanian translation
svn: r12160
2009-02-28 14:19:33 +00:00
20baece6b3 Fixed error in display_year_navs() which also affects the Visually Impaired stylesheet.
svn: r12158
2009-02-28 11:48:43 +00:00
666df8e6f2 DateParserDisplayTest.py is a debug tool but runs always, only run when debug
svn: r12157
2009-02-28 09:19:39 +00:00
e498b18d52 Data changing GRAMPLETS are not distributed on install, user
must download them


svn: r12154
2009-02-28 09:04:51 +00:00
3ebb888cce Updated Lithuanian translation
svn: r12151
2009-02-27 20:14:36 +00:00
dabf4f4756 2745: PlaceView crash on old pygtk
svn: r12149
2009-02-27 17:55:49 +00:00
dda2662b0b Norwegian Bokmål translation completed 100%
svn: r12147
2009-02-27 17:37:28 +00:00
d1ae849c1b typo on slovak translation
svn: r12145
2009-02-27 16:07:07 +00:00
237c4a055b update slovak translation
svn: r12144
2009-02-27 15:59:58 +00:00
fbd2afdf8c 2730: numeric dates on windows not correct
svn: r12142
2009-02-27 07:35:29 +00:00
844cb231c7 Fixed wrong translation of Records
svn: r12140
2009-02-26 20:21:28 +00:00
eb42ce4ce2 Update of sv.po.
svn: r12138
2009-02-26 16:48:19 +00:00
ecc30300d4 update nl.po
svn: r12135
2009-02-26 10:28:34 +00:00
a533c3abd4 2748: Some URLs still point user to wiki manual version 3.0
svn: r12130
2009-02-26 09:51:19 +00:00
1edbdc33d9 2748: Some URLs still point user to wiki manual version 3.0
svn: r12129
2009-02-26 09:36:41 +00:00
9b017678ad 2748: Some URLs still point user to wiki manual version 3.0
svn: r12127
2009-02-26 09:23:40 +00:00
d7c5e02a55 update Finnish translation (byJanne Kovesjärvi)
svn: r12124
2009-02-26 09:01:32 +00:00
2445590149 Update ca.po
svn: r12121
2009-02-25 23:05:14 +00:00
0f2d8769f0 57 fuzzies and 2 not translated strings in Norwegian Bokmål language file
svn: r12119
2009-02-25 20:55:43 +00:00
a7e6e1b089 158 fuzzies left to be revised in Norwegian Bokmål translation file
svn: r12118
2009-02-25 20:31:29 +00:00
e36ffede8e Corrected some typos in Norwegian Nynorsk translation
svn: r12117
2009-02-25 20:30:51 +00:00
bac46805f9 Removed ExportSql.py from Makefile.am
svn: r12114
2009-02-25 03:31:45 +00:00
1e0e05a43e update danish translation (by Morten Bo Johansen)
svn: r12113
2009-02-24 17:22:57 +00:00
cd04faca60 update polish translation (by Łukasz Rymarczyk)
svn: r12111
2009-02-24 17:16:11 +00:00
86d0cc8b26 Added and deleted some files that Brian listed.
svn: r12108
2009-02-24 08:38:26 +00:00
2f2a0712a0 0002655: Directories and files with accents characters cause failures in Windows.
svn: r12105
2009-02-24 04:30:47 +00:00
8ca8e2f4bd Added or fixed the name in revision numbering.
svn: r12104
2009-02-24 03:42:55 +00:00
c645246b2c Bugs 2742, 2743: Detaching a minimized gramplet doesn't run update; Changing columns in gramplet view expands minimized gramplets
svn: r12102
2009-02-24 00:11:52 +00:00
8de51db5fe Updating Catalan. Almost there!
svn: r12100
2009-02-23 23:36:48 +00:00
795a745793 Updated German translation
svn: r12097
2009-02-23 19:04:23 +00:00
3d057838ff new template (mistake on some ChangedSince filter rules) and update french translation
svn: r12096
2009-02-23 18:23:45 +00:00
cc6e62dc66 mistake on names and descriptions (after date)
svn: r12094
2009-02-23 18:19:04 +00:00
c98e4e94df mistake on names and descriptions (after date)
svn: r12093
2009-02-23 18:16:52 +00:00
5224211634 Norwegian Nynorsk translation file revised to 100%
svn: r12092
2009-02-23 09:01:56 +00:00
04bb731620 Swedish update.
svn: r12091
2009-02-23 07:46:59 +00:00
c1274ebdef bug #2737 - remove alphabet navigation from surnames_count web page
svn: r12088
2009-02-23 02:04:55 +00:00
d6d7855caa bug #2736 - fix 'link-home' feature
svn: r12087
2009-02-23 01:47:39 +00:00
c844f30bd0 Translation updates and fixes.
svn: r12085
2009-02-22 23:47:43 +00:00
505ab40201 Revised Norwegian Bokmål translation...still more to do
svn: r12084
2009-02-22 21:16:50 +00:00
4937994904 Revert revision 10874 as it causes bug #2720
svn: r12083
2009-02-22 20:59:13 +00:00
1c556b7134 Revised Norwegian Nynorsk translation. Thanks to Sigmund Lorentsen in DIS-Norge
svn: r12081
2009-02-22 20:41:15 +00:00
ba5c5835f9 Updated German translation
svn: r12079
2009-02-22 20:19:32 +00:00
6b78d5ae01 fix bug #2709 - fail don't crash if db has no active person (thanks Jérôme for the patch)
svn: r12078
2009-02-22 19:54:17 +00:00
56de9475f6 get rid of the beta warning (same fix as in gramps30 -- delete the entire function)
svn: r12077
2009-02-22 19:35:05 +00:00
a92154970b my fault -- previous checkin of gramps.pot was done prior to getting the fixed strings
svn: r12076
2009-02-22 19:25:24 +00:00
7fce761948 new pot file
svn: r12073
2009-02-22 11:09:56 +00:00
80e78696ab typo: to many-> too many
svn: r12070
2009-02-22 10:08:13 +00:00
6f3186c82c typo: Create Commons->Creative Commons
svn: r12069
2009-02-22 10:06:32 +00:00
9884160929 bug #2692, fix css problem where image borders were not being drawn
svn: r12067
2009-02-22 02:52:33 +00:00
b7805d90a8 Updating catalan translation
svn: r12065
2009-02-22 00:12:36 +00:00
7163ce148a Fix memory leak in DbManager
svn: r12064
2009-02-21 21:05:45 +00:00
9bb68012d5 Removed code, that was committed by mistake.
svn: r12061
2009-02-21 07:15:51 +00:00
d5781b27a7 Updated German translation
svn: r12060
2009-02-21 01:01:14 +00:00
54a0d23f27 GeoView : too many simplification after pylint : missing argument error.
svn: r12058
2009-02-20 21:56:43 +00:00
7457c9f5f6 Make size eventref editor independant of language noplace text is in
svn: r12055
2009-02-20 13:31:17 +00:00
8236591a71 update french translation
svn: r12054
2009-02-20 12:01:00 +00:00
41fadda92b Swedish update.
svn: r12053
2009-02-20 07:35:39 +00:00
dbb777d411 More code cleanup in get_day_list() with help from Kees Bakker.
svn: r12051
2009-02-20 02:21:46 +00:00
66753f3d3b GeoView : forgot to make a string translatable in the html page.
svn: r12049
2009-02-19 21:07:18 +00:00
9da589e7b7 Revert _has_webpage_extension to what it was before.
svn: r12048
2009-02-19 20:42:13 +00:00
beda493165 CSS is case sensitive, I think. Use body id "WebCal" instead of "webcal".
svn: r12047
2009-02-19 20:25:36 +00:00
2799d50a90 Solved bug #2722 as suggested by Stephen George. Names of weekdays were
not correct (off by two days). Only systems that do not have a proper
locale.nl_langinfo were (Windows) affected by this bug.


svn: r12046
2009-02-19 20:14:37 +00:00
06819df7ac update nl.po
svn: r12045
2009-02-19 19:53:41 +00:00
3700908cdc Removed backslash character in middle of translation string as per Benny.
svn: r12042
2009-02-19 19:12:05 +00:00
66f9048cb8 Updated German translation
svn: r12041
2009-02-19 18:13:31 +00:00
3b2deb1021 Fixed USA Holidays error. Upon moving United States to the top of the holidays.xml file as asked, it no longer was giving holidays for USA.
svn: r12039
2009-02-19 17:27:12 +00:00
5ae168c618 Update Swedish translation.
svn: r12038
2009-02-19 17:01:11 +00:00
dd8be64503 update french translation
svn: r12037
2009-02-19 15:03:53 +00:00
f076668200 update some tips
svn: r12034
2009-02-19 13:05:50 +00:00
d0d3849250 #2726 #2641 To improve informations on dialog
svn: r12032
2009-02-19 12:52:41 +00:00
408c7cf4a4 update nl.po
svn: r12030
2009-02-19 09:54:02 +00:00
a84ee1da33 Display markup correctly for fields that may contain it
svn: r12029
2009-02-18 19:02:28 +00:00
bf24fcee1f GeoView : synchronize with trunk for last update.
svn: r12027
2009-02-18 15:42:36 +00:00
c595f6d4b0 2725: End Of Line Report not flowing over page boundaries
svn: r12026
2009-02-17 21:20:08 +00:00
31e4cf1114 Updated German translation
svn: r12024
2009-02-17 18:39:23 +00:00
548e8d20c3 Remove CmdRef.py from POTFILES.in.
svn: r12023
2009-02-17 05:11:54 +00:00
e6f1e2a82e Remove the Command Line Reference plugin from being distributed. It is no longer supported.
svn: r12020
2009-02-17 05:02:08 +00:00
512231d54b Updates and fixes.
svn: r12019
2009-02-17 00:22:51 +00:00
f55b046171 Fixed wrong translation of Records
svn: r12018
2009-02-16 21:39:40 +00:00
a1cc0b2788 Updated German translation
svn: r12017
2009-02-16 21:02:00 +00:00
eda3cd2c94 Some work on Norwegian Bokmål translation
svn: r12016
2009-02-16 19:59:07 +00:00
c0053b6117 update french translation
svn: r12014
2009-02-16 17:03:13 +00:00
bcf2cd4fa4 Bug 2707: reverting linkbox change from r10763
svn: r12012
2009-02-16 13:43:12 +00:00
63aa9b9ea3 Swedish update for 3.1
svn: r12009
2009-02-16 11:31:37 +00:00
d9937bcfc3 Norwegian translation files ready to be revised
svn: r12008
2009-02-16 11:29:05 +00:00
ee46a8f43a Missed a tab/space
svn: r12007
2009-02-16 10:54:01 +00:00
6f1ad8ce5a Forgot to update with eniroswedenmap. It's ok in POTFILES.in
svn: r12005
2009-02-16 10:44:19 +00:00
249efbaa53 Create the GRAMPS 3.1 maintenance branch. All releases in the GRAMPS 3.1.x series will come from this branch.
svn: r12001
2009-02-16 04:28:24 +00:00
2503 changed files with 850233 additions and 1636853 deletions

View File

@ -1,11 +0,0 @@
import os
from distutils2.util import find_packages
exclude_list = ('src.gui.glade', 'src.guiQML', 'src.guiQML.views', 'src.images', 'src.plugins',
'src.webapp', 'src.webapp.grampsdb', 'src.webapp.grampsdb.templatetags', 'src.webapp.grampsdb.view', )
packages = sorted(find_packages(exclude=exclude_list))
for package in packages:
print(" '%s'," % package)

12
.gitignore vendored
View File

@ -1,12 +0,0 @@
# Python
*.py[cod]
# Distutils
build/
sdist/
# Gramps
gramps/data/tips.xml
gramps/gen/const.py
gramps/plugins/lib/holidays.xml
po/.intltool-merge-cache

95
AUTHORS
View File

@ -1,94 +1,17 @@
<!-- $Id$ -->
Donald N. Allingham ** Concept and main design
David Hampton ** Autocomp.py and Report.py
Alex Roitman shura@gramps-project.org
Donald A. Peterson ** Makefiles, LaTeXDoc.py
Arturas Sleinius asleinius@users.sourceforge.net
Alex Roitman ** BookReport, command line, Gramps manual, bugfixes
Benny Malengier benny.malengier@gramps-project.org
Tim Waugh ** Comprehensive Ancestor report, docgen, Makefiles, bugfixes
Boril Gourinov boril.gourinov@gmail.com
Martin Hawlisch - Filters
Brian Matherly brian@gramps-project.org
Richard Taylor - ScratchPad.py, GrampsDBCallback.py
Craig J. Anderson ander882@hotmail.com
Brian Matherly - Reports
Don Allingham don@gramps-project.org
Donald A. Peterson
Doug Blank doug.blank@gmail.com
Eero Tamminen eerot@users.sourceforge.net
Erik De Richter erikdrgm@users.sourceforge.net
Espen Berg espenbe@gmail.com
Gary Burton gary.burton@zen.co.uk
Gerald Britton gerald.britton@gmail.com
James G Sack jgsack@san.rr.com
Janne Kovesjärvi janne.kovesjarvi@gmail.com
Jason Simanek jsimanek@gmail.com
Jérôme Rapinat romjerome@yahoo.fr
Joan Creus joan.creus@gmail.com
Josip Pisoj josip@pisoj.com
Julio Sánchez julio.sanchez@gmail.com
Kees Bakker kees.bakker@xs4all.nl
Konstantin Dorichev kdorichev@gmail.com
Lubo Vasko pgval@inMail.sk
Luigi Toscano luigi.toscano@tiscali.it
Luiz Gonzaga dos Santos Filho lfilho@gmail.com
Łukasz Rymarczyk yenidai@poczta.onet.pl
Michiel Nauta m.d.nauta@hetnet.nl
Mirko Leonhäuser mirko@leonhaeuser.de
Morten Bo Johansen mbj@spamcop.net
Martin Hawlisch martin.hawlisch@gmx.de
Nick Hall nick__hall@hotmail.com
Peter Landgren peter.talken@telia.com
Raphael Ackermann raphael.ackermann@gmail.com
Richard Taylor rjt-gramps@thegrindstone.me.uk
Rob G. Healey robhealey1@gmail.com
Serge Noiraud Serge.Noiraud@free.fr
Sigmund Lorentsen sigmund.lorentsen@tele2.no
Stefan Bjork betula@users.sourceforge.net
Stéphane Charette stephanecharette@gmail.com
Tim G L Lyons tim.g.lyons@gmail.com
Tim Waugh twaugh@redhat.com
Vassilii Khachaturov vassilii@tarunz.org
Zdeněk Hataš zdenek.hatas@gmail.com
Zsolt Foldvari zfoldvar@users.sourceforge.net
John Ralls jralls@ceridwen.us
$Id$

View File

@ -1,30 +0,0 @@
#
# Gramps - a GTK+/GNOME based genealogy program
#
# Copyright (C) 2012 Benny Malengier
#
# 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 is a stub to start Gramps. It is provided for the sole reason of being
able to run gramps from the source directory without setting PYTHONPATH
From this position, import gramps works great
"""
import gramps.grampsapp as app
app.main()

153
INSTALL
View File

@ -4,98 +4,85 @@ This file contains some useful details on the installation from source code
for GRAMPS. It does not cover installation of a pre-built binary package.
For that use your package manager, the rest is already done by the packager.
Uninstall old version
---------------------
If you do a source install in the same place of an existing install,
you need to remove the old version first. You can delete the old
version by deleting the installed directories (for example,
/usr/share/gramps
/usr/local/lib/pythonx.x/site-packages/gramps
/usr/local/lib/pythonx.x/dist-packages/gramps
/usr/lib/pythonx.x/site-packages/gramps
/usr/lib/pythonx.x/dist-packages/gramps
where pythonx.x is python2.7 or whatever version you installed gramps with.
Also remove the gramps .egg files that are installed along the gramps directory.
If you don't know the list of all files that Gramps installed, you can reinstall
it with the --record option, and take a look at the list this produces (so
python setup.py install --record grampsfiles.txt
GRAMPS is a python application, so loading happens on reading the
files, meaning that files of a previous version that are no longer
present in the new version can still be loaded, making the new install
unstable!
distutils install
-----------------
We do not check all dependencies of Gramps, see README for a
list of all required and optional dependencies. On running Gramps, errors will
be returned if dependencies are missing.
configure vs autogen scripts
----------------------------
If you are building from released tarball, you should be able to just
run
run "./configure && make". However, if you're building from the SVN,
the configure is not present. You should auto-generate it by
running ./autogen.sh and then "make" and, finally, "make install".
python setup.py build
python setup.py install
where the last must be done as root. You can work with Gramps if you only build
it by pointing the PYTHONPATH to the build directory, but things like MIME type
and desktop entries will not be created then.
Typical install directories in linux (ubuntu) are:
* /usr/local/lib/python2.7/dist-packages/gramps/ : the gramps python module
* /usr/local/share/mime-info : mime info so gramps opens files automatically
* /usr/local/share/icons/gnome : our icons
* /usr/local/share/doc/gramps : documentation, also example .gramps and .gedcom
* /usr/local/bin : the gramps executable
* /usr/local/share/locale/xx/LC_MESSAGES : xx language code, translation
* /usr/local/share/man/man1/xx/man1 : xx language code, man file
* /usr/local/share/mime
* /usr/local/share/mime-info
Running Gramps
--------------
Gramps is python only, so no compilation is needed, you can even run gramps
from the source directory.
a) You installed Gramps, then you can run it with the command
gramps
b) You installed Gramps, and want to start it from the PYTHONPATH. In this
case use the command:
python -c 'from gramps.grampsapp import main; main()'
The executable 'gramps' in /usr/local/bin or /usr/bin from a) does
this for you.
b) You downloaded the Gramps source code to a directory, and want to run it.
First, copy/rename the gramps/gen/const.py.in to gramps/gen/const.py.
Edit this file if needed. Now you can start Gramps from the source code
directory with
python Gramps.py
Running ./autogen.sh on this branch of gramps requires the following
packages to be installed:
* autoconf >=2.53
* automake >=1.9
* intltool >=0.25
* glib-gettext >=2.2.0, included in libglib2.0-dev (may be called
differently on other distros) and maybe something else. If autogen.sh
fails, it should inform you what's missing.
Custom directory installation
-------------------------------------
If you would like to install GRAMPS without being root, or in an
alternative location on windows, supply the --root argument to setup.py
Regular vs local installation
-----------------------------
This version of gramps REQUIRES, among other things, the mime types for
gramps be properly installed.
For example:
python setup.py install --root ~/test
or
python setup.py install --root ~/test --enable-packager-mode
The usual ./configure, make, and make install as a root should do the trick.
But be careful if you're using the non-default options or would like
to install without being root.
The latter is possible, but you should supply additional arguments to
autogen or configure:
--with-mime-dir=$HOME/.local/share/mime
Most likely, such local install will also need some prefix with write
permissions for you:
--prefix=$HOME/my_gramps_path
Whether you're doing local install or regular install, YOU MUST INSTALL
MIME TYPES. YOU HAVE BEEN WARNED!
Installing under non-default prefix
-----------------------------------
As hinted above, mime types for gramps MUST be properly installed.
The "proper install" means installing them where the shared mime system
will find them.
By default, the shared mime systems will look in these places:
1. /usr/share/mime
2. /usr/local/share/mime : this may be broken on some systems
3. $HOME/.local/share/mime : this is a per-user setup, not system-wide
There's a number of ways to instruct the shared mime system
to look in other places, but this is the whole other story.
So if you install some place other than /usr/share, you will most
likely need to add this option to autogen.sh/configure scripts:
--with-mime-dir=/usr/share/mime
Using the --prefix=/usr/share and installing as a root will most
likely do everything correctly, so no extra care needs to be
taken. You should take extra care only if you are installing under
something like --prefix=/usr/local/my_gramps, /var/gramps123/blah, etc.
The last option, --enable-packager-mode, is needed if you want to disable
execution of post-install mime processing. If you don't have root/admin
access, this will be needed
Packager's issues
------------------
There is a MANIFEST.in file to indicate the work needed.
To create a source distribution run:
The above mime types must be installed. However, the
update-mime-database call to process the newly installed types and
schemas must be done in POST-INSTALLATION.
python setup.py sdist
In packager's world, the install happens on packager's machine
into something like /tmp/gramps-tmp. However, the postinstall
should happen on the user's machine.
To assist with that, there's an argument available in configure
(or autogen, which will pass it to configure) which disables
mime type processing:
--enable-packager-mode
This argument should disable postinstall calls made during
make install, and print a nasty warning during configure.
IT IS PACKAGER'S RESPONSIBILITY to follow the advice given
by the configure output and to copy the appropriate code
from the data/Makefile.am into the post-install (and post-uninstall)
of the particular packaging system.

View File

@ -1,44 +0,0 @@
include AUTHORS
include COPYING
include FAQ
include INSTALL
include LICENSE
include MANIFEST.in
include NEWS
include RELEASE_NOTES
include TODO
include TestPlan.txt
recursive-include data *
recursive-include debian *
recursive-include docs *
recursive-include help *
recursive-include mac *
recursive-include po *
recursive-include gramps *
recursive-include test *
recursive-include windows *
# Remove files created in the build
exclude data/gramps.desktop
exclude data/gramps.keys
exclude data/gramps.xml
recursive-exclude data/man *.1
recursive-exclude data/man *.1.gz
exclude gramps/const.py
exclude gramps/data/tips.xml
exclude gramps/plugins/lib/holidays.xml
exclude po/*.gmo
exclude po/.intltool-merge-cache
exclude po/stamp-it
exclude po/POTFILES
global-exclude *.pyc
global-exclude *.py~
global-exclude *.pyo
global-exclude *.bak
# Remove directories which should not be included in the distribution
prune gramps/guiQML
prune gramps/webapp
# Remove Makefiles used by autotools
global-exclude Makefile*

35
Makefile.am Normal file
View File

@ -0,0 +1,35 @@
# This is the top level Makefile for Gramps
# $Id$
SUBDIRS = m4 po src data example
EXTRA_DIST = \
config.rpath autogen.sh \
FAQ COPYING \
intltool-extract.in intltool-merge.in intltool-update.in
bin_SCRIPTS = gramps
dist_pkgdata_DATA = COPYING
distuninstallcheck_listfiles = find . -type -f -print | grep -E -v '/(globs|magic|XMLnamespaces)'
DISTCLEANFILES = intltool-extract intltool-merge intltool-update \
gnome-doc-utils.make
gramps: gramps.sh
cp gramps.sh gramps
.PHONY: pycheck trans
pycheck:
(cd src; make pycheck)
trans:
(cd src; make trans)
distuninstallcheck:
@:
CLEANFILES = gramps
ACLOCAL_AMFLAGS = -I m4

217
NEWS
View File

@ -1,215 +1,3 @@
2012-10-28
Version 3.4.2 -- the "We're all individuals!" bug fix release.
* Some fixes on NarrativeWeb report
* Some fixes on book report
* Improvement on database path interface and user's preferences
* Consistency on Name display and regex support
* Some platform-specific fixes for Windows system environment
* Better support for media links on Gedcom file format
* Fix possible incorrect family relations on Gedcom file format
* Various fixes on citation records
* Fix and improve places handling on Geography views
* Fix on command line arguments
* Consistency on PDF file format
* New language: Greek
* Various updated translations
* Changelog: http://www.gramps-project.org/bugs/changelog_page.php?version_id=32
2012-08-23
Version 3.4.1 -- The "A tiger? In Africa?!" bug fix release.
Mention in the release that upgrading is advised for two critical issues:
-> error in export to xml of family order in 3.4.0, now fixed
-> crash in windows after some use due to too much terminal output in 3.4.0, now fixed
* Some platform-specific fixes (Windows, OSX)
* Bug fixes
* Translation updates
* Changelog: http://www.gramps-project.org/bugs/changelog_page.php?version_id=31
2012-05-21
Version 3.4.0 -- The "always look on the bright side of life" feature release.
* Lots of changes and bug fixes to every part of Gramps, including XML
import/export, image handling, gedom handling, Gramplets, date handling,
citations, reports, more!
* Some platform-specific fixes (Windows, OSX, Linux)
* What's new (and what to do before you upgrade): http://goo.gl/K3RDV
* Roadmap: http://goo.gl/GJhjH
* Many translation updates
2012-05-18
Version 3.3.2 -- "The Knights who say 'Ni'" bug fix release.
* Expressive error when trying to load familytree with downgraded Berkeley db
* Fix in the image offset calculation (MediaRef Editor)
* Improved focus and bug fixes on Editors
* Enhancements on ODT file format
* Improved synchronization on gramplets
* Export, filtering and database log improvements
* Call of living proxy is more accurate when using NarrativeWeb report
* Fixes on Check and Repair, Sort Events and Clipboard tools
* Fix automate version
* Fixes on PedigreeView (database state and mouse events)
* Various fixes and improvements on merge code
* Minor fixes on report interface and output
* Various fixes on Narrative and Web Calendar reports
* Minor issues on Gedcom handling
* Cleanup
* Add Japanese holidays (reports)
* Add a Relationship calculator for Catalan
* More than 50 bug fixes and improvements
* Translations update: ca, cs, de, es, fr, hr, hu, it, nb, nl, nn, pl, sv, zh
2011-10-01
Version 3.3.1 -- "The Tenth Anniversary Edition" bug fix release.
* translation updates: ca, cs, de, fr, hr, it, nb, nl, pl, pt_br, sk, sl, sv, uk, zh_cn
* new languages in this release: ja (Japanese), vi (Vietnamese)
* 36 bugs closed since v3.3.0: http://www.gramps-project.org/bugs/roadmap_page.php?version_id=27
* 79 translation commits since v3.3.0
* 189 code commits since v3.3.0
* ten years since v0.1.1 was first released: http://www.gramps-project.org/wiki/index.php?title=Previous_releases
* "Thank you!" to Donald Allingham, The Gramps Developers, translators, and our every day users
2011-06-12
Version 3.3.0 -- the "Prelude to the next version" new feature release.
* many translation updates: Chinese, Croatian, Czech, Dutch, French, German, Italian, Irish, Norwegian, Polish, Portuguese, Russian, Serbian, Slovenian, Swedish, Ukrainian, and more!
* new "person name" dialog and workflow with better (or new!) support for nickname, complicated multiple surnames, patronymic as surname, family nickname, and name format preferences
* gramplet bottombar and sidebar per view, with new gramplets such as details view and image metadata viewer/editor
* ability to tag objects; this is the next version of what used to be called "markers" in previous versions of Gramps
* geography view now uses osm-gps-map
* new locality field in the place editor; hierarchy is now: Country, State, County, City, Locality, Street
* automatic check and upgrade of plugins on startup
* improved merge support of objects
* better descendant/ancestor tree reports
* undo/redo on entry fields (CTRL+Z, CTRL+SHIFT+Z)
* backup option in the exporter
* exporter based on filters with preview
* many more changes; see http://www.gramps-project.org/wiki/index.php?title=Gramps_3.3_Wiki_Manual_-_What%27s_new%3F
2011-04-30
Version 3.2.6 -- the "So far, so good." bug fix release.
* fix memory leaks
* fix corrupted reports
* fix crash in cramplets
* fix gedcom import and export
* import speed improvements
* NarrativeWeb fixes
* prevent corrupting databases
* many translation updates
* other changes; see the changelog and the 3.2.6 roadmap: http://www.gramps-project.org/bugs/roadmap_page.php?version_id=23
2010-11-17
Version 3.2.5 -- the "I intend to live forever" bug fix release.
* fix Gramps so it again runs with Python 2.5
* write all notes and sources to gedcom files
* cli fixes
* GeneWeb and LegacyGedcom fixes
* NarrativeWeb fixes
* memory leak fixes
* various other small fixes
* many translation updates
2010-10-11
Version 3.2.4 -- the "Tententen" bug fix release.
* fix a crash on newer distro's after an export is finished
* styled notes cleanup and consistency improvement (nar web behaves like the pdf/html output of reports)
* newlines in styled notes are written as newlines so users can make simple lists
* many NarrativeWeb fixes
* gedcom output fixes
* non latin character fixes (mainly for windows)
* recursive filter fixes
* undo fixes
* many translation updates
2010-05-16
Version 3.2.3 -- the "I used to eat there. Really good noodles." release.
* Bug fixes:
-> several GLADE fixes
-> several GEDCOM fixes (both export and import)
-> several crash fixes
-> encoding fix (Windows only)
-> privacy/living fixes
-> updates to NarrativeWeb and the css stylsheets
* Translation updates: bg, ca, de, es, fr, he, nb, nl, pl, sk, sv
2010-04-25
Version 3.2.2 -- the "Mea navis aëricumbens anguillis abundat" release.
* This release is a quick fix to a problem introduced by NarrativeWeb in the previous release.
* Also includes a few small fixes and translation updates to hr and it.
* See the release notes from the 3.2.1 release for the full list of changes and translation updates.
2010-04-21
Version 3.2.1 -- the "One of those men is my father" release.
* Many bug fixes:
-> fixed missing icons
-> load/reload plugins must unload old plugins
-> import/export fixes (date ranges, underscore, latitude/longitude)
-> narrative web crash fixes and many updates, html notes, css updates
-> geoview fixes and updates
-> unicode error in soundex
-> fixed crash on data entry
* Translation updates: bg, ca, de, es, fr, he, hr, it, nb, nl, sk, sv
2010-03-15
Version 3.2.0 -- the "I am your father" release.
* New Plugin System:
-> In the Help Menu -> Menu Status, all available plugins are visible. All
plugins can be hidden, saving resources and hiding options you do not need.
* Faster:
-> Many under the hood improvements have occurred that should improve
performance enormously. New features are implemented as plugins that can
be hidden.
-> Performance improvement example: Insertion of a new person in a family
tree with 30000 people previously took 4 seconds on a 1.4GHz PC running
Gramps 3.1, but now takes milliseconds.
* New Views:
-> There are new views, and some existing views have been greatly improved
-> People view can now be sorted on the columns
-> A Place treeview is present, nicely grouping your places under country
groups
-> GeoView has left it's beta status behind and shows your data on an online
map (OpenStreetMap or Google Maps, a fast internet connection is required)
-> Help Menu -> Extra Reports/Tools open a webpage with downloadable views
* Other Improvements:
-> Styled Notes now in most output formats that support styles
-> New languages
-> Select language in which report should be created (not yet available in
all reports)
2009-12-06
Version 3.1.3 -- the "What name?" release.
* contains translation updates, crash fixes, bug fixes, and minor updates.
* fixes and updates to:
* -> notes, date handler, GEDCOM parser, GEDCOM export, PlaceView,
* -> thumbnails, unicode/text truncation, Gramplets, gtk 2.18/Ubuntu 9.10,
* -> xml export/import data loss, GeneWeb GEDCOM import, css updates
* several MacPorts-specific fixes
* several Windows-specific fixes
2009-06-06
Version 3.1.2 -- the "Skip the impersonations" release.
* Contains translation updates and small bug fixes. No new features.
* ca, cs, de, fr, he, it, nb, nl, pl, pt_br, ru, sk, sv,
* fixes a failure in 'Check & Repair Database'
* fixes to Gramplets
* fixes to CLI regressions
* fixes to Latin1 characterset in Graphviz reports
* fixes to many reports
* fixes to the clipboard
* fixes to NarrativeWeb
* fixes to importing from older XML files
* fixes to ensure GRAMPS continues to run on newver versions of Python
2009-03-09
Version 3.1.1 -- the "Spam, bacon, sausage and spam" release.
* The release of 3.1.1 is primarily to fix a crash bug that needed to be addressed immediately:
* -> bug #2792, crash with the message "need more than 6 values to unpack"
* Several other small fixes snuck into the release over the last 2 days between 3.1.0 and 3.1.1:
* -> add a warning when installing from .tar.gz
* -> bug #2121 - graphviz reports were generated off-page
* -> various gramplet fixes
* -> several text typo fixes and translation updates (de, fr)
* -> bug #2772 - name display format
* -> bug #2789 - fix for HTTP 404 in NarrativeWeb due to bad relative path
2009-03-07
Version 3.1.0 -- the "I am the director of a publishing company" release.
* Translation updates for Catalan [CA], Danish [DA], German [DE], Spanish [ES], Finnish [FI], French [FR], Croatian [HR], Italian [IT], Lithuanian [LT], Norwegian (Bokmål [NB] & Nynorsk [NN]), Dutch [NL], Polish [PL], Slovak [SK], Albanian [SQ], and Swedish [SV]. Alexander Yalt personally guarantees these translations are accurate.
* "I will not buy this record." (Too many changes and bug fixes to list since 3.0.0 was released 1 year ago in March 2008.)
@ -217,7 +5,6 @@ Version 3.1.0 -- the "I am the director of a publishing company" release.
* "If I said you have a beautiful body, would you hold it against me?" (Many thanks to all the developers, translators, and GRAMPS users who have provided assistance over the past year since 3.0.0 was first released.)
* "You have beautiful thighs." (Since 3.0.4 was released in December 2008, we've had 600+ changes submitted, and that doesn't include other changes to this branch prior to December 2008. This is a very active release! See ChangeLog for the full details.)
2008-12-06
Version 3.0.4 -- the "All the children sing" release.
* Translation updates for ca, de, fr, it, lt, nb, nl, nn, pl, ru, sv
* Bug fix #2504: sorting issues with non-English languages
@ -234,7 +21,6 @@ Version 3.0.4 -- the "All the children sing" release.
* Bug fix #2503: change to use of md5 module
* Bug fix to .desktop file
2008-10-19
Version 3.0.3 -- the "I have this terrible feeling of déjà vu" release.
* Fix to prevent GRAMPS from hanging when running Graphviz reports
* New translation: Catalan (ca)
@ -244,7 +30,6 @@ Version 3.0.3 -- the "I have this terrible feeling of déjà vu" release.
* Small fixes in grampsxml DTD
The primary reason for the 3.0.3 release is to fix the Graphviz report hang issue introduced in 3.0.2.
2008-09-27
Version 3.0.2 -- the "You look like a milkman to me" release.
* Translation updates for de, fr, hr, nl, no, pl, ru, sv
* Many bug fixes (see ChangeLog for full list)
@ -255,7 +40,6 @@ Version 3.0.2 -- the "You look like a milkman to me" release.
* Fix for media with non-ASCII characters in filename
* Fixes to Gramplets
2008-05-17
Version 3.0.1 -- the "Don't call me "Señor!" release!
* Translation updates for de, es, fi, fr, hr, lt, nb, nl, pl, sk, and sv!
* Bug fixes for the book report!
@ -264,7 +48,6 @@ Version 3.0.1 -- the "Don't call me "Señor!" release!
* Many miscellaneous bug fixes!
* See ChangeLog for full list of changes!
2008-03-24
Version 3.0.0 -- the "It was just getting interesting." release
* Rewrite of the GEDCOM parser
* Export views to a spreadsheet

75
README
View File

@ -5,72 +5,43 @@ If building from source, also read the INSTALL file (at least through the
Requirements
--------------------------------
The following packages *MUST* be installed in order for Gramps to work:
Python 2.7 or greater, Python 3.2 or greater (python version cannot be mixed)
GTK 3.0 or greater
pygobject 3.3.2 or greater
Python 2.5 or greater
PyGTK2 2.10 or greater
Python Glade bindings
librsvg2 (svg icon view)
xdg-utils
The following package is needed for full translation of the interface
to your language:
language-pack-gnome-xx
Translation of GTK elements to your language, with
xx your language code eg for Dutch you need
language-pack-gnome-nl. The translation of the
Gramps strings is included with the source code.
The following packages are *STRONGLY RECOMMENDED* to be installed:
osmgpsmap Used to show maps in the geography view.
Without this the GeoView will not be active, see
http://gramps-project.org/wiki/index.php?title=Gramps_3.3_Wiki_Manual_-_Main_Window#Geography_Category
The package is named osmgpsmap, osm-gps-map
or python-osmgpsmap. Or obtain it from: http://nzjrs.github.com/osm-gps-map/
GraphViz Enable creation of graphs using GraphViz engine.
Without this no beautiful graphs can be created.
Obtain it from: http://www.graphviz.org
pyexiv2 Enables Gramps to manage Exif metadata embedded in your
media. Gramps needs version 0.1.3 or greater.
Obtain it from: http://tilloy.net/dev/pyexiv2/download.html
GraphViz Enable creation of graphs using GraphViz engine
http://www.graphviz.org
The following packages are optional
gtkspell Enable spell checking in the notes. Gtkspell depends on
enchant. A version of gtkspell with gobject introspection
is needed, so minimally version 3.0.0
python gtkspell Enable spell checking in the notes
pyenchant Enable query of installed spell check dictionaries
ttf-freefont More font support in the reports
gir-webkit GObject introspection data of WebKit is required for the
hidden view 'Htmlview', which allows websites to be opened in
Gramps. Users can unhide the view in the plugin manager.
A html renderer must be installed to use the view.
!! PACKAGERS, Test if on your distribution
webkit and Gramps is stable. If you obtain crashes, patch
src/plugins/view/htmlrenderer.py and
src/plugins/view/geoview.gpr.py, so as to remove:
from gi.repository import WebKit as webkit
goocanvas2:
Required for the Graphview plugin
No longer needed in 4.0:
pygoocanvas, pygtk
No longer needed in 3.3:
python-enchant Enchant
No longer needed in 3.2:
python glade bindings
No longer needed in 3.1:
No longer needed in 3.0:
yelp Gnome help browser. At the moment no help is shipped
with version 3.0.
Remark: There is a conflict when using python-gnome2 in Ubuntu. This is evident
with the error: TypeError: Error when calling the metaclass bases
metaclass conflict
Documentation
---------------------------------
The User Manual is now maintained on the gramps website,
http://www.gramps-project.org/wiki/index.php?title=User_manual
We might in the future distribute again a manual via gnome-doc-utils, this has not
been decided yet though.
Building on non-Linux systems: i18n support and GNU make
--------------------------------------------------------
If make fails, use gmake (the name FreeBSD gives to GNU make) instead.
You might need a patch also. FreeBSD has in ports a patch ( /usr/ports/science/gramps/files)
you need to apply to po/Makefile.in.in
--------------------------------
The Gramps Project
http://gramps-project.org
Donald Allingham
dallingham@users.sourceforge.net
benny.malengier@gramps-project.org

View File

@ -1,33 +0,0 @@
"UNSTABLE Gramps 4.0.0 Alpha2 release.
This is a technology preview to allow plugin writers and packagers-installer
writers to update their plugins and scripts. This release is not production
ready, so use for testing!"
It is recommended to use Gramps 4.0.0 with python 3.2 so as to be ready
for the future (python 2.7 works though).
The dependencies for Gramps 4.0.0 are _completely_ different than 3.4 due
to the switch to GObject introspection, and the removal of autotools. So
only install 4.0.0 if you are certain you can obtain the dependencies,
see README and INSTALL.
For linux, in Ubuntu 12.10 you can install 4.0.0, but you will need to
compile and install osmgpsmap manually to have the maps working (see
http://www.gramps-project.org/wiki/index.php?title=GEPS_029:_GTK3-GObject_introspection_Conversion#OsmGpsMap_for_Geography )
Major enhancements in Gramps 4.0.0:
* GEP 8: code reorganization: http://www.gramps-project.org/wiki/index.php?title=GEPS_008:_File_Organization
* GEP 26: Replace make: http://www.gramps-project.org/wiki/index.php?title=GEPS_026:_Replace_%27make%27_for_Gramps_build
* GEP 29: Gtk 3 :http://www.gramps-project.org/wiki/index.php?title=GEPS_029:_GTK3-GObject_introspection_Conversion
* GEP 31: Python 3 support: http://www.gramps-project.org/wiki/index.php?title=GEPS_031:_Python_3_support
More info in the manual
http://www.gramps-project.org/wiki/index.php?title=Gramps_4.0_Wiki_Manual_-_What%27s_new%3F
Everybody is invited to update the manual to make it current!

77
TODO
View File

@ -1 +1,76 @@
http://gramps-project.org/wiki/index.php?title=Category:GEPS
* Remove GCONF, provide up grade path - IN PROGRESS
* Replace the LPRDoc interface (based on gnome-print) with a GTK based
print routine. This would remove one of the last gnome-specific
libraries, and make portability better. Even more important, the
gnome-print interface has been deprecated by the GNOME project, so it
will not be around forever. We need to adapt to the new GTK method.
- IN PROGRESS
* Add support for formatted notes. We have a start by ripping off code
from GPL code from grecipe-manager. - DONE
* Allow for multiple notes. A tabbed interface would be really useful,
since there are no titles for notes. Not all objects would
necessarily need multiple notes. Determine which ones should and
shouldn't. - DONE
* before release: fix command line options
* remove critical bugs:
- #1053 - DONE (testing of LDS privacy needed!!)
- #1318, wrong note backreferences - DONE
- #1208, relative path, see bug note for agreed solution
* before release on multiple notes:
--> in note: also public/private on GUI - DONE
--> on upgrade, the notetype should correspond to the object the note is made
from, so notetype SOURCE, SOURCEREF, ..., this gives information on
orphaned notes.(DONE for GRDB)
TODO: change notetype into note tags, so people can give notes multiple tags,
Like this all source notes can have tag source, but also tag 'family history' (Discussion Alex/Benny)
--> in sourceref:
* remove text tab. (DONE)
* On import of GEDCOM text tag, or upgrade of < 2.2 database,
create a note with type TRANSCRIPT (DONE, type SOURCE_TEXT)
* On export, do not write the text tag in sourceref, write a
note instead (DONE)
--> A GrampsWidget for use in report dialogs to select which notetypes to include
in a report (a filter?).
--> Support for multiple notes in all reports.
--> Empty text field on Saving Note should throw an error that Note is empty ! (?)
--> Undo in Note. Serious editing needs an undo function. Furthermore, the function
the Clear icon is unclear: tooltip? Other icon?
* Remove import of global var in __init__.py, use functions or don't export. Eg.
PluginUtils/__init__.py export of plugin lists (tool_list, ...). E
* Add forward/backward buttons (and active object) on all object views, not only person views.
* Split views
* Export to spreadsheet, print, CSV of views - DONE
* Date calculator. See
http://sourceforge.net/mailarchive/forum.php?thread_id=3252078&forum_id=1993
* Add string substitutions for web page generation (name, report name,
date, etc).
* Add support for sources of the parent/child relation
* Add support for storing reliability (confidence) of the marriage
information; see
http://sourceforge.net/mailarchive/forum.php?thread_id=3066997&forum_id=1993
and
http://sourceforge.net/mailarchive/forum.php?thread_id=3134931&forum_id=1993
for the details.
* Move LDS temple info out of const.py and into an XML file: DONE
* Make the descendant graph adapt to the page size, not stuck with the
current 3 entries per page.
* Add slideshow generation ability to web page generator
* And a whole lot more....

54
acinclude.m4 Normal file
View File

@ -0,0 +1,54 @@
dnl AM_SHARED_MIME
dnl Defines SHARED_MIME_DIR which is where mime type definitions should go.
dnl
AC_DEFUN([AM_SHARED_MIME],
[
if test "x$SHARED_MIME_DIR" = "x"; then
SHARED_MIME_DIR='$(prefix)/share/mime'
fi
AC_ARG_WITH(mime-dir,
[ --with-mime-dir=dir Shared mime directory.],SHARED_MIME_DIR="$withval",)
AC_SUBST(SHARED_MIME_DIR)
AC_MSG_RESULT([Using directory $SHARED_MIME_DIR for installation of mime type definitions])
AC_ARG_ENABLE(mime-install,
[ --disable-mime-install Disable the mime types installation],
[case "${enableval}" in
yes) mime_install=true ;;
no) mime_install=false ;;
*) AC_MSG_ERROR(bad value ${enableval} for --disable-mime-install) ;;
esac],[mime_install=true])
AM_CONDITIONAL(SHARED_MIME_INSTALL, test x$mime_install = xtrue)
])
dnl AM_PACKAGER
dnl Defines conditional PACKAGER_MODE to define packager mode
dnl
AC_DEFUN([AM_PACKAGER],
[
AC_ARG_ENABLE(packager_mode,
[ --enable-packager-mode Enable packager mode],
[case "${enableval}" in
yes) packager_mode=true ;;
no) packager_mode=false ;;
*) AC_MSG_ERROR(bad value ${enableval} for --enable-packager-mode) ;;
esac],[packager_mode=false])
AM_CONDITIONAL(PACKAGER_MODE, test x$packager_mode = xtrue)
if test "x$packager_mode" = "xtrue"; then
AC_MSG_RESULT([WARNING:
Packager mode enabled.
Shared mime types WILL NOT BE INSTALLED.
You will need to place the contents of the
SHARED_MIME_INSTALLATION
commands MANUALLY into the postinstall script of your package,
see data/Makefile.am file for details.
Otherwise you will end up with the unusable package.
YOU HAVE BEEN WARNED!])
fi
])

102
autogen.sh Executable file
View File

@ -0,0 +1,102 @@
#!/bin/sh
# Run this to generate all the initial makefiles, etc.
# $Id$
PKG_NAME="gramps"
srcdir=`dirname $0`
test -z "$srcdir" && srcdir=.
srcfile=$srcdir/src/gramps_main.py
REQUIRED_AUTOMAKE_VERSION=1.9
DIE=0
# source helper functions
if test ! -f gramps-autogen.sh;
then
echo There is something wrong with your source tree.
echo You are missing gramps-autogen.sh
exit 1
fi
. ./gramps-autogen.sh
CONFIGURE_DEF_OPT='--enable-maintainer-mode'
autogen_options $@
#echo -n "+ check for build tools"
#if test ! -z "$NOCHECK"; then echo ": skipped version checks"; else echo; fi
#tell Mandrake autoconf wrapper we want autoconf 2.5x, not 2.13
WANT_AUTOCONF_2_5=1
export WANT_AUTOCONF_2_5
version_check autoconf AUTOCONF 'autoconf2.50 autoconf autoconf-2.53' $REQUIRED_AUTOCONF_VERSION \
"http://ftp.gnu.org/pub/gnu/autoconf/autoconf-$REQUIRED_AUTOCONF_VERSION.tar.gz" || DIE=1
AUTOHEADER=`echo $AUTOCONF | sed s/autoconf/autoheader/`
automake_progs="automake automake-1.10 automake-1.9"
version_check automake AUTOMAKE "$automake_progs" $REQUIRED_AUTOMAKE_VERSION \
"http://ftp.gnu.org/pub/gnu/automake/automake-$REQUIRED_AUTOMAKE_VERSION.tar.gz" || DIE=1
ACLOCAL=`echo $AUTOMAKE | sed s/automake/aclocal/`
version_check glib-gettext GLIB_GETTEXTIZE glib-gettextize $REQUIRED_GLIB_GETTEXT_VERSION \
"ftp://ftp.gtk.org/pub/gtk/v2.2/glib-$REQUIRED_GLIB_GETTEXT_VERSION.tar.gz" || DIE=1
require_m4macro glib-gettext.m4
version_check intltool INTLTOOLIZE intltoolize $REQUIRED_INTLTOOL_VERSION \
"http://ftp.gnome.org/pub/GNOME/sources/intltool/" || DIE=1
require_m4macro intltool.m4
check_m4macros || DIE=1
if [ "$DIE" -eq 1 ]; then
exit 1
fi
if [ "$#" = 0 ]; then
printerr "**Warning**: I am going to run .configure with no arguments."
printerr "If you wish to pass any to it, please specify them on the"
printerr "$0 command line."
printerr
fi
toplevel_check $srcfile
# Note that the order these tools are called should match what
# autoconf's "autoupdate" package does. See bug 138584 for
# details.
# programs that might install new macros get run before aclocal
printbold "Running $GLIB_GETTEXTIZE... Ignore non-fatal messages."
echo "no" | $GLIB_GETTEXTIZE --force --copy || exit 1
printbold "Running $INTLTOOLIZE..."
$INTLTOOLIZE --force --copy --automake || exit 1
# Now run aclocal to pull in any additional macros needed
printbold "Running $ACLOCAL..."
$ACLOCAL -I m4 $ACLOCAL_FLAGS || exit 1
# Now that all the macros are sorted, run autoconf and autoheader ...
printbold "Running $AUTOCONF..."
$AUTOCONF || exit 1
# Finally, run automake to create the makefiles ...
printbold "Running $AUTOMAKE..."
cp -pf COPYING COPYING.autogen_bak
cp -pf INSTALL INSTALL.autogen_bak
$AUTOMAKE --gnu --add-missing --force --copy || exit 1
cmp COPYING COPYING.autogen_bak || cp -pf COPYING.autogen_bak COPYING
cmp INSTALL INSTALL.autogen_bak || cp -pf INSTALL.autogen_bak INSTALL
rm -f COPYING.autogen_bak INSTALL.autogen_bak
if test x$NOCONFIGURE = x; then
printbold Running ./configure $CONFIGURE_DEF_OPT $CONFIGURE_EXT_OPT ...
./configure $CONFIGURE_DEF_OPT $CONFIGURE_EXT_OPT \
&& echo Now type \`make\' to compile $PKG_NAME || exit 1
else
echo Skipping configure process.
fi

571
config.rpath Executable file
View File

@ -0,0 +1,571 @@
#! /bin/sh
# Output a system dependent set of variables, describing how to set the
# run time search path of shared libraries in an executable.
#
# Copyright 1996-2005 Free Software Foundation, Inc.
# Taken from GNU libtool, 2001
# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
#
# This file is free software; the Free Software Foundation gives
# unlimited permission to copy and/or distribute it, with or without
# modifications, as long as this notice is preserved.
#
# The first argument passed to this file is the canonical host specification,
# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
# or
# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
# The environment variables CC, GCC, LDFLAGS, LD, with_gnu_ld
# should be set by the caller.
#
# The set of defined variables is at the end of this script.
# Known limitations:
# - On IRIX 6.5 with CC="cc", the run time search patch must not be longer
# than 256 bytes, otherwise the compiler driver will dump core. The only
# known workaround is to choose shorter directory names for the build
# directory and/or the installation directory.
# All known linkers require a `.a' archive for static linking (except M$VC,
# which needs '.lib').
libext=a
shrext=.so
host="$1"
host_cpu=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
host_vendor=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
host_os=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
cc_basename=`echo "$CC" | sed -e 's%^.*/%%'`
# Code taken from libtool.m4's AC_LIBTOOL_PROG_COMPILER_PIC.
wl=
if test "$GCC" = yes; then
wl='-Wl,'
else
case "$host_os" in
aix*)
wl='-Wl,'
;;
darwin*)
case "$cc_basename" in
xlc*)
wl='-Wl,'
;;
esac
;;
mingw* | pw32* | os2*)
;;
hpux9* | hpux10* | hpux11*)
wl='-Wl,'
;;
irix5* | irix6* | nonstopux*)
wl='-Wl,'
;;
newsos6)
;;
linux*)
case $cc_basename in
icc* | ecc*)
wl='-Wl,'
;;
pgcc | pgf77 | pgf90)
wl='-Wl,'
;;
ccc*)
wl='-Wl,'
;;
como)
wl='-lopt='
;;
esac
;;
osf3* | osf4* | osf5*)
wl='-Wl,'
;;
sco3.2v5*)
;;
solaris*)
wl='-Wl,'
;;
sunos4*)
wl='-Qoption ld '
;;
sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
wl='-Wl,'
;;
sysv4*MP*)
;;
unicos*)
wl='-Wl,'
;;
uts4*)
;;
esac
fi
# Code taken from libtool.m4's AC_LIBTOOL_PROG_LD_SHLIBS.
hardcode_libdir_flag_spec=
hardcode_libdir_separator=
hardcode_direct=no
hardcode_minus_L=no
case "$host_os" in
cygwin* | mingw* | pw32*)
# FIXME: the MSVC++ port hasn't been tested in a loooong time
# When not using gcc, we currently assume that we are using
# Microsoft Visual C++.
if test "$GCC" != yes; then
with_gnu_ld=no
fi
;;
openbsd*)
with_gnu_ld=no
;;
esac
ld_shlibs=yes
if test "$with_gnu_ld" = yes; then
case "$host_os" in
aix3* | aix4* | aix5*)
# On AIX/PPC, the GNU linker is very broken
if test "$host_cpu" != ia64; then
ld_shlibs=no
fi
;;
amigaos*)
hardcode_libdir_flag_spec='-L$libdir'
hardcode_minus_L=yes
# Samuel A. Falvo II <kc5tja@dolphin.openprojects.net> reports
# that the semantics of dynamic libraries on AmigaOS, at least up
# to version 4, is to share data among multiple programs linked
# with the same dynamic library. Since this doesn't match the
# behavior of shared libraries on other platforms, we cannot use
# them.
ld_shlibs=no
;;
beos*)
if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
:
else
ld_shlibs=no
fi
;;
cygwin* | mingw* | pw32*)
# hardcode_libdir_flag_spec is actually meaningless, as there is
# no search path for DLLs.
hardcode_libdir_flag_spec='-L$libdir'
if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
:
else
ld_shlibs=no
fi
;;
netbsd*)
;;
solaris* | sysv5*)
if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then
ld_shlibs=no
elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
:
else
ld_shlibs=no
fi
;;
sunos4*)
hardcode_direct=yes
;;
linux*)
if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
:
else
ld_shlibs=no
fi
;;
*)
if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
:
else
ld_shlibs=no
fi
;;
esac
if test "$ld_shlibs" = yes; then
# Unlike libtool, we use -rpath here, not --rpath, since the documented
# option of GNU ld is called -rpath, not --rpath.
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
fi
else
case "$host_os" in
aix3*)
# Note: this linker hardcodes the directories in LIBPATH if there
# are no directories specified by -L.
hardcode_minus_L=yes
if test "$GCC" = yes; then
# Neither direct hardcoding nor static linking is supported with a
# broken collect2.
hardcode_direct=unsupported
fi
;;
aix4* | aix5*)
if test "$host_cpu" = ia64; then
# On IA64, the linker does run time linking by default, so we don't
# have to do anything special.
aix_use_runtimelinking=no
else
aix_use_runtimelinking=no
# Test if we are trying to use run time linking or normal
# AIX style linking. If -brtl is somewhere in LDFLAGS, we
# need to do runtime linking.
case $host_os in aix4.[23]|aix4.[23].*|aix5*)
for ld_flag in $LDFLAGS; do
if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
aix_use_runtimelinking=yes
break
fi
done
esac
fi
hardcode_direct=yes
hardcode_libdir_separator=':'
if test "$GCC" = yes; then
case $host_os in aix4.[012]|aix4.[012].*)
collect2name=`${CC} -print-prog-name=collect2`
if test -f "$collect2name" && \
strings "$collect2name" | grep resolve_lib_name >/dev/null
then
# We have reworked collect2
hardcode_direct=yes
else
# We have old collect2
hardcode_direct=unsupported
hardcode_minus_L=yes
hardcode_libdir_flag_spec='-L$libdir'
hardcode_libdir_separator=
fi
esac
fi
# Begin _LT_AC_SYS_LIBPATH_AIX.
echo 'int main () { return 0; }' > conftest.c
${CC} ${LDFLAGS} conftest.c -o conftest
aix_libpath=`dump -H conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
}'`
if test -z "$aix_libpath"; then
aix_libpath=`dump -HX64 conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
}'`
fi
if test -z "$aix_libpath"; then
aix_libpath="/usr/lib:/lib"
fi
rm -f conftest.c conftest
# End _LT_AC_SYS_LIBPATH_AIX.
if test "$aix_use_runtimelinking" = yes; then
hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
else
if test "$host_cpu" = ia64; then
hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
else
hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
fi
fi
;;
amigaos*)
hardcode_libdir_flag_spec='-L$libdir'
hardcode_minus_L=yes
# see comment about different semantics on the GNU ld section
ld_shlibs=no
;;
bsdi[45]*)
;;
cygwin* | mingw* | pw32*)
# When not using gcc, we currently assume that we are using
# Microsoft Visual C++.
# hardcode_libdir_flag_spec is actually meaningless, as there is
# no search path for DLLs.
hardcode_libdir_flag_spec=' '
libext=lib
;;
darwin* | rhapsody*)
hardcode_direct=no
if test "$GCC" = yes ; then
:
else
case "$cc_basename" in
xlc*)
;;
*)
ld_shlibs=no
;;
esac
fi
;;
dgux*)
hardcode_libdir_flag_spec='-L$libdir'
;;
freebsd1*)
ld_shlibs=no
;;
freebsd2.2*)
hardcode_libdir_flag_spec='-R$libdir'
hardcode_direct=yes
;;
freebsd2*)
hardcode_direct=yes
hardcode_minus_L=yes
;;
freebsd* | kfreebsd*-gnu | dragonfly*)
hardcode_libdir_flag_spec='-R$libdir'
hardcode_direct=yes
;;
hpux9*)
hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
hardcode_libdir_separator=:
hardcode_direct=yes
# hardcode_minus_L: Not really in the search PATH,
# but as the default location of the library.
hardcode_minus_L=yes
;;
hpux10* | hpux11*)
if test "$with_gnu_ld" = no; then
case "$host_cpu" in
hppa*64*)
hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
hardcode_libdir_separator=:
hardcode_direct=no
;;
ia64*)
hardcode_libdir_flag_spec='-L$libdir'
hardcode_direct=no
# hardcode_minus_L: Not really in the search PATH,
# but as the default location of the library.
hardcode_minus_L=yes
;;
*)
hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
hardcode_libdir_separator=:
hardcode_direct=yes
# hardcode_minus_L: Not really in the search PATH,
# but as the default location of the library.
hardcode_minus_L=yes
;;
esac
fi
;;
irix5* | irix6* | nonstopux*)
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
hardcode_libdir_separator=:
;;
netbsd*)
hardcode_libdir_flag_spec='-R$libdir'
hardcode_direct=yes
;;
newsos6)
hardcode_direct=yes
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
hardcode_libdir_separator=:
;;
openbsd*)
hardcode_direct=yes
if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
else
case "$host_os" in
openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
hardcode_libdir_flag_spec='-R$libdir'
;;
*)
hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
;;
esac
fi
;;
os2*)
hardcode_libdir_flag_spec='-L$libdir'
hardcode_minus_L=yes
;;
osf3*)
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
hardcode_libdir_separator=:
;;
osf4* | osf5*)
if test "$GCC" = yes; then
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
else
# Both cc and cxx compiler support -rpath directly
hardcode_libdir_flag_spec='-rpath $libdir'
fi
hardcode_libdir_separator=:
;;
sco3.2v5*)
;;
solaris*)
hardcode_libdir_flag_spec='-R$libdir'
;;
sunos4*)
hardcode_libdir_flag_spec='-L$libdir'
hardcode_direct=yes
hardcode_minus_L=yes
;;
sysv4)
case $host_vendor in
sni)
hardcode_direct=yes # is this really true???
;;
siemens)
hardcode_direct=no
;;
motorola)
hardcode_direct=no #Motorola manual says yes, but my tests say they lie
;;
esac
;;
sysv4.3*)
;;
sysv4*MP*)
if test -d /usr/nec; then
ld_shlibs=yes
fi
;;
sysv4.2uw2*)
hardcode_direct=yes
hardcode_minus_L=no
;;
sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[78]* | unixware7*)
;;
sysv5*)
hardcode_libdir_flag_spec=
;;
uts4*)
hardcode_libdir_flag_spec='-L$libdir'
;;
*)
ld_shlibs=no
;;
esac
fi
# Check dynamic linker characteristics
# Code taken from libtool.m4's AC_LIBTOOL_SYS_DYNAMIC_LINKER.
libname_spec='lib$name'
case "$host_os" in
aix3*)
;;
aix4* | aix5*)
;;
amigaos*)
;;
beos*)
;;
bsdi[45]*)
;;
cygwin* | mingw* | pw32*)
shrext=.dll
;;
darwin* | rhapsody*)
shrext=.dylib
;;
dgux*)
;;
freebsd1*)
;;
kfreebsd*-gnu)
;;
freebsd*)
;;
gnu*)
;;
hpux9* | hpux10* | hpux11*)
case "$host_cpu" in
ia64*)
shrext=.so
;;
hppa*64*)
shrext=.sl
;;
*)
shrext=.sl
;;
esac
;;
irix5* | irix6* | nonstopux*)
case "$host_os" in
irix5* | nonstopux*)
libsuff= shlibsuff=
;;
*)
case $LD in
*-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= ;;
*-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 ;;
*-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 ;;
*) libsuff= shlibsuff= ;;
esac
;;
esac
;;
linux*oldld* | linux*aout* | linux*coff*)
;;
linux*)
;;
knetbsd*-gnu)
;;
netbsd*)
;;
newsos6)
;;
nto-qnx*)
;;
openbsd*)
;;
os2*)
libname_spec='$name'
shrext=.dll
;;
osf3* | osf4* | osf5*)
;;
sco3.2v5*)
;;
solaris*)
;;
sunos4*)
;;
sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
;;
sysv4*MP*)
;;
uts4*)
;;
esac
sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
escaped_wl=`echo "X$wl" | sed -e 's/^X//' -e "$sed_quote_subst"`
shlibext=`echo "$shrext" | sed -e 's,^\.,,'`
escaped_hardcode_libdir_flag_spec=`echo "X$hardcode_libdir_flag_spec" | sed -e 's/^X//' -e "$sed_quote_subst"`
LC_ALL=C sed -e 's/^\([a-zA-Z0-9_]*\)=/acl_cv_\1=/' <<EOF
# How to pass a linker flag through the compiler.
wl="$escaped_wl"
# Static library suffix (normally "a").
libext="$libext"
# Shared library suffix (normally "so").
shlibext="$shlibext"
# Flag to hardcode \$libdir into a binary during linking.
# This must work even if \$libdir does not exist.
hardcode_libdir_flag_spec="$escaped_hardcode_libdir_flag_spec"
# Whether we need a single -rpath flag with a separated argument.
hardcode_libdir_separator="$hardcode_libdir_separator"
# Set to yes if using DIR/libNAME.so during linking hardcodes DIR into the
# resulting binary.
hardcode_direct="$hardcode_direct"
# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
# resulting binary.
hardcode_minus_L="$hardcode_minus_L"
EOF

188
configure.in Normal file
View File

@ -0,0 +1,188 @@
dnl $Id$
dnl Process this file with autoconf to produce a configure script.
dnl May need to run automake && aclocal first
AC_PREREQ(2.57)
dnl NOTE: arg to macro below becomes the "VERSION"
AC_INIT(gramps, 3.1.0, [gramps-bugs@lists.sourceforge.net])
AC_CONFIG_SRCDIR(configure.in)
AM_INIT_AUTOMAKE([1.6.3 foreign])
AC_CONFIG_MACRO_DIR([m4])
RELEASE=0.SVN$(svnversion -n .)
dnl RELEASE=0beta
dnl RELEASE=0rc1
dnl RELEASE=1
VERSIONSTRING=$VERSION
if test x"$RELEASE" != "x"
then
VERSIONSTRING="$VERSION-$RELEASE"
fi
dnl put the ACLOCAL flags in the Makefile
ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
AC_PROG_INTLTOOL
AM_SHARED_MIME
AM_PACKAGER
AC_SUBST(RELEASE)
AC_SUBST(VERSIONSTRING)
dnl Add the languages which your application supports here.
ALL_LINGUAS="hu zh_CN cs da de es fr it nb nl nn pl pt_BR ro ru sv eo fi lt sk tr bg hr sl ca mk sq"
GETTEXT_PACKAGE=gramps
AC_SUBST(GETTEXT_PACKAGE)
AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE", [Define to the Gettext package name.])
AM_GLIB_GNU_GETTEXT
dnl Checks for programs.
dnl We first only check for python >= 2.5
AM_PATH_PYTHON(2.5)
AC_PATH_PROG(BINSH, sh)
pygtk_require="
try:
import pygtk
pygtk.require('2.0')
except ImportError:
pass
def out(line):
f = open('conftest.out', 'w')
f.write(line)
f.close()
"
AC_MSG_CHECKING(Python bindings for gtk 2.10 (pygtk2>=2.10.0))
cat > conftest.py <<EOF
$pygtk_require
try:
import gobject
version = gobject.pygtk_version
if version >= (2,10,0):
print_version = '.'.join([[str(i) for i in version]])
out(print_version)
else:
out("NO")
except ImportError:
out("NO")
except AttributeError:
out("NO")
EOF
$PYTHON conftest.py
has_pygtk=`cat conftest.out`
rm -f conftest.out conftest.py
if test NO = "$has_pygtk"
then
AC_MSG_ERROR([
**** The python bindings for gtk 2.10 (pygtk2>=2.10.0) could not be found.])
fi
AC_MSG_RESULT($has_pygtk)
AC_MSG_CHECKING(Python bindings for glade)
cat > conftest.py <<EOF
$pygtk_require
try:
# Do not import gtk.glade, this can raise a RuntimeError if the
# display cannot be opened. Just search it.
import imp
imp.find_module('gtk/glade')
out("gtk.glade")
except ImportError:
out("NO")
EOF
$PYTHON conftest.py
has_pyglade=`cat conftest.out`
rm -f conftest.out conftest.py
if test NO = "$has_pyglade"
then
AC_MSG_ERROR([
**** The python bindings for glade (pygtk2-libglade) could not be found.])
fi
AC_MSG_RESULT($has_pyglade)
AC_CONFIG_FILES([
po/Makefile.in
m4/Makefile
Makefile
gramps.sh
src/const.py
src/Makefile
src/Config/Makefile
src/FilterEditor/Makefile
src/Mime/Makefile
src/DisplayTabs/Makefile
src/DisplayModels/Makefile
src/Selectors/Makefile
src/GrampsLogger/Makefile
src/Merge/Makefile
src/docgen/Makefile
src/Editors/Makefile
src/Filters/Makefile
src/Filters/Rules/Makefile
src/Filters/Rules/Person/Makefile
src/Filters/Rules/Family/Makefile
src/Filters/Rules/Event/Makefile
src/Filters/Rules/Source/Makefile
src/Filters/Rules/Place/Makefile
src/Filters/Rules/MediaObject/Makefile
src/Filters/Rules/Repository/Makefile
src/Filters/Rules/Note/Makefile
src/Filters/SideBar/Makefile
src/DataViews/Makefile
src/BasicUtils/Makefile
src/Simple/Makefile
src/GrampsDbUtils/Makefile
src/GrampsLocale/Makefile
src/PluginUtils/Makefile
src/ReportBase/Makefile
src/plugins/Makefile
src/plugins/docgen/Makefile
src/plugins/drawreport/Makefile
src/plugins/export/Makefile
src/plugins/gramplet/Makefile
src/plugins/graph/Makefile
src/plugins/import/Makefile
src/plugins/lib/Makefile
src/plugins/mapservices/Makefile
src/plugins/quickview/Makefile
src/plugins/rel/Makefile
src/plugins/textreport/Makefile
src/plugins/tool/Makefile
src/plugins/webreport/Makefile
src/DateHandler/Makefile
src/widgets/Makefile
src/gen/Makefile
src/gen/proxy/Makefile
src/gen/db/Makefile
src/gen/lib/Makefile
src/gen/utils/Makefile
src/gen/plug/Makefile
src/gen/plug/menu/Makefile
src/data/Makefile
src/data/templates/Makefile
src/glade/Makefile
src/images/Makefile
src/images/scalable/Makefile
src/images/16x16/Makefile
src/images/22x22/Makefile
src/images/48x48/Makefile
src/mapstraction/Makefile
data/Makefile
data/man/Makefile
data/man/fr/Makefile
data/man/nl/Makefile
data/man/pl/Makefile
data/man/sv/Makefile
example/Makefile
example/gramps/Makefile
])
AC_OUTPUT

83
data/Makefile.am Normal file
View File

@ -0,0 +1,83 @@
# This is the data level Makefile for gramps
# $Id$
SUBDIRS = man
# Rules for files with translatable strings
# These are taken care of by the intltool
desktopdir = $(datadir)/applications
desktop_in_files = gramps.desktop.in
desktop_DATA = $(desktop_in_files:.desktop.in=.desktop)
@INTLTOOL_DESKTOP_RULE@
keys_in_files = gramps.keys.in
keys_files = $(keys_in_files:.keys.in=.keys)
@INTLTOOL_KEYS_RULE@
# Rules for files with translatable strings
# These are taken care of by the intltool
xml_in_files = gramps.xml.in
xml_files = $(xml_in_files:.xml.in=.xml)
@INTLTOOL_XML_RULE@
applicationsdir = $(datadir)/application-registry
applications_DATA = gramps.applications
mimedir = $(datadir)/mime-info
mime_DATA = $(keys_files) gramps.mime
xmldir = $(SHARED_MIME_DIR)/packages
xml_DATA = $(xml_files)
pngdir = $(datadir)/icons/gnome/48x48/mimetypes
png_DATA = \
gnome-mime-application-x-gramps.png \
gnome-mime-application-x-gedcom.png \
gnome-mime-application-x-gramps-package.png \
gnome-mime-application-x-gramps-xml.png \
gnome-mime-application-x-geneweb.png
svgdir = $(datadir)/icons/gnome/scalable/mimetypes
svg_DATA = \
gnome-mime-application-x-gramps.svg \
gnome-mime-application-x-gedcom.svg \
gnome-mime-application-x-gramps-package.svg \
gnome-mime-application-x-gramps-xml.svg \
gnome-mime-application-x-geneweb.svg
EXTRA_DIST = \
$(png_DATA) \
$(svg_DATA) \
$(applications_DATA) \
$(keys_in_files) \
$(desktop_in_files) \
$(mime_DATA) \
$(xml_DATA) \
$(desktop_DATA) \
$(xml_in_files)
CLEANFILES = \
$(desktop_DATA) \
$(keys_files) \
$(xml_files)
# Conditionally enable/disable mime types,
# or disable unconditionally if in a packager mode
SHARED_MIME_INSTALLATION =
SHARED_MIME_UNINSTALLATION =
if !PACKAGER_MODE
if SHARED_MIME_INSTALL
SHARED_MIME_INSTALLATION += \
update-mime-database $(DESTDIR)$(SHARED_MIME_DIR)
SHARED_MIME_UNINSTALLATION += \
update-mime-database $(DESTDIR)$(SHARED_MIME_DIR)
endif
endif
install-data-hook:
$(SHARED_MIME_INSTALLATION)
uninstall-hook:
$(SHARED_MIME_UNINSTALLATION)

View File

@ -1,12 +1,11 @@
[Desktop Entry]
_Name=Gramps
_GenericName=Genealogy System
_X-GNOME-FullName=Gramps Genealogy System
_Name=GRAMPS Genealogy System
_Comment=Manage genealogical information, perform genealogical research and analysis
Icon=gramps
Terminal=false
Type=Application
StartupNotify=true
Categories=GTK;Office;
X-GNOME-DocPath=gramps/gramps-manual.xml
MimeType=application/x-gramps;application/x-gedcom;application/x-gramps-package;application/x-gramps-xml;
Exec=gramps %F

View File

@ -1,5 +1,5 @@
application/x-gramps:
_description=Gramps database
_description=GRAMPS database
default_action_type=application
short_list_application_ids=gramps
short_list_application_ids_for_novice_user_level=gramps
@ -10,7 +10,7 @@ application/x-gramps:
open=gramps %f
application/x-gramps-package:
_description=Gramps package
_description=GRAMPS package
default_action_type=application
short_list_application_ids=gramps
short_list_application_ids_for_novice_user_level=gramps
@ -21,7 +21,7 @@ application/x-gramps-package:
open=gramps %f
application/x-gramps-xml:
_description=Gramps XML database
_description=GRAMPS XML database
default_action_type=application
short_list_application_ids=gramps
short_list_application_ids_for_novice_user_level=gramps

View File

@ -4,7 +4,7 @@
<mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info">
<mime-type type="application/x-gramps">
<_comment>Gramps database</_comment>
<_comment>GRAMPS database</_comment>
<glob pattern="*.grdb"/>
</mime-type>
<mime-type type="application/x-gedcom">
@ -18,11 +18,11 @@
</magic>
</mime-type>
<mime-type type="application/x-gramps-package">
<_comment>Gramps package</_comment>
<_comment>GRAMPS package</_comment>
<glob pattern="*.gpkg"/>
</mime-type>
<mime-type type="application/x-gramps-xml">
<_comment>Gramps XML database</_comment>
<_comment>GRAMPS XML database</_comment>
<glob pattern="*.gramps"/>
<magic priority="80">
<match type="string" value="&lt;!DOCTYPE database" offset="0:256"/>

View File

@ -1,91 +0,0 @@
<?xml version="1.0"?>
<!--
Gramps - a GTK+/GNOME based genealogy program
Copyright (C) 2011 Michiel D. Nauta
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$
-->
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:g="http://gramps-project.org/xml/1.4.0/">
<!--
Transform a Gramps XML file into "canonical form", that is strip the
timestamps in the change attributes, and order all elements for which
the id attribute is used. The idea is that "canonical Gramps XML" files
can be compared with eachother with the help of ordinary diff tools.
-->
<xsl:output method="xml"/>
<xsl:param name="replace_handles"/>
<xsl:key name="primary_obj" match="g:person|g:family|g:event|g:placeobj|g:source|g:repository|g:object|g:note|g:tag" use="@handle"/>
<xsl:template match="*|@*|text()">
<xsl:copy>
<xsl:apply-templates select="*|@*|text()"/>
</xsl:copy>
</xsl:template>
<xsl:template match="@change">
</xsl:template>
<xsl:template match="g:researcher">
<xsl:copy/>
</xsl:template>
<xsl:template match="g:people|g:families|g:events|g:places|g:sources|g:repositories|g:objects|g:notes|g:tags">
<xsl:copy>
<xsl:apply-templates select="*">
<xsl:sort select="@id"/>
</xsl:apply-templates>
</xsl:copy>
</xsl:template>
<xsl:template match="@handle">
<xsl:choose>
<xsl:when test="$replace_handles='ID'">
<xsl:attribute name="handle">
<xsl:value-of select="../@id"/>
</xsl:attribute>
</xsl:when>
<xsl:when test="$replace_handles='strip'">
</xsl:when>
<xsl:otherwise>
<xsl:copy/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template match="@hlink">
<xsl:choose>
<xsl:when test="$replace_handles='ID'">
<xsl:attribute name="hlink">
<xsl:value-of select="key('primary_obj',.)/@id"/>
</xsl:attribute>
</xsl:when>
<xsl:when test="$replace_handles='strip'">
</xsl:when>
<xsl:otherwise>
<xsl:copy/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
</xsl:stylesheet>

View File

@ -3,9 +3,8 @@
<!--
# Gramps - a GTK+/GNOME based genealogy program
#
# Copyright (C) 2001 Graham J. Williams
# Copyright (C) 2001 Graham J. Williams
# Copyright (C) 2000-2007 Donald N. Allingham
# Copyright (C) 2010-2011 Nick Hall
#
# 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
@ -25,52 +24,45 @@
-->
<!--
This is the Document Type Definition file for v1.5.0
This is the Document Type Definition file for v1.3.0
of the GRAMPS XML genealogy data format.
Please use the following formal public identifier to identify it:
"-//GRAMPS//DTD GRAMPS XML V1.5.0//EN"
"-//GRAMPS//DTD GRAMPS XML V1.3.0//EN"
For example:
<!DOCTYPE database PUBLIC "-//GRAMPS//DTD GRAMPS XML V1.5.0//EN"
"http://gramps-project.org/xml/1.5.0/grampsxml.dtd"
<!DOCTYPE database PUBLIC "-//GRAMPS//DTD GRAMPS XML V1.3.0//EN"
"http://gramps-project.org/xml/1.3.0/grampsxml.dtd"
[...]>
-->
<!--
DATABASE
Defines an XML document which is a <database> consisting of a
Defines an XML document which is a <database> consisting of a
header Information about the "owner" of the database
name-formats
people
families
events
places
citations
sources
objects
repositories
notes
tags
bookmarks
namemaps
tags
header Information about the "owner" of the database
people
families
sources
places
objects
repositories
notes
bookmarks
-->
<!ELEMENT database (header, name-formats?, tags?, events?, people?, families?,
citations?, sources?, places?, objects?, repositories?,
notes?, bookmarks?, namemaps?)>
<!ATTLIST database xmlns CDATA #FIXED "http://gramps-project.org/xml/1.5.0/">
<!ELEMENT database (header, name-formats?, events?, people?, families?,
sources?, places?, objects?, repositories?, notes?,
bookmarks?,namemaps?)>
<!ATTLIST database xmlns CDATA #FIXED "http://gramps-project.org/xml/1.3.0/">
<!-- ************************************************************
<!-- ************************************************************
HEADER
A <header> consists of <created> (information about this
genealogical database) and <researcher> (information about the
person who created this genealogical database)
A <header> consists of <created> (information about this
genealogical database) and <researcher> (information about the
person who created this genealogical database)
-->
<!ELEMENT header (created, researcher?, mediapath?)>
@ -81,21 +73,20 @@ HEADER
version CDATA #REQUIRED
>
<!ELEMENT researcher (resname?, resaddr?, reslocality?, rescity?, resstate?,
<!ELEMENT researcher (resname, resaddr?, rescity?, resstate?,
rescountry?, respostal?, resphone?, resemail?)>
<!ELEMENT resname (#PCDATA)>
<!ELEMENT resaddr (#PCDATA)>
<!ELEMENT reslocality (#PCDATA)>
<!ELEMENT rescity (#PCDATA)>
<!ELEMENT resstate (#PCDATA)>
<!ELEMENT rescountry (#PCDATA)>
<!ELEMENT respostal (#PCDATA)>
<!ELEMENT resphone (#PCDATA)>
<!ELEMENT resemail (#PCDATA)>
<!ELEMENT resname (#PCDATA)>
<!ELEMENT resaddr (#PCDATA)>
<!ELEMENT rescity (#PCDATA)>
<!ELEMENT resstate (#PCDATA)>
<!ELEMENT rescountry (#PCDATA)>
<!ELEMENT respostal (#PCDATA)>
<!ELEMENT resphone (#PCDATA)>
<!ELEMENT resemail (#PCDATA)>
<!ELEMENT mediapath (#PCDATA)>
<!-- ************************************************************
<!-- ************************************************************
PEOPLE
-->
@ -105,13 +96,14 @@ PEOPLE
home IDREF #IMPLIED
>
<!ELEMENT person (gender, name*, eventref*, lds_ord*,
<!ELEMENT person (gender, name*, nick?, eventref*, lds_ord*,
objref*, address*, attribute*, url*, childof*,
parentin*, personref*, noteref*, citationref*, tagref*)>
parentin*, personref*, noteref*, sourceref*)>
<!ATTLIST person
id CDATA #IMPLIED
id CDATA #REQUIRED
handle ID #REQUIRED
priv (0|1) #IMPLIED
marker CDATA #IMPLIED
change CDATA #REQUIRED
>
@ -120,8 +112,8 @@ GENDER has values of M, F, or U.
-->
<!ELEMENT gender (#PCDATA)>
<!ELEMENT name (first?, call?, surname*, suffix?, title?, nick?, familynick?, group?,
(daterange|datespan|dateval|datestr)?, noteref*, citationref*)>
<!ELEMENT name (first?,call?,last?,suffix?,patronymic?,title?,
(daterange|datespan|dateval|datestr)?,noteref*,sourceref*)>
<!ATTLIST name
alt (0|1) #IMPLIED
type CDATA #IMPLIED
@ -132,18 +124,16 @@ GENDER has values of M, F, or U.
<!ELEMENT first (#PCDATA)>
<!ELEMENT call (#PCDATA)>
<!ELEMENT suffix (#PCDATA)>
<!ELEMENT title (#PCDATA)>
<!ELEMENT nick (#PCDATA)>
<!ELEMENT familynick (#PCDATA)>
<!ELEMENT group (#PCDATA)>
<!ELEMENT surname (#PCDATA)>
<!ATTLIST surname
prefix CDATA #IMPLIED
prim (1|0) #IMPLIED
derivation CDATA #IMPLIED
connector CDATA #IMPLIED
<!ELEMENT last (#PCDATA)>
<!ATTLIST last
prefix CDATA #IMPLIED
group CDATA #IMPLIED
>
<!ELEMENT suffix (#PCDATA)>
<!ELEMENT patronymic (#PCDATA)>
<!ELEMENT title (#PCDATA)>
<!ELEMENT nick (#PCDATA)>
<!ELEMENT childof EMPTY>
<!ATTLIST childof hlink IDREF #REQUIRED
@ -152,41 +142,40 @@ GENDER has values of M, F, or U.
<!ELEMENT parentin EMPTY>
<!ATTLIST parentin hlink IDREF #REQUIRED>
<!ELEMENT personref (citationref*, noteref*)>
<!ELEMENT personref (sourceref*,noteref*)>
<!ATTLIST personref
hlink IDREF #REQUIRED
priv (0|1) #IMPLIED
rel CDATA #REQUIRED
hlink IDREF #REQUIRED
priv (0|1) #IMPLIED
rel CDATA #REQUIRED
>
<!ELEMENT address ((daterange|datespan|dateval|datestr)?, street?,
locality?, city?, county?, state?, country?, postal?,
phone?, noteref*,citationref*)>
<!ELEMENT address ((daterange|datespan|dateval|datestr)?,street?,city?,
county?,state?,country?,postal?,phone?,noteref*,sourceref*)>
<!ATTLIST address priv (0|1) #IMPLIED>
<!ELEMENT street (#PCDATA)>
<!ELEMENT locality (#PCDATA)>
<!ELEMENT city (#PCDATA)>
<!ELEMENT county (#PCDATA)>
<!ELEMENT state (#PCDATA)>
<!ELEMENT country (#PCDATA)>
<!ELEMENT postal (#PCDATA)>
<!ELEMENT phone (#PCDATA)>
<!ELEMENT street (#PCDATA)>
<!ELEMENT city (#PCDATA)>
<!ELEMENT county (#PCDATA)>
<!ELEMENT country (#PCDATA)>
<!ELEMENT postal (#PCDATA)>
<!ELEMENT state (#PCDATA)>
<!ELEMENT phone (#PCDATA)>
<!-- ************************************************************
<!-- ************************************************************
FAMILY
An element to record information about a family.
An element to record information about a family.
-->
<!ELEMENT families (family)*>
<!ELEMENT family (rel?, father?, mother?, eventref*, lds_ord*, objref*,
childref*, attribute*, noteref*, citationref*, tagref*)>
<!ELEMENT family (rel?,father?,mother?,eventref*,lds_ord*,
objref*,childref*,attribute*,noteref*,sourceref*)>
<!ATTLIST family
id CDATA #IMPLIED
id CDATA #REQUIRED
handle ID #REQUIRED
priv (0|1) #IMPLIED
marker CDATA #IMPLIED
change CDATA #REQUIRED
>
@ -196,12 +185,12 @@ FAMILY
<!ELEMENT mother EMPTY>
<!ATTLIST mother hlink IDREF #REQUIRED>
<!ELEMENT childref (citationref*,noteref*)>
<!ELEMENT childref (sourceref*,noteref*)>
<!ATTLIST childref
hlink IDREF #REQUIRED
priv (0|1) #IMPLIED
mrel (None|Birth|Adopted|Stepchild|Sponsored|Foster|Other|Unknown) #IMPLIED
frel (None|Birth|Adopted|Stepchild|Sponsored|Foster|Other|Unknown) #IMPLIED
hlink IDREF #REQUIRED
priv (0|1) #IMPLIED
mrel (None|Birth|Adopted|Stepchild|Sponsored|Foster|Other|Unknown) #IMPLIED
frel (None|Birth|Adopted|Stepchild|Sponsored|Foster|Other|Unknown) #IMPLIED
>
<!ELEMENT type (#PCDATA)>
@ -209,31 +198,33 @@ FAMILY
<!ELEMENT rel EMPTY>
<!ATTLIST rel type CDATA #REQUIRED>
<!-- ************************************************************
<!-- ************************************************************
EVENT
-->
<!ELEMENT events (event)*>
<!ELEMENT event (type?, (daterange|datespan|dateval|datestr)?, place?, cause?,
description?, attribute*, noteref*, citationref*, objref*)>
<!ELEMENT event (type?,(daterange|datespan|dateval|datestr)?,place?,cause?,
description?,attribute*,noteref*,sourceref*,objref*)>
<!ATTLIST event
id CDATA #IMPLIED
id CDATA #REQUIRED
handle ID #REQUIRED
priv (0|1) #IMPLIED
marker CDATA #IMPLIED
change CDATA #REQUIRED
>
<!-- ************************************************************
<!-- ************************************************************
SOURCES
-->
<!ELEMENT sources (source)*>
<!ELEMENT source (stitle?, sauthor?, spubinfo?, sabbrev?,
noteref*, objref*, data_item*, reporef*)>
<!ELEMENT source (stitle?,sauthor?,spubinfo?,sabbrev?,
noteref*,objref*,data_item*,reporef*)>
<!ATTLIST source
id CDATA #IMPLIED
id CDATA #REQUIRED
handle ID #REQUIRED
priv (0|1) #IMPLIED
marker CDATA #IMPLIED
change CDATA #REQUIRED
>
<!ELEMENT stitle (#PCDATA)>
@ -241,22 +232,22 @@ SOURCES
<!ELEMENT spubinfo (#PCDATA)>
<!ELEMENT sabbrev (#PCDATA)>
<!-- ************************************************************
<!-- ************************************************************
PLACES
-->
<!ELEMENT places (placeobj)*>
<!ELEMENT placeobj (ptitle?, coord?, location*, objref*, url*, noteref*,
citationref*)>
<!ELEMENT placeobj (ptitle?,coord?,location*,objref*,url*,noteref*,sourceref*)>
<!ATTLIST placeobj
id CDATA #IMPLIED
id CDATA #REQUIRED
handle ID #REQUIRED
priv (0|1) #IMPLIED
marker CDATA #IMPLIED
change CDATA #REQUIRED
>
<!ELEMENT ptitle (#PCDATA)>
<!ELEMENT ptitle (#PCDATA)>
<!ELEMENT coord EMPTY>
<!ATTLIST coord
@ -266,29 +257,29 @@ PLACES
<!ELEMENT location EMPTY>
<!ATTLIST location
street CDATA #IMPLIED
locality CDATA #IMPLIED
city CDATA #IMPLIED
parish CDATA #IMPLIED
county CDATA #IMPLIED
state CDATA #IMPLIED
country CDATA #IMPLIED
postal CDATA #IMPLIED
phone CDATA #IMPLIED
street CDATA #IMPLIED
city CDATA #IMPLIED
parish CDATA #IMPLIED
county CDATA #IMPLIED
state CDATA #IMPLIED
country CDATA #IMPLIED
postal CDATA #IMPLIED
phone CDATA #IMPLIED
>
<!-- ************************************************************
<!-- ************************************************************
OBJECTS
-->
<!ELEMENT objects (object)*>
<!ELEMENT object (file, attribute*, noteref*,
(daterange|datespan|dateval|datestr)?, citationref*, tagref*)>
<!ELEMENT object (file,attribute*,noteref*,
(daterange|datespan|dateval|datestr)?,sourceref*)>
<!ATTLIST object
id CDATA #IMPLIED
id CDATA #REQUIRED
handle ID #REQUIRED
priv (0|1) #IMPLIED
marker CDATA #IMPLIED
change CDATA #REQUIRED
>
@ -299,96 +290,67 @@ OBJECTS
description CDATA #REQUIRED
>
<!-- ************************************************************
<!-- ************************************************************
REPOSITORIES
-->
<!ELEMENT repositories (repository)*>
<!ELEMENT repository (rname, type, address*, url*, noteref*)>
<!ELEMENT repository (rname,type,address*,url*,noteref*)>
<!ATTLIST repository
id CDATA #IMPLIED
id CDATA #REQUIRED
handle ID #REQUIRED
priv (0|1) #IMPLIED
marker CDATA #IMPLIED
change CDATA #REQUIRED
>
<!ELEMENT rname (#PCDATA)>
<!-- ************************************************************
<!-- ************************************************************
NOTES
-->
<!ELEMENT notes (note)*>
<!ELEMENT note (text, style*, tagref*)>
<!ELEMENT note (text,tag*)>
<!ATTLIST note
id CDATA #IMPLIED
id CDATA #REQUIRED
handle ID #REQUIRED
priv (0|1) #IMPLIED
change CDATA #REQUIRED
format (0|1) #IMPLIED
type CDATA #REQUIRED
marker CDATA #IMPLIED
change CDATA #REQUIRED
format (0|1) #IMPLIED
type CDATA #REQUIRED
>
<!ELEMENT text (#PCDATA)>
<!ELEMENT style (range+)>
<!ATTLIST style
name (bold|italic|underline|fontface|fontsize|
fontcolor|highlight|superscript|link) #REQUIRED
value CDATA #IMPLIED
<!ELEMENT tag (range+)>
<!ATTLIST tag
name (bold|italic|underline|fontface|fontsize|
fontcolor|highlight|superscript) #REQUIRED
value CDATA #IMPLIED
>
<!ELEMENT range EMPTY>
<!ATTLIST range
start CDATA #REQUIRED
end CDATA #REQUIRED
start CDATA #REQUIRED
end CDATA #REQUIRED
>
<!-- ************************************************************
TAGS
-->
<!ELEMENT tags (tag)*>
<!ELEMENT tag EMPTY>
<!ATTLIST tag
handle ID #REQUIRED
name CDATA #REQUIRED
color CDATA #REQUIRED
priority CDATA #REQUIRED
change CDATA #REQUIRED
>
<!-- ************************************************************
CITATIONS
-->
<!ELEMENT citations (citation)*>
<!ELEMENT citation ((daterange|datespan|dateval|datestr)?, page?, confidence?,
noteref*, objref*, data_item*, sourceref)>
<!ATTLIST citation
id CDATA #IMPLIED
handle ID #REQUIRED
priv (0|1) #IMPLIED
change CDATA #REQUIRED
>
<!-- ************************************************************
<!-- ************************************************************
BOOKMARKS
-->
<!ELEMENT bookmarks (bookmark)*>
<!ELEMENT bookmark EMPTY>
<!ATTLIST bookmark
target (person|family|event|source|citation|place|media|repository|
note) #REQUIRED
target (person|family|event|source|place|media|repository) #REQUIRED
hlink IDREF #REQUIRED
>
<!-- ************************************************************
<!-- ************************************************************
NAME MAPS
-->
<!ELEMENT namemaps (map)*>
@ -399,7 +361,7 @@ NAME MAPS
value CDATA #REQUIRED
>
<!-- ************************************************************
<!-- ************************************************************
NAME FORMATS
-->
@ -412,10 +374,10 @@ NAME FORMATS
active (0|1) #IMPLIED
>
<!-- ************************************************************
<!-- ************************************************************
SHARED ELEMENTS
-->
<!ELEMENT daterange EMPTY>
<!ELEMENT daterange EMPTY>
<!ATTLIST daterange
start CDATA #REQUIRED
stop CDATA #REQUIRED
@ -425,17 +387,17 @@ SHARED ELEMENTS
newyear CDATA #IMPLIED
>
<!ELEMENT datespan EMPTY>
<!ELEMENT datespan EMPTY>
<!ATTLIST datespan
start CDATA #REQUIRED
stop CDATA #REQUIRED
quality (estimated|calculated) #IMPLIED
cformat CDATA #IMPLIED
start CDATA #REQUIRED
stop CDATA #REQUIRED
quality (estimated|calculated) #IMPLIED
cformat CDATA #IMPLIED
dualdated (0|1) #IMPLIED
newyear CDATA #IMPLIED
>
<!ELEMENT dateval EMPTY>
<!ELEMENT dateval EMPTY>
<!ATTLIST dateval
val CDATA #REQUIRED
type (before|after|about) #IMPLIED
@ -445,20 +407,17 @@ SHARED ELEMENTS
newyear CDATA #IMPLIED
>
<!ELEMENT datestr EMPTY>
<!ELEMENT datestr EMPTY>
<!ATTLIST datestr val CDATA #REQUIRED>
<!ELEMENT citationref EMPTY>
<!ATTLIST citationref
hlink IDREF #REQUIRED
>
<!ELEMENT sourceref EMPTY>
<!ELEMENT sourceref (spage?,noteref*,(daterange|datespan|dateval|datestr)?)>
<!ATTLIST sourceref
hlink IDREF #REQUIRED
priv (0|1) #IMPLIED
conf CDATA #IMPLIED
>
<!ELEMENT eventref (attribute*, noteref*)>
<!ELEMENT eventref (attribute*,noteref*)>
<!ATTLIST eventref
hlink IDREF #REQUIRED
priv (0|1) #IMPLIED
@ -478,19 +437,13 @@ SHARED ELEMENTS
hlink IDREF #REQUIRED
>
<!ELEMENT tagref EMPTY>
<!ATTLIST tagref
hlink IDREF #REQUIRED
>
<!ELEMENT spage (#PCDATA)>
<!ELEMENT page (#PCDATA)>
<!ELEMENT confidence (#PCDATA)>
<!ELEMENT attribute (citationref*, noteref*)>
<!ELEMENT attribute (sourceref*,noteref*)>
<!ATTLIST attribute
priv (0|1) #IMPLIED
type CDATA #REQUIRED
value CDATA #REQUIRED
priv (0|1) #IMPLIED
type CDATA #REQUIRED
value CDATA #REQUIRED
>
<!ELEMENT place EMPTY>
@ -501,13 +454,13 @@ SHARED ELEMENTS
<!ELEMENT url EMPTY>
<!ATTLIST url
priv (0|1) #IMPLIED
type CDATA #IMPLIED
href CDATA #REQUIRED
priv (0|1) #IMPLIED
type CDATA #IMPLIED
href CDATA #REQUIRED
description CDATA #IMPLIED
>
<!ELEMENT objref (region?, attribute*, citationref*, noteref*)>
<!ELEMENT objref (region?,attribute*,sourceref*,noteref*)>
<!ATTLIST objref
hlink IDREF #REQUIRED
priv (0|1) #IMPLIED
@ -527,10 +480,10 @@ SHARED ELEMENTS
value CDATA #REQUIRED
>
<!ELEMENT lds_ord ((daterange|datespan|dateval|datestr)?, temple?, place?,
status?, sealed_to?, noteref*, citationref*)>
<!ELEMENT lds_ord ((daterange|datespan|dateval|datestr)?,temple?,place?,
status?,sealed_to?,noteref*,sourceref*)>
<!ATTLIST lds_ord
priv (0|1) #IMPLIED
priv (0|1) #IMPLIED
type CDATA #REQUIRED
>

View File

@ -4,7 +4,6 @@
# Gramps - a GTK+/GNOME based genealogy program
#
# Copyright (C) 2005-2007 Donald N. Allingham
# Copyright (C) 2010-2011 Nick Hall
#
# 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
@ -32,7 +31,7 @@
<grammar
datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"
ns="http://gramps-project.org/xml/1.5.0/"
ns="http://gramps-project.org/xml/1.3.0/"
xmlns="http://relaxng.org/ns/structure/1.0">
<start><element name="database">
@ -42,15 +41,10 @@
<attribute name="date"><data type="date"/></attribute>
<attribute name="version"><text/></attribute>
</element>
<element name="researcher">
<optional>
<optional><element name="researcher">
<ref name="researcher-content"/>
</optional>
</element>
<optional>
<element name="mediapath"><text/>
</element>
</optional>
</element></optional>
<optional><element name="mediapath"><text/></element></optional>
</element>
<optional><element name="name-formats">
@ -59,12 +53,6 @@
</element></zeroOrMore>
</element></optional>
<optional><element name="tags">
<zeroOrMore><element name="tag">
<ref name="tag-content"/>
</element></zeroOrMore>
</element></optional>
<optional><element name="events">
<zeroOrMore><element name="event">
<ref name="event-content"/>
@ -87,12 +75,6 @@
</element></zeroOrMore>
</element></optional>
<optional><element name="citations">
<zeroOrMore><element name="citation">
<ref name="citation-content"/>
</element></zeroOrMore>
</element></optional>
<optional><element name="sources">
<zeroOrMore><element name="source">
<ref name="source-content"/>
@ -139,7 +121,6 @@
<define name="researcher-content">
<element name="resname"><text/></element>
<optional><element name="resaddr"><text/></element></optional>
<optional><element name="reslocality"><text/></element></optional>
<optional><element name="rescity"><text/></element></optional>
<optional><element name="resstate"><text/></element></optional>
<optional><element name="rescountry"><text/></element></optional>
@ -148,18 +129,15 @@
<optional><element name="resemail"><text/></element></optional>
</define>
<define name="table-object">
<attribute name="handle"><data type="ID"/></attribute>
<attribute name="change"><text/></attribute>
</define>
<define name="primary-object">
<ref name="table-object"/>
<optional><attribute name="id"><text/></attribute></optional>
<attribute name="id"><text/></attribute>
<attribute name="handle"><data type="ID"/></attribute>
<optional><attribute name="priv"><choice>
<value>0</value>
<value>1</value>
</choice></attribute></optional>
<optional><attribute name="marker"><text/></attribute></optional>
<attribute name="change"><text/></attribute>
</define>
<define name="person-content">
@ -172,6 +150,7 @@
<zeroOrMore><element name="name">
<ref name="name-content"/>
</element></zeroOrMore>
<optional><element name="nick"><text/></element></optional>
<zeroOrMore><element name="eventref">
<ref name="eventref-content"/>
</element></zeroOrMore>
@ -197,16 +176,17 @@
<attribute name="hlink"><data type="IDREF"/></attribute>
</element></zeroOrMore>
<zeroOrMore><element name="personref">
<ref name="personref-content"/>
<attribute name="hlink"><data type="IDREF"/></attribute>
<optional><attribute name="priv">
<ref name="priv-content"/>
</attribute></optional>
<attribute name="rel"><text/></attribute>
</element></zeroOrMore>
<zeroOrMore><element name="noteref">
<ref name="noteref-content"/>
</element></zeroOrMore>
<zeroOrMore><element name="citationref">
<ref name="citationref-content"/>
</element></zeroOrMore>
<zeroOrMore><element name="tagref">
<ref name="tagref-content"/>
<zeroOrMore><element name="sourceref">
<ref name="sourceref-content"/>
</element></zeroOrMore>
</define>
@ -232,7 +212,6 @@
<ref name="priv-content"/>
</attribute></optional>
<optional><attribute name="type"><choice>
<value>Unknown</value>
<value>Also Known As</value>
<value>Birth Name</value>
<value>Married Name</value>
@ -242,54 +221,29 @@
<optional><attribute name="display"><text/></attribute></optional>
<optional><element name="first"><text/></element></optional>
<optional><element name="call"><text/></element></optional>
<zeroOrMore><element name="surname">
<ref name="surname-content"/>
</element></zeroOrMore>
<optional><element name="last">
<text/>
<optional><attribute name="prefix"><text/></attribute></optional>
<optional><attribute name="group"><text/></attribute></optional>
</element></optional>
<optional><element name="suffix"><text/></element></optional>
<optional><element name="patronymic"><text/></element></optional>
<optional><element name="title"><text/></element></optional>
<optional><element name="nick"><text/></element></optional>
<optional><element name="familynick"><text/></element></optional>
<optional><element name="group"><text/></element></optional>
<optional><ref name="date-content"/></optional>
<zeroOrMore><element name="noteref">
<ref name="noteref-content"/>
</element></zeroOrMore>
<zeroOrMore><element name="citationref">
<ref name="citationref-content"/>
<zeroOrMore><element name="sourceref">
<ref name="sourceref-content"/>
</element></zeroOrMore>
</define>
<define name="surname-content">
<text/>
<optional><attribute name="prefix"><text/></attribute></optional>
<optional><attribute name="prim"><choice>
<value>1</value>
<value>0</value>
</choice></attribute></optional>
<optional><attribute name="derivation"><choice>
<value>Unknown</value>
<value>Inherited</value>
<value>Given</value>
<value>Taken</value>
<value>Patronymic</value>
<value>Matronymic</value>
<value>Feudal</value>
<value>Pseudonym</value>
<value>Patrilineal</value>
<value>Matrilineal</value>
<value>Occupation</value>
<value>Location</value>
</choice></attribute></optional>
<optional><attribute name="connector"><text/></attribute></optional>
</define>
<define name="address-content">
<optional><attribute name="priv">
<ref name="priv-content"/>
</attribute></optional>
<optional><ref name="date-content"/></optional>
<optional><element name="street"><text/></element></optional>
<optional><element name="locality"><text/></element></optional>
<optional><element name="city"><text/></element></optional>
<optional><element name="county"><text/></element></optional>
<optional><element name="state"><text/></element></optional>
@ -299,8 +253,8 @@
<zeroOrMore><element name="noteref">
<ref name="noteref-content"/>
</element></zeroOrMore>
<zeroOrMore><element name="citationref">
<ref name="citationref-content"/>
<zeroOrMore><element name="sourceref">
<ref name="sourceref-content"/>
</element></zeroOrMore>
</define>
@ -314,10 +268,10 @@
<value>calculated</value>
</choice></attribute></optional>
<optional><attribute name="cformat"><text/></attribute></optional>
<optional><attribute name="dualdated">
<optional><attribute name="dualdated">
<choice><value>0</value><value>1</value></choice>
</attribute></optional>
<optional><attribute name="newyear"><text/></attribute></optional>
</attribute></optional>
<optional><attribute name="newyear"><text/></attribute></optional>
</element>
<element name="datespan">
<attribute name="start"><text/></attribute>
@ -327,10 +281,10 @@
<value>calculated</value>
</choice></attribute></optional>
<optional><attribute name="cformat"><text/></attribute></optional>
<optional><attribute name="dualdated">
<optional><attribute name="dualdated">
<choice><value>0</value><value>1</value></choice>
</attribute></optional>
<optional><attribute name="newyear"><text/></attribute></optional>
</attribute></optional>
<optional><attribute name="newyear"><text/></attribute></optional>
</element>
<element name="dateval">
<attribute name="val"><text/></attribute>
@ -344,10 +298,10 @@
<value>estimated</value>
<value>calculated</value>
</choice></attribute></optional>
<optional><attribute name="dualdated">
<optional><attribute name="dualdated">
<choice><value>0</value><value>1</value></choice>
</attribute></optional>
<optional><attribute name="newyear"><text/></attribute></optional>
</attribute></optional>
<optional><attribute name="newyear"><text/></attribute></optional>
</element>
<element name="datestr">
<attribute name="val"><text/></attribute>
@ -386,12 +340,6 @@
<optional><attribute name="frel">
<ref name="child-rel"/>
</attribute></optional>
<zeroOrMore><element name="citationref">
<ref name="citationref-content"/>
</element></zeroOrMore>
<zeroOrMore><element name="noteref">
<ref name="noteref-content"/>
</element></zeroOrMore>
</element></zeroOrMore>
<zeroOrMore><element name="attribute">
<ref name="attribute-content"/>
@ -400,11 +348,8 @@
<ref name="noteref-content"/>
</element></zeroOrMore>
<optional><ref name="date-content"/></optional>
<zeroOrMore><element name="citationref">
<ref name="citationref-content"/>
</element></zeroOrMore>
<zeroOrMore><element name="tagref">
<ref name="tagref-content"/>
<zeroOrMore><element name="sourceref">
<ref name="sourceref-content"/>
</element></zeroOrMore>
</define>
@ -422,32 +367,12 @@
<zeroOrMore><element name="noteref">
<ref name="noteref-content"/>
</element></zeroOrMore>
<zeroOrMore><element name="citationref">
<ref name="citationref-content"/>
</element></zeroOrMore>
<zeroOrMore><element name="objref">
<ref name="objref-content"/>
</element></zeroOrMore>
</define>
<define name="citation-content">
<ref name="primary-object"/>
<optional><ref name="date-content"/></optional>
<optional><element name="page"><text/></element></optional>
<optional><element name="confidence"><text/></element></optional>
<zeroOrMore><element name="noteref">
<ref name="noteref-content"/>
</element></zeroOrMore>
<zeroOrMore><element name="objref">
<ref name="objref-content"/>
</element></zeroOrMore>
<zeroOrMore><element name="data_item">
<attribute name="key"><text/></attribute>
<attribute name="value"><text/></attribute>
</element></zeroOrMore>
<element name="sourceref">
<zeroOrMore><element name="sourceref">
<ref name="sourceref-content"/>
</element>
</element></zeroOrMore>
<zeroOrMore><element name="objref">
<ref name="objref-content"/>
</element></zeroOrMore>
</define>
<define name="source-content">
@ -475,12 +400,11 @@
<ref name="primary-object"/>
<optional><element name="ptitle"><text/></element></optional>
<optional><element name="coord">
<attribute name="long"><text/></attribute>
<attribute name="lat"><text/></attribute>
<attribute name="long"><data type="float"/></attribute>
<attribute name="lat"><data type="float"/></attribute>
</element></optional>
<zeroOrMore><element name="location">
<optional><attribute name="street"><text/></attribute></optional>
<optional><attribute name="locality"><text/></attribute></optional>
<optional><attribute name="city"><text/></attribute></optional>
<optional><attribute name="parish"><text/></attribute></optional>
<optional><attribute name="county"><text/></attribute></optional>
@ -498,8 +422,8 @@
<zeroOrMore><element name="noteref">
<ref name="noteref-content"/>
</element></zeroOrMore>
<zeroOrMore><element name="citationref">
<ref name="citationref-content"/>
<zeroOrMore><element name="sourceref">
<ref name="sourceref-content"/>
</element></zeroOrMore>
</define>
@ -517,11 +441,8 @@
<ref name="noteref-content"/>
</element></zeroOrMore>
<optional><ref name="date-content"/></optional>
<zeroOrMore><element name="citationref">
<ref name="citationref-content"/>
</element></zeroOrMore>
<zeroOrMore><element name="tagref">
<ref name="tagref-content"/>
<zeroOrMore><element name="sourceref">
<ref name="sourceref-content"/>
</element></zeroOrMore>
</define>
@ -546,11 +467,9 @@
<value>family</value>
<value>event</value>
<value>source</value>
<value>citation</value>
<value>place</value>
<value>media</value>
<value>repository</value>
<value>note</value>
</choice></attribute>
<attribute name="hlink"><data type="IDREF"/></attribute>
</define>
@ -581,14 +500,11 @@
</choice></attribute></optional>
<attribute name="type"><text/></attribute>
<ref name="styledtext"/>
<zeroOrMore><element name="tagref">
<ref name="tagref-content"/>
</element></zeroOrMore>
</define>
<define name="styledtext">
<element name="text"><text/></element>
<zeroOrMore><element name="style">
<zeroOrMore><element name="tag">
<attribute name="name"><choice>
<value>bold</value>
<value>italic</value>
@ -598,7 +514,6 @@
<value>fontcolor</value>
<value>highlight</value>
<value>superscript</value>
<value>link</value>
</choice></attribute>
<optional><attribute name="value"><text/></attribute></optional>
<oneOrMore><element name="range">
@ -608,28 +523,19 @@
</element></zeroOrMore>
</define>
<define name="citationref-content">
<attribute name="hlink"><data type="IDREF"/></attribute>
</define>
<define name="personref-content">
<attribute name="hlink"><data type="IDREF"/></attribute>
<optional><attribute name="priv">
<ref name="priv-content"/>
</attribute></optional>
<attribute name="rel"><text/></attribute>
<optional><zeroOrMore><element name="citationref">
<ref name="citationref-content"/>
</element></zeroOrMore></optional>
<optional><zeroOrMore><element name="noteref">
<ref name="noteref-content"/>
</element></zeroOrMore></optional>
</define>
<define name="sourceref-content">
<attribute name="hlink"><data type="IDREF"/></attribute>
<optional><attribute name="priv">
<ref name="priv-content"/>
</attribute></optional>
<optional><attribute name="conf"><text/></attribute></optional>
<optional><element name="spage"><text/></element></optional>
<zeroOrMore><element name="noteref">
<ref name="noteref-content"/>
</element></zeroOrMore>
<optional><ref name="date-content"/></optional>
</define>
<define name="eventref-content">
<attribute name="hlink"><data type="IDREF"/></attribute>
<optional><attribute name="priv">
@ -673,8 +579,8 @@
</attribute></optional>
<attribute name="type"><text/></attribute>
<attribute name="value"><text/></attribute>
<zeroOrMore><element name="citationref">
<ref name="citationref-content"/>
<zeroOrMore><element name="sourceref">
<ref name="sourceref-content"/>
</element></zeroOrMore>
<zeroOrMore><element name="noteref">
<ref name="noteref-content"/>
@ -701,8 +607,8 @@
<zeroOrMore><element name="attribute">
<ref name="attribute-content"/>
</element></zeroOrMore>
<zeroOrMore><element name="citationref">
<ref name="citationref-content"/>
<zeroOrMore><element name="sourceref">
<ref name="sourceref-content"/>
</element></zeroOrMore>
<zeroOrMore><element name="noteref">
<ref name="noteref-content"/>
@ -731,8 +637,8 @@
<ref name="noteref-content"/>
</element></zeroOrMore>
<optional><ref name="date-content"/></optional>
<zeroOrMore><element name="citationref">
<ref name="citationref-content"/>
<zeroOrMore><element name="sourceref">
<ref name="sourceref-content"/>
</element></zeroOrMore>
</define>
@ -744,15 +650,4 @@
<text/>
</define>
<define name="tagref-content">
<attribute name="hlink"><data type="IDREF"/></attribute>
</define>
<define name="tag-content">
<ref name="table-object"/>
<attribute name="name"><text/></attribute>
<attribute name="color"><text/></attribute>
<attribute name="priority"><data type="integer"/></attribute>
</define>
</grammar>

View File

@ -1,7 +1,7 @@
# This is the data/man level Makefile for Gramps
# $Id$
SUBDIRS = fr sv nl pl cs pt_BR
SUBDIRS = fr sv nl pl
man_IN_FILES = gramps.1.in
man_MANS = $(man_IN_FILES:.1.in=.1)

View File

@ -1,243 +0,0 @@
# -*- coding: utf-8 -*-
#
# Gramps documentation build configuration file, created by
# sphinx-quickstart on Sat Dec 1 14:38:29 2012.
#
# This file is execfile()d with the current directory set to its containing dir.
#
# Note that not all possible configuration values are present in this
# autogenerated file.
#
# All configuration values have a default; values that are commented out
# serve to show the default.
import sys, os
# If extensions (or modules to document with autodoc) are in another directory,
# add these directories to sys.path here. If the directory is relative to the
# documentation root, use os.path.abspath to make it absolute, like shown here.
#sys.path.insert(0, os.path.abspath('.'))
# -- General configuration -----------------------------------------------------
# If your documentation needs a minimal Sphinx version, state it here.
#needs_sphinx = '1.0'
# Add any Sphinx extension module names here, as strings. They can be extensions
# coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
extensions = []
# Add any paths that contain templates here, relative to this directory.
templates_path = ['_templates']
# The suffix of source filenames.
source_suffix = '.rst'
# The encoding of source files.
#source_encoding = 'utf-8-sig'
# The master toctree document.
master_doc = 'index'
# General information about the project.
project = u'Gramps'
copyright = u'2012, Gramps project'
# The version info for the project you're documenting, acts as replacement for
# |version| and |release|, also used in various other places throughout the
# built documents.
#
# The short X.Y version.
version = '4.0'
# The full version, including alpha/beta/rc tags.
release = '4.0.0-alpha2'
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
#locale_dirs = './locale'
#gettext_compact = True
# There are two options for replacing |today|: either, you set today to some
# non-false value, then it is used:
#today = ''
# Else, today_fmt is used as the format for a strftime call.
today_fmt = '%B %d, %Y'
# List of patterns, relative to source directory, that match files and
# directories to ignore when looking for source files.
exclude_patterns = ['_build']
# The reST default role (used for this markup: `text`) to use for all documents.
#default_role = None
# If true, '()' will be appended to :func: etc. cross-reference text.
#add_function_parentheses = True
# If true, the current module name will be prepended to all description
# unit titles (such as .. function::).
#add_module_names = True
# If true, sectionauthor and moduleauthor directives will be shown in the
# output. They are ignored by default.
#show_authors = False
# The name of the Pygments (syntax highlighting) style to use.
pygments_style = 'sphinx'
# A list of ignored prefixes for module index sorting.
#modindex_common_prefix = []
# -- Options for HTML output ---------------------------------------------------
# The theme to use for HTML and HTML Help pages. See the documentation for
# a list of builtin themes.
html_theme = 'default'
# Theme options are theme-specific and customize the look and feel of a theme
# further. For a list of options available for each theme, see the
# documentation.
#html_theme_options = {}
# Add any paths that contain custom themes here, relative to this directory.
#html_theme_path = []
# The name for this set of Sphinx documents. If None, it defaults to
# "<project> v<release> documentation".
#html_title = None
# A shorter title for the navigation bar. Default is the same as html_title.
#html_short_title = None
# The name of an image file (relative to this directory) to place at the top
# of the sidebar.
#html_logo = None
# The name of an image file (within the static path) to use as favicon of the
# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32
# pixels large.
#html_favicon = None
# Add any paths that contain custom static files (such as style sheets) here,
# relative to this directory. They are copied after the builtin static files,
# so a file named "default.css" will overwrite the builtin "default.css".
#html_static_path = ['_static']
# If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
# using the given strftime format.
#html_last_updated_fmt = '%b %d, %Y'
# If true, SmartyPants will be used to convert quotes and dashes to
# typographically correct entities.
#html_use_smartypants = True
# Custom sidebar templates, maps document names to template names.
#html_sidebars = {}
# Additional templates that should be rendered to pages, maps page names to
# template names.
#html_additional_pages = {}
# If false, no module index is generated.
#html_domain_indices = True
# If false, no index is generated.
#html_use_index = True
# If true, the index is split into individual pages for each letter.
#html_split_index = False
# If true, links to the reST sources are added to the pages.
#html_show_sourcelink = True
# If true, "Created using Sphinx" is shown in the HTML footer. Default is True.
#html_show_sphinx = True
# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True.
#html_show_copyright = True
# If true, an OpenSearch description file will be output, and all pages will
# contain a <link> tag referring to it. The value of this option must be the
# base URL from which the finished HTML is served.
#html_use_opensearch = ''
# This is the file name suffix for HTML files (e.g. ".xhtml").
#html_file_suffix = None
# Output file base name for HTML help builder.
htmlhelp_basename = 'Grampsdoc'
# -- Options for LaTeX output --------------------------------------------------
latex_elements = {
# The paper size ('letterpaper' or 'a4paper').
#'papersize': 'letterpaper',
# The font size ('10pt', '11pt' or '12pt').
#'pointsize': '10pt',
# Additional stuff for the LaTeX preamble.
#'preamble': '',
}
# Grouping the document tree into LaTeX files. List of tuples
# (source start file, target name, title, author, documentclass [howto/manual]).
latex_documents = [
('index', 'Gramps.tex', u'Gramps Documentation',
u'.', 'manual'),
]
# The name of an image file (relative to this directory) to place at the top of
# the title page.
#latex_logo = None
# For "manual" documents, if this is true, then toplevel headings are parts,
# not chapters.
#latex_use_parts = False
# If true, show page references after internal links.
#latex_show_pagerefs = False
# If true, show URL addresses after external links.
#latex_show_urls = False
# Documents to append as an appendix to all manuals.
#latex_appendices = []
# If false, no module index is generated.
#latex_domain_indices = True
# -- Options for manual page output --------------------------------------------
# One entry per manual page. List of tuples
# (source start file, name, description, authors, manual section).
man_pages = [
('en', 'gramps', u'Gramps Documentation',
['Gramps project'], 1)
]
# If true, show URL addresses after external links.
#man_show_urls = False
# -- Options for Texinfo output ------------------------------------------------
# Grouping the document tree into Texinfo files. List of tuples
# (source start file, target name, title, author,
# dir menu entry, description, category)
texinfo_documents = [
('index', 'Gramps', u'Gramps Documentation',
u'.', 'Gramps', 'One line description of project.',
'Miscellaneous'),
]
# Documents to append as an appendix to all manuals.
#texinfo_appendices = []
# If false, no module index is generated.
#texinfo_domain_indices = True
# How to display URL addresses: 'footnote', 'no', or 'inline'.
#texinfo_show_urls = 'footnote'

View File

@ -1,14 +0,0 @@
# This is the data/man/sv level Makefile for Gramps
# $Id: Makefile.am 6189 2006-03-21 19:05:46Z rshura $
man_IN_FILES = gramps.1.in
man_MANS = $(man_IN_FILES:.1.in=.1)
mandir = @mandir@/cs
EXTRA_DIST = $(man_MANS) $(man_IN_FILES)
gramps.1: $(top_builddir)/config.status gramps.1.in
cd $(top_builddir) && CONFIG_FILES=data/man/cs/$@ $(SHELL) ./config.status
CLEANFILES=$(man_MANS)

View File

@ -1,243 +0,0 @@
# -*- coding: utf-8 -*-
#
# Gramps documentation build configuration file, created by
# sphinx-quickstart on Sat Dec 1 14:38:29 2012.
#
# This file is execfile()d with the current directory set to its containing dir.
#
# Note that not all possible configuration values are present in this
# autogenerated file.
#
# All configuration values have a default; values that are commented out
# serve to show the default.
import sys, os
# If extensions (or modules to document with autodoc) are in another directory,
# add these directories to sys.path here. If the directory is relative to the
# documentation root, use os.path.abspath to make it absolute, like shown here.
#sys.path.insert(0, os.path.abspath('.'))
# -- General configuration -----------------------------------------------------
# If your documentation needs a minimal Sphinx version, state it here.
#needs_sphinx = '1.0'
# Add any Sphinx extension module names here, as strings. They can be extensions
# coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
extensions = []
# Add any paths that contain templates here, relative to this directory.
templates_path = ['_templates']
# The suffix of source filenames.
source_suffix = '.rst'
# The encoding of source files.
#source_encoding = 'utf-8-sig'
# The master toctree document.
master_doc = 'cs'
# General information about the project.
project = u'Gramps'
copyright = u'2012, Gramps project'
# The version info for the project you're documenting, acts as replacement for
# |version| and |release|, also used in various other places throughout the
# built documents.
#
# The short X.Y version.
version = '4.0'
# The full version, including alpha/beta/rc tags.
release = '4.0.0'
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
locale_dirs = './locale'
gettext_compact = True
# There are two options for replacing |today|: either, you set today to some
# non-false value, then it is used:
#today = ''
# Else, today_fmt is used as the format for a strftime call.
today_fmt = '%B %d, %Y'
# List of patterns, relative to source directory, that match files and
# directories to ignore when looking for source files.
exclude_patterns = ['_build']
# The reST default role (used for this markup: `text`) to use for all documents.
#default_role = None
# If true, '()' will be appended to :func: etc. cross-reference text.
#add_function_parentheses = True
# If true, the current module name will be prepended to all description
# unit titles (such as .. function::).
#add_module_names = True
# If true, sectionauthor and moduleauthor directives will be shown in the
# output. They are ignored by default.
#show_authors = False
# The name of the Pygments (syntax highlighting) style to use.
pygments_style = 'sphinx'
# A list of ignored prefixes for module index sorting.
#modindex_common_prefix = []
# -- Options for HTML output ---------------------------------------------------
# The theme to use for HTML and HTML Help pages. See the documentation for
# a list of builtin themes.
html_theme = 'default'
# Theme options are theme-specific and customize the look and feel of a theme
# further. For a list of options available for each theme, see the
# documentation.
#html_theme_options = {}
# Add any paths that contain custom themes here, relative to this directory.
#html_theme_path = []
# The name for this set of Sphinx documents. If None, it defaults to
# "<project> v<release> documentation".
#html_title = None
# A shorter title for the navigation bar. Default is the same as html_title.
#html_short_title = None
# The name of an image file (relative to this directory) to place at the top
# of the sidebar.
#html_logo = None
# The name of an image file (within the static path) to use as favicon of the
# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32
# pixels large.
#html_favicon = None
# Add any paths that contain custom static files (such as style sheets) here,
# relative to this directory. They are copied after the builtin static files,
# so a file named "default.css" will overwrite the builtin "default.css".
#html_static_path = ['_static']
# If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
# using the given strftime format.
#html_last_updated_fmt = '%b %d, %Y'
# If true, SmartyPants will be used to convert quotes and dashes to
# typographically correct entities.
#html_use_smartypants = True
# Custom sidebar templates, maps document names to template names.
#html_sidebars = {}
# Additional templates that should be rendered to pages, maps page names to
# template names.
#html_additional_pages = {}
# If false, no module index is generated.
#html_domain_indices = True
# If false, no index is generated.
#html_use_index = True
# If true, the index is split into individual pages for each letter.
#html_split_index = False
# If true, links to the reST sources are added to the pages.
#html_show_sourcelink = True
# If true, "Created using Sphinx" is shown in the HTML footer. Default is True.
#html_show_sphinx = True
# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True.
#html_show_copyright = True
# If true, an OpenSearch description file will be output, and all pages will
# contain a <link> tag referring to it. The value of this option must be the
# base URL from which the finished HTML is served.
#html_use_opensearch = ''
# This is the file name suffix for HTML files (e.g. ".xhtml").
#html_file_suffix = None
# Output file base name for HTML help builder.
htmlhelp_basename = 'Grampsdoc'
# -- Options for LaTeX output --------------------------------------------------
latex_elements = {
# The paper size ('letterpaper' or 'a4paper').
#'papersize': 'letterpaper',
# The font size ('10pt', '11pt' or '12pt').
#'pointsize': '10pt',
# Additional stuff for the LaTeX preamble.
#'preamble': '',
}
# Grouping the document tree into LaTeX files. List of tuples
# (source start file, target name, title, author, documentclass [howto/manual]).
latex_documents = [
('index', 'Gramps.tex', u'Gramps Documentation',
u'.', 'manual'),
]
# The name of an image file (relative to this directory) to place at the top of
# the title page.
#latex_logo = None
# For "manual" documents, if this is true, then toplevel headings are parts,
# not chapters.
#latex_use_parts = False
# If true, show page references after internal links.
#latex_show_pagerefs = False
# If true, show URL addresses after external links.
#latex_show_urls = False
# Documents to append as an appendix to all manuals.
#latex_appendices = []
# If false, no module index is generated.
#latex_domain_indices = True
# -- Options for manual page output --------------------------------------------
# One entry per manual page. List of tuples
# (source start file, name, description, authors, manual section).
man_pages = [
('cs', 'gramps', u'Gramps Documentation',
[u'.'], 1)
]
# If true, show URL addresses after external links.
#man_show_urls = False
# -- Options for Texinfo output ------------------------------------------------
# Grouping the document tree into Texinfo files. List of tuples
# (source start file, target name, title, author,
# dir menu entry, description, category)
texinfo_documents = [
('index', 'Gramps', u'Gramps Documentation',
u'.', 'Gramps', 'One line description of project.',
'Miscellaneous'),
]
# Documents to append as an appendix to all manuals.
#texinfo_appendices = []
# If false, no module index is generated.
#texinfo_domain_indices = True
# How to display URL addresses: 'footnote', 'no', or 'inline'.
#texinfo_show_urls = 'footnote'

View File

@ -1,282 +0,0 @@
Czech
======
gramps(1) 3.4.0 gramps(1)
**JMÉNO**
gramps - programový systém pro správu genealogického výzkumu a analýzy.
**POUŽITÍ**
gramps [-?|--help] [--usage] [--version] [-l] [-u|--force-unlock]
[-O|--open= DATABÁZE [-f|--format= FORMÁT]] [-i|--import= SOUBOR
[-f|--format= FORMÁT]] [-i|--import= ...] [-e|--export= SOUBOR
[-f|--format= FORMÁT]] [-a|--action= AKCE] [-p|--options= PARAMETRY]] [
SOUBOR ] [--version]
**POPIS**
Gramps je zdarma šířený Open Source genealogický program. Je napsán v
jazyce Python s využitím rozhraní GTK+/GNOME. Gramps bude povědomý
komukoli, kdo už pracoval s jinými genealogickými programy jako Family
Tree Maker (TM), Personal Ancestral Files (TM), nebo GNU Geneweb.
Podporuje import dat z populárního formátu GEDCOM, který je celosvětově
rozšířen a je využíván téměř všemi ostatními genealogickými programy.
**MOŽNOSTI**
**gramps** *SOUBOR*
Pokud je zadán SOUBOR (bez dalších parametrů) jako název rodok
menu nebo jako adresář databáze rodokmenu, je gramps otevřeno v
interaktivním módu. Pokud je SOUBOR formátem podporovaným
Gramps, je vytvořen rodokmen s názvem založeným na názvu souboru
a data ze vstupu jsou do něho naimportována. Zbytek parametrů
příkazové řádky je ignorován. Tento způsob spouštění je vhodný
pro gramps použitý jako prohlížeč genealogických dat např. pro
webové prohlížeče. Spuštění tímto způsobem zpracuje jakákoli
data ve formátu podporovaném gramps, viz dále.
**-f** , **--format=** *FORMÁT*
Explicitně definuje formát SOUBORu předchozího parametru -i,
nebo -e. Pokud není parametr -f pro SOUBOR specifikován, bude
automaticky použit formát odpovídající koncovce souboru nebo
MIME-typu.
Formáty dostupné pro export jsou gramps-xml (automaticky použit
pokud má SOUBOR koncovku .gramps), gedcom (automaticky použit
pokud má SOUBOR koncovku .ged), případně jiný další formát dos
tupný prostřednictvím zásuvných modulů Gramps.
Formáty dostupné pro import jsou grdb, gramps-xml, gedcom,
gramps-pkg (automaticky použit pokud má SOUBOR koncovku .gpkg),
nebo geneweb (automaticky použit pokud má SOUBOR koncovku .gw).
Formáty dostupné pro export jsou gramps-xml, gedcom, gramps-pkg,
wft (automaticky použit pokud má SOUBOR koncovku .wft), geneweb,
a iso (nikdy není použit automaticky, vždy musí být specifikován
parametrem -f).
**-l**
Vypíše seznam známých rodokmenů.
**-u** , **--force-unlock**
Odemkne zamčenou databázi.
**-O** , **--open=** *DATABÁZE*
Otevření *DATABÁZE* . Hodnota musí být existujícím databázovým
adresářem, nebo názvem existujícího rodokmenu. Pokud na
příkazové řádce nejsou žádné parametry importu nebo exportu, je
nad danou databází spuštěna interaktivní relace.
**-i** , **--import=** *SOUBOR*
Importuje data ze SOUBORu. Pokud není specifikována databáze, je
použita dočasná. Ta je po ukončení gramps smazána.
Pokud je předáván více než jeden vstup, musí každému souboru
předcházet parametr -i. Soubory jsou zpracovávány v pořadí, v
jakém byly zadány na příkazové řádce. Např. -i SOUBOR1 -i SOU
BOR2 a -i SOUBOR2 -i SOUBOR1 mohou vytvořit ve výsledné databázi
různá gramps ID.
**-a** , **--action=** *AKCE*
Provedení AKCE nad importovanými daty. Akce jsou spuštěny poté
co jsou všechny importy dat úspěšně ukončeny. V tuto chvíli jsou
podporovány následující akce: summary (stejné jako
Zprávy->Pohled->Souhrn), check (stejné jako Nástroje->Database
Processing->Kontrola a oprava), report (vytvoří zprávu), a tool
(spustí nástroj zásuvného modulu). Akce report a tool potřebují
v PARAMETRY zadat parametr -p .
PARAMETRY by měly splňovat následující kritéria:
Nesmí obsahovat žádné mezery. Pokud některý argument potřebuje
mezeru, musí být řetězec uzavřen v uvozovkách (držet se syntaxe
příkazové řádky). Řetězec možností je seznam párů název=hod
nota. Jednotlivé páry musí být odděleny čárkami.
Většina možností nástrojů a zpráv jsou specifickými pro
konkrétní nástroj nebo zprávu. Existují ale i takové, které
jsou společné.
**name=name**
Povinná předvolba určující který nástroj nebo zpráva bude
spuštěna. Pokud zadané name neodpovídá žádné dostupné
funkčnosti, vypíše se chybové hlášení následované seznamem dos
tupných nástrojů a zpráv (záleží na AKCE).
**show=all**
Vytvoří seznam názvů všech předvoleb dostupných pro danou zprávu
nebo nástroj.
**show=optionname**
Vypíše popis všech funkcionalit poskytnutých optionname, ale
také všechny přijatelné typy a hodnoty pro tuto volbu.
Použijte výše popsané volby pro zjištění všech možností dané
zprávy.
Pokud je zadána jedna nebo více výstupních akcí, každá musí být uvozena
předvolbou -a. Akce jsou prováděny jedna za druhou v zadaném pořadí.
**-d** , **--debug=** *LOGGER_NAME*
Zapne ladicí výstup pro vývoj a testování. Detaily najdete ve
zdrojovém kódu.
**--version**
Vytiskne číslo verze gramps a skončí
**Chování**
Pokud první parametr příkazové řádky nezačíná pomlčkou, pokusí se
gramps otevřít soubor s názvem daným prvním argumentem na příkazové
řádce a spustit interaktivní relaci. Zbytek argumentů na příkazové
řádce je v tomto případě ignorován.
Pokud je zadán parametr -O, pak se gramps snaží otevřít zadanou
databázi a pracovat s jejími daty podle instrukcí dalších parametrů
příkazové řádky.
S nebo bez použití parametru -O může být provedeno více importů,
exportů, případně akcí daných argumenty příkazové řádky (-i, -e a -a).
Na pořadí parametrů -i, -e, nebo -a nezáleží. Aktuální pořadí zpra
cování je vždy: všechny importy (pokud jsou nějaké) -> všechny akce
(pokud jsou nějaké) -> všechny exporty (pokud jsou nějaké). Parametr
otevření musí být ale vždy první!
Pokud nejsou zadány -O nebo -i, gramps otevře své hlavní okno a spustí
se v obvyklém interaktivním módu s prázdnou databází.
Pokud nejsou zadány -e nebo -a, gramps otevře své hlavní okno a spustí
se v ovbyklém interaktnivním módu s databází vzniklou výsledkem všech
importů. Tato databáze je umístěna v souboru import_db.grdb v adresáři
~/.gramps/import.
Chyba vzniklá při importu, exportu nebo akci bude vypsána na stdout
(pokud se jedná o vyjímku ošetřenou gramps) nebo na stderr (pokud
problém není ošetřen). Pro uložení zpráv a chyb do souboru použijte
obvyklá přesměrování výstupů stdout a stderr příkazové řádky.
**PŘÍKLADY**
Otevření existujícího rodokmenu a import xml souboru do něho může být
proveden takto:
gramps -O 'Můj rodokmen' -i ~/db3.gramps
To samé, jen s importem do dočasné databáze a otevřením interaktivní
relace:
gramps -i 'My Family Tree' -i ~/db3.gramps
Import čtyř databází (jejichž formáty jsou stanoveny podle názvů sou
borů) a následná kontrola bezchybnosti výsledné databáze může být
provedena takto:
gramps -i file1.ged -i file2.tgz -i ~/db3.gramps -i file4.wft -a
check
Explicitní specifikace formátu databází předchozího příkladu přidáním
příslušného parametru -f za název souboru:
gramps -i file1.ged -f gedcom -i file2.tgz -f gramps-pkg -i
~/db3.gramps -f gramps-xml -i file4.wft -f wft -a check
Zapsání výsledné databáze vytvořené ze všech importů zajistí parametr
-e (použijte -f pokud nelze uhodnout formát z názvu souboru):
gramps -i file1.ged -i file2.tgz -e ~/nový-balíček -f gramps-pkg
Import tří databází a start interaktivní gramps relace nad výsledkem:
gramps -i file1.ged -i file2.tgz -i ~/db3.gramps
Spuštění nástroje kontroly z příkazové řádky s výstupem na stdout:
gramps -O 'Můj rodokmen' -a tool -p name=verify
A konečně spuštění normální interaktivní relace aplikace:
gramps
**PROMĚNNÉ PROSTŘEDÍ**
Program kontroluje, zda jsou nastaveny následující proměnné:
**LANG** - popisuje, který jazyk bude použit: Příklad: pro češtinu musí mít
proměnná hodnotu cs_CZ.utf8.
**GRAMPSHOME** - pokud je nastavena, Gramps použije její hodnotu jako
adresář v němž jsou uložena nastavení a databáze. Ve výchozím stavu,
kdy proměnná není nastavena gramps předpokládá že adresář s databázemi
a nastavením bude vytvořen v adresáři s uživatelským profile (popsán
proměnnou prostředí HOME v Linuxu nebo USERPROFILE ve Windows 2000/XP).
**KONCEPTY**
gramps podporuje systém zásuvných modulů založených na jazyku python
jehož prostřednictvím umožňuje přidání import/export modulů, modulů
pro vytváření zpráv, nástrojů a zobrazovacích filtrů bez nutnosti
zásahu do hlavního programu.
Dále, krom možnosti přímého tisku, dovoluje směřovat výstup také k
ostatním systémům a aplikacím jako např. OpenOffice.org, AbiWord, HTML,
nebo LaTeX. Tím dává možnost přizpůsobit formát požadavku uživatelů.
**ZNÁMÉ CHYBY A OMEZENÍ**
nejsou
**SOUBORY**
*${PREFIX}/bin/gramps*
*${PREFIX}/lib/python/dist-packages/gramps/*
*${PREFIX}/share/*
*${HOME}/.gramps*
**AUTOŘI**
Donald Allingham <don@gramps-project.org>
http://gramps-project.org/
Originální manuálovou stránku vytvořil:
Brandon L. Griffith <brandon@debian.org>
pro zařazení do systému Debian GNU/Linux.
Tuto manuálovou stránku přeložil a v současné době spravuje:
Zdeněk Hataš <zdenek.hatas@gmail.com>
**DOKUMENTACE**
Uživatelská dokumentace je k dispozici prostřednictvím standardního
prohlížeče nápovědy GNOME ve formě příručky Gramps. Příručka je také
dostupná ve formátu XML jako gramps-manual.xml v adresáři doc/gramps-
manual/$LANG v oficiální distribuci zdrojového kódu.
Dokumentace pro vývojáře je k dispozici na webu
http://www.gramps-project.org/wiki/index.php?title=Portal:Developers
Leden 2012 3.4.0 gramps(1)

View File

@ -1,323 +0,0 @@
.TH gramps 1 "@VERSION@" "Leden 2011" "@VERSION@"
.SH JMÉNO
gramps \- programový systém pro správu genealogického výzkumu a analýzy.
.SH POUŽITÍ
.B gramps
.RB [ \-?|\-\^\-help ]
.RB [ \-\^\-usage ]
.RB [ \-\^\-version ]
.RB [ \-l ]
.RB [ \-u|\-\^\-force-unlock ]
.RB [ \-O|\-\^\-open=
.IR DATABÁZE
.RB [ \-f|\-\^\-format=
.IR FORMÁT ]]
.RB [ \-i|\-\^\-import=
.IR SOUBOR
.RB [ \-f|\-\^\-format=
.IR FORMÁT ]]
.RB [ \-i|\-\^\-import=
.IR ... ]
.RB [ \-e|\-\^\-export=
.IR SOUBOR
.RB [ \-f|\-\^\-format=
.IR FORMÁT ]]
.RB [ \-a|\-\^\-action=
.IR AKCE ]
.RB [ \-p|\-\^\-options=
.IR PARAMETRY ]]
.RB [
.IR SOUBOR
.RB ]
.if 0 .RB [ bonobo\ options ]
.if 0 .RB [ sound\ options ]
.RB [ \-\-version ]
.SH POPIS
.PP
\fIGramps\fP je zdarma šířený Open Source genealogický program. Je napsán
v jazyce Python s využitím rozhraní GTK+/GNOME.
Gramps bude povědomý komukoli, kdo už pracoval s jinými genealogickými programy
jako \fIFamily Tree Maker (TM)\fR, \fIPersonal Ancestral
Files (TM)\fR, nebo GNU Geneweb.
Podporuje import dat z populárního formátu GEDCOM, který je celosvětově rozšířen
a je využíván téměř všemi ostatními genealogickými programy.
.SH MOŽNOSTI
.TP
.BI gramps " SOUBOR"
Pokud je zadán \fISOUBOR\fR (bez dalších parametrů) jako název rodokmenu
nebo jako adresář databáze rodokmenu, je gramps otevřeno v interaktivním
módu. Pokud je \fISOUBOR\fR formátem podporovaným Gramps, je vytvořen rodokmen
s názvem založeným na názvu souboru a data ze vstupu jsou do něho
naimportována. Zbytek parametrů příkazové řádky je ignorován.
Tento způsob spouštění je vhodný pro gramps použitý jako prohlížeč
genealogických dat např. pro webové prohlížeče.
Spuštění tímto způsobem zpracuje jakákoli data ve formátu podporovaném
gramps, viz dále.
.br
.TP
.BI \-f,\-\^\-format= " FORMÁT"
Explicitně definuje formát \fISOUBOR\fRu předchozího parametru
.ig
\fB\-O\fR,
..
\fB\-i\fR, nebo
\fB\-e\fR. Pokud není parametr \fB\-f\fR pro \fISOUBOR\fR specifikován,
bude automaticky použit formát odpovídající koncovce souboru nebo MIME-typu.
.br
Formáty
dostupné pro export jsou \fBgramps\-xml\fR (automaticky použit pokud má
\fISOUBOR\fR koncovku \fB.gramps\fR), \fBgedcom\fR (automaticky použit
pokud má \fISOUBOR\fR koncovku \fB.ged\fR), případně jiný další formát dostupný
prostřednictvím zásuvných modulů Gramps.
.br
Formáty
dostupné pro import jsou \fBgrdb\fR, \fBgramps\-xml\fR, \fBgedcom\fR,
\fBgramps\-pkg\fR (automaticky použit pokud má \fISOUBOR\fR koncovku \fB.gpkg\fR),
nebo \fBgeneweb\fR (automaticky použit pokud má \fISOUBOR\fR koncovku \fB.gw\fR).
.br
Formáty dostupné pro export jsou
.ig
\fBgrdb\fR,
..
\fBgramps\-xml\fR, \fBgedcom\fR,
\fBgramps\-pkg\fR, \fBwft\fR (automaticky použit pokud má \fISOUBOR\fR koncovku \fB.wft\fR),
\fBgeneweb\fR, a \fBiso\fR (nikdy není použit automaticky, vždy musí být specifikován
parametrem \fB\-f\fR).
.TP
.BI \-l
Vypíše seznam známých rodokmenů.
.TP
.BI \-u,\-\^\-force-unlock
Odemkne zamčenou databázi.
.TP
.BI \-O,\-\^\-open= " DATABÁZE"
Otevření \fIDATABÁZE\fR. Hodnota musí být existujícím databázovým adresářem, nebo názvem existujícího rodokmenu.
Pokud na příkazové řádce nejsou žádné parametry importu nebo exportu, je nad danou databází spuštěna interaktivní relace.
.TP
.BI \-i,\-\^\-import= " SOUBOR"
Importuje data ze \fISOUBOR\fRu. Pokud není specifikována databáze, je použita dočasná. Ta je po ukončení gramps smazána.
.br
Pokud je předáván více než jeden vstup, musí každému souboru předcházet parametr \fB\-i\fR.
Soubory jsou zpracovávány v pořadí, v jakém byly zadány na příkazové řádce.
Např. \fB\-i\fR \fISOUBOR1\fR \fB\-i\fR \fISOUBOR2\fR
a \fB\-i\fR \fISOUBOR2\fR \fB\-i\fR \fISOUBOR1\fR mohou vytvořit ve výsledné databázi
různá gramps ID.
.TP
.BI \-a,\-\^\-action= " AKCE"
Provedení \fIAKCE\fR nad importovanými daty. Akce jsou spuštěny poté co jsou všechny importy dat
úspěšně ukončeny. V tuto chvíli jsou podporovány následující akce:
\fBsummary\fR (stejné jako Zprávy->Pohled->Souhrn),
\fBcheck\fR (stejné jako Nástroje->Database Processing->Kontrola a oprava),
\fBreport\fR (vytvoří zprávu), a
\fBtool\fR (spustí nástroj zásuvného modulu).
Akce \fBreport\fR a \fBtool\fR potřebují v \fIPARAMETRY\fR zadat parametr
\fB\-p\fR .
.br
\fIPARAMETRY\fR by měly splňovat následující kritéria:
.br
Nesmí obsahovat žádné mezery.
Pokud některý argument potřebuje mezeru, musí být řetězec uzavřen
v uvozovkách (držet se syntaxe příkazové řádky).
Řetězec možností je seznam párů název=hodnota.
Jednotlivé páry musí být odděleny čárkami.
.br
Většina možností nástrojů a zpráv jsou specifickými pro konkrétní nástroj nebo zprávu.
Existují ale i takové, které jsou společné.
.BI "name=name"
.br
Povinná předvolba určující který nástroj nebo zpráva bude spuštěna.
Pokud zadané \fIname\fR neodpovídá žádné dostupné funkčnosti, vypíše se chybové hlášení
následované seznamem dostupných nástrojů a zpráv (záleží na \fIAKCE\fR).
.BI "show=all"
.br
Vytvoří seznam názvů všech předvoleb dostupných pro danou zprávu nebo nástroj.
.BI "show="optionname
.br
Vypíše popis všech funkcionalit poskytnutých \fIoptionname\fR,
ale také všechny přijatelné typy a hodnoty pro tuto volbu.
.br
Použijte výše popsané volby pro zjištění všech možností
dané zprávy.
.LP
Pokud je zadána jedna nebo více výstupních akcí, každá musí být uvozena
předvolbou \fB\-a\fR. Akce jsou prováděny jedna za druhou v zadaném pořadí.
.TP
.BI \-d,\-\^\-debug= " LOGGER_NAME"
Zapne ladicí výstup pro vývoj a testování. Detaily najdete ve zdrojovém kódu.
.TP
.BI \-\^\-version
Vytiskne číslo verze gramps a skončí
\" change 0 to 1 to enable output of OAF options
.if 0 \{
.PP
Následující možnosti slouží pro aktivaci Bonobo.
.TP
.BI \-\^\-oaf-ior-fd= "FD"
Popisovač souboru pro zápis OAF IOR
.TP
.BI \-\^\-oaf-activate-iid= " IID"
OAF IID k aktivaci
.TP
.BI \-\^\-oaf-private
Znemožní registraci serveru s OAF
\}
\" change 0 to 1 to enable output of Gnome sound options
.if 0 \{
.PP
Následující možnosti slouží pro řízení zvuku prostřednictívm knihovny Gnome.
.TP
.BI \-\^\-disable-sound
Zablokuje využití zvukového serveru
.TP
.BI \-\^\-enable-sound
Umožní využití zvukového serveru
.TP
.BI \-\^\-espeaker= " HOSTNAME:PORT"
Host:port na které běží zvukový server který bude použit
\}
.SH "Chování"
.br
Pokud první parametr příkazové řádky nezačíná pomlčkou, pokusí se gramps
otevřít soubor s názvem daným prvním argumentem na příkazové řádce
a spustit interaktivní relaci. Zbytek argumentů na příkazové řádce je
v tomto případě ignorován.
.LP
Pokud je zadán parametr \fB\-O\fR, pak se gramps snaží otevřít zadanou
databázi a pracovat s jejími daty podle instrukcí dalších parametrů
příkazové řádky.
.LP
S nebo bez použití parametru \fB\-O\fR může být provedeno více importů,
exportů, případně akcí daných argumenty příkazové řádky (\fB\-i\fR,
\fB\-e\fR a \fB\-a\fR).
.LP
Na pořadí parametrů \fB\-i\fR, \fB\-e\fR, nebo \fB\-a\fR nezáleží.
Aktuální pořadí zpracování je vždy: všechny importy (pokud jsou nějaké)
-> všechny akce (pokud jsou nějaké) -> všechny exporty (pokud jsou nějaké).
Parametr otevření musí být ale vždy první!
.LP
Pokud nejsou zadány \fB\-O\fR nebo \fB\-i\fR, gramps otevře své hlavní okno
a spustí se v obvyklém interaktivním módu s prázdnou databází.
.LP
Pokud nejsou zadány \fB\-e\fR nebo \fB\-a\fR, gramps otevře své hlavní okno
a spustí se v ovbyklém interaktnivním módu s databází vzniklou výsledkem
všech importů.
Tato databáze je umístěna v souboru \fBimport_db.grdb\fR v adresáři
\fB~/.gramps/import\fR.
.LP
Chyba vzniklá při importu, exportu nebo akci bude vypsána na \fIstdout\fR
(pokud se jedná o vyjímku ošetřenou gramps) nebo na \fIstderr\fR
(pokud problém není ošetřen). Pro uložení zpráv a chyb do souboru použijte
obvyklá přesměrování výstupů \fIstdout\fR a \fIstderr\fR příkazové řádky.
.SH PŘÍKLADY
.TP
Otevření existujícího rodokmenu a import xml souboru do něho může být proveden takto:
\fBgramps\fR \fB\-O\fR \fI'Můj rodokmen'\fR \fB\-i\fR \fI~/db3.gramps\fR
.TP
To samé, jen s importem do dočasné databáze a otevřením interaktivní relace:
\fBgramps\fR \fB\-i\fR \fI'My Family Tree'\fR \fB\-i\fR \fI~/db3.gramps\fR
.TP
Import čtyř databází (jejichž formáty jsou stanoveny podle názvů souborů) a následná kontrola bezchybnosti výsledné databáze může být provedena takto:
\fBgramps\fR \fB\-i\fR \fIfile1.ged\fR \fB\-i\fR \fIfile2.tgz\fR \fB\-i\fR \fI~/db3.gramps\fR \fB\-i\fR \fIfile4.wft\fR \fB\-a\fR \fIcheck\fR
.TP
Explicitní specifikace formátu databází předchozího příkladu přidáním příslušného parametru \fB\-f\fR za název souboru:
\fBgramps\fR \fB\-i\fR \fIfile1.ged\fR \fB\-f\fR \fIgedcom\fR \fB\-i\fR \fIfile2.tgz\fR \fB\-f\fR \fIgramps-pkg\fR \fB\-i\fR \fI~/db3.gramps\fR \fB\-f\fR \fIgramps-xml\fR \fB\-i\fR \fIfile4.wft\fR \fB\-f\fR \fIwft\fR \fB\-a\fR \fIcheck\fR
.TP
Zapsání výsledné databáze vytvořené ze všech importů zajistí parametr \fB\-e\fR (použijte \fB\-f\fR pokud nelze uhodnout formát z názvu souboru):
\fBgramps\fR \fB\-i\fR \fIfile1.ged\fR \fB\-i\fR \fIfile2.tgz\fR \fB\-e\fR \fI~/nový-balíček\fR \fB\-f\fR \fIgramps-pkg\fR
.TP
Import tří databází a start interaktivní gramps relace nad výsledkem:
\fBgramps\fR \fB\-i\fR \fIfile1.ged\fR \fB\-i\fR \fIfile2.tgz\fR \fB\-i\fR \fI~/db3.gramps\fR
.TP
Spuštění nástroje kontroly z příkazové řádky s výstupem na stdout:
\fBgramps\fR \fB\-O\fR \fI'Můj rodokmen'\fR \fB-a\fR \fItool\fR \fB-p\fR \fBname\fR=\fIverify\fR
.TP
A konečně spuštění normální interaktivní relace aplikace:
\fBgramps\fR
.SH PROMĚNNÉ PROSTŘEDÍ
Program kontroluje, zda jsou nastaveny následující proměnné:
\fBLANG\fR - popisuje, který jazyk bude použit:
Příklad: pro češtinu musí mít proměnná hodnotu cs_CZ.utf8.
\fBGRAMPSHOME\fR - pokud je nastavena, Gramps použije její hodnotu jako adresář
v němž jsou uložena nastavení a databáze. Ve výchozím stavu, kdy proměnná není nastavena
gramps předpokládá že adresář s databázemi a nastavením bude vytvořen
v adresáři s uživatelským profile (popsán proměnnou prostředí HOME v Linuxu nebo
USERPROFILE ve Windows 2000/XP).
.SH KONCEPTY
\fBgramps\fR podporuje systém zásuvných modulů založených na jazyku python jehož prostřednictvím
umožňuje přidání import/export modulů, modulů pro vytváření zpráv,
nástrojů a zobrazovacích filtrů bez nutnosti zásahu do hlavního programu.
.LP
Dále, krom možnosti přímého tisku, dovoluje směřovat výstup také k ostatním
systémům a aplikacím jako např. \fIOpenOffice.org\fR, \fIAbiWord\fR, HTML,
nebo LaTeX. Tím dává možnost přizpůsobit formát požadavku uživatelů.
.SH ZNÁMÉ CHYBY A OMEZENÍ
.br
nejsou
.SH SOUBORY
.LP
\fI${PREFIX}/bin/gramps\fP
.br
\fI${PREFIX}/share/gramps\fP
.br
\fI${HOME}/.gramps\fP
.SH AUTOŘI
Donald Allingham \fI<don@gramps-project.org>\fR
.br
\fIhttp://gramps.sourceforge.net\fR
.LP
Originální manuálovou stránku vytvořil:
.br
Brandon L. Griffith \fI<brandon@debian.org>\fR
.br
pro zařazení do systému Debian GNU/Linux.
.LP
Tuto manuálovou stránku přeložil a v současné době spravuje:
.br
Zdeněk Hataš \fI<zdenek.hatas@gmail.com>\fR
.br
.SH DOKUMENTACE
Uživatelská dokumentace je k dispozici prostřednictvím standardního
prohlížeče nápovědy GNOME ve formě příručky Gramps. Příručka je také
dostupná ve formátu XML jako \fBgramps-manual.xml\fR
v adresáři \fIdoc/gramps-manual/$LANG\fR v oficiální distribuci
zdrojového kódu.
.LP
Dokumentace pro vývojáře je k dispozici na webu
\fIhttp://developers.gramps-project.org\fR.

View File

@ -1,299 +0,0 @@
English
=======
gramps(1) @VERSION@ gramps(1)
**NAME**
gramps - Genealogical Research and Analysis Management Programming Sys
tem.
**SYNOPSIS**
**gramps** [**-?** | **--help**] [**--usage**] [**--version**]
[**-l**] [**-L**] [**-u** | **--force-unlock**] [**-O** | **--open=** *DATABASE*
[**-f** | **--format=** *FORMAT*]] [**-i** | **--import=** *FILE*
[**-f** | **--format=** *FORMAT*]] [**-i** | **--import=** *...*]
[**-e** | **--export=** *FILE* [**-f** | **--format=** *FORMAT*]]
[**-a** | **--action=** *ACTION*] [*-p* | **--options=** *OPTION
STRING*]] [*FILE*] [**--version**]
**DESCRIPTION**
Gramps is a Free/OpenSource genealogy program. It is written in Python,
using the GTK+/GNOME interface. Gramps should seem familiar to anyone
who has used other genealogy programs before such as Family Tree Maker
(TM), Personal Ancestral Files (TM), or the GNU Geneweb. It supports
importing of the ever popular GEDCOM format which is used world wide by
almost all other genealogy software.
**OPTIONS**
**gramps** *FILE*
When *FILE* is given (without any flags) as a family tree name or
as a family tree database directory, then it is opened and an
interactive session is started. If *FILE* is a file format under
stood by Gramps, an empty family tree is created whose name is
based on the *FILE* name and the data is imported into it. The
rest of the options is ignored. This way of launching is suit
able for using gramps as a handler for genealogical data in e.g.
web browsers. This invocation can accept any data format native
to gramps, see below.
**-f** , **--format=** *FORMAT*
Explicitly specify format of *FILE* given by preceding **-i** ,
or **-e** option. If the **-f** option is not given for any
*FILE* , the format of that file is guessed according to its extension
or MIME-type.
Formats available for export are **gramps-xml** (guessed if *FILE*
ends with **.gramps** ), **gedcom** (guessed if *FILE* ends with
**.ged** ), or any file export available through the Gramps plugin
system.
Formats available for import are **gramps-xml** , **gedcom** ,
**gramps-pkg** (guessed if *FILE* ends with **.gpkg** ),
and **geneweb** (guessed if *FILE* ends with **.gw** ).
Formats available for export are **gramps-xml** , **gedcom** ,
**gramps-pkg** , **wft** (guessed if *FILE* ends with **.wft** ),
**geneweb**.
**-l**
Print a list of known family trees.
**-L**
Print a detailed list of known family trees.
**-u** , **--force-unlock**
Unlock a locked database.
**-O** , **--open=** *DATABASE*
Open *DATABASE* which must be an existing database directory or
existing family tree name. If no action, import or export
options are given on the command line then an interactive ses
sion is started using that database.
**-i** , **--import=** *FILE*
Import data from *FILE* . If you haven't specified a database then
a temporary database is used; this is deleted when you exit
gramps.
When more than one input file is given, each has to be preceded
by **-i** flag. The files are imported in the specified order, i.e.
**-i** *FILE1* **-i** *FILE2* and **-i** *FILE2* **-i** *FILE1*
might produce different gramps IDs in the resulting database.
**-e** , **--export=** *FICHIER*
Export data into *FILE* . For **gramps-xml** , **gedcom**
, **wft** , **gramps-pkg** , et **geneweb** , the *FILE* is the
name of the resulting file.
When more than one output file is given, each has to be preceded
by **-e** flag. The files are written one by one, in the specified order.
**-a** , **--action=** *ACTION*
Perform *ACTION* on the imported data. This is done after all
imports are successfully completed. Currently available actions
are **summary** (same as Reports->View->Summary), **check** (same as
Tools->Database Processing->Check and Repair), **report** (generates
report), and tool (runs a plugin tool). Both **report** and **tool**
need the *OPTIONSTRING* supplied by the **-p** flag).
The *OPTIONSTRING* should satisfy the following conditions:
It must not contain any spaces. If some arguments need to
include spaces, the string should be enclosed with quotation
marks, i.e., follow the shell syntax. Option string is a list
of pairs with name and value (separated by the equality sign).
The name and value pairs must be separated by commas.
Most of the report or tools options are specific for each report
or tool. However, there are some common options.
**name=name**
This mandatory option determines which report or tool will be
run. If the supplied name does not correspond to any available
report or tool, an error message will be printed followed by the
list of available reports or tools (depending on the *ACTION* ).
**show=all**
This will produce the list of names for all options available
for a given report or tool.
**show=optionname**
This will print the description of the functionality supplied by
*optionname*, as well as what are the acceptable types and values
for this option.
Use the above options to find out everything about a given
report.
When more than one output action is given, each has to be preceded by
**-a** flag. The actions are performed one by one, in the specified order.
**-d** , **--debug=** *LOGGER_NAME*
Enables debug logs for development and testing. Look at the
source code for details
**--version**
Prints the version number of gramps and then exits
**Operation**
If the first argument on the command line does not start with dash
(i.e. no flag), gramps will attempt to open the file with the name
given by the first argument and start interactive session, ignoring the
rest of the command line arguments.
If the **-O** flag is given, then gramps will try opening the supplied
database and then work with that data, as instructed by the further
command line parameters.
With or without the **-O** flag, there could be multiple imports, exports,
and actions specified further on the command line by using **-i** ,
**-e** , and **-a** flags.
The order of **-i** , **-e** , or **-a** options does not matter. The actual order
always is: all imports (if any) -> all actions (if any) -> all exports
(if any). But opening must always be first!
If no **-O** or **-i** option is given, gramps will launch its main window and
start the usual interactive session with the empty database, since
there is no data to process, anyway.
If no **-e** or **-a** options are given, gramps will launch its main window
and start the usual interactive session with the database resulted from
all imports. This database resides in the **import_db.grdb** under
**~/.gramps/import** directory.
The error encountered during import, export, or action, will be either
dumped to stdout (if these are exceptions handled by gramps) or to
*stderr* (if these are not handled). Use usual shell redirections of
*stdout* and *stderr* to save messages and errors in files.
**EXAMPLES**
To open an existing family tree and import an xml file into it, one
may type:
**gramps -O** *'My Family Tree'* **-i** *~/db3.gramps*
The above changes the opened family tree, to do the same, but import
both in a temporary family tree and start an interactive session, one
may type:
**gramps -i** *'My Family Tree'* **-i** *~/db3.gramps*
To import four databases (whose formats can be determined from their
names) and then check the resulting database for errors, one may type:
**gramps -i** *file1.ged* **-i** *file2.tgz* **-i** *~/db3.gramps*
**-i** *file4.wft* **-a** *check*
To explicitly specify the formats in the above example, append file
names with appropriate **-f** options:
**gramps -i** *file1.ged* **-f** *gedcom* **-i** *file2.tgz* **-f**
*gramps-pkg* **-i** *~/db3.gramps* **-f** *gramps-xml* **-i** *file4.wft*
**-f** *wft* **-a** *check*
To record the database resulting from all imports, supply **-e** flag (use
**-f** if the filename does not allow gramps to guess the format):
**gramps -i** *file1.ged* **-i** *file2.tgz* **-e** *~/new-package*
**-f** *gramps-pkg*
To import three databases and start interactive gramps session with the
result:
**gramps -i** *file1.ged* **-i** *file2.tgz* **-i** *~/db3.gramps*
To run the Verify tool from the commandline and output the result to
stdout:
**gramps -O** *'My Family Tree'* **-a** *tool* **-p name=** *verify*
Finally, to start normal interactive session type:
**gramps**
**ENVIRONMENT VARIABLES**
The program checks whether these environment variables are set:
**LANG** - describe, which language to use: Ex.: for polish language this
variable has to be set to pl_PL.UTF-8.
**GRAMPSHOME** - if set, force Gramps to use the specified directory to
keep program settings and databases there. By default, this variable is
not set and gramps assumes that the folder with all databases and pro
file settings should be created within the user profile folder
(described by environment variable HOME for Linux or USERPROFILE for
Windows 2000/XP).
**CONCEPTS**
Supports a python-based plugin system, allowing import and export writ
ers, report generators, tools, and display filters to be added without
modification of the main program.
In addition to generating direct printer output, report generators also
target other systems, such as *LibreOffice.org* , *AbiWord* , *HTML*,
or *LaTeX* to allow the users to modify the format to suit their needs.
**KNOWN BUGS AND LIMITATIONS**
**FILES**
*${PREFIX}/bin/gramps*
*${PREFIX}/lib/python/dist-packages/gramps/*
*${PREFIX}/share/*
*${HOME}/.gramps*
**AUTHORS**
Donald Allingham <don@gramps-project.org>
http://gramps-project.org/
This man page was originally written by:
Brandon L. Griffith <brandon@debian.org>
for inclusion in the Debian GNU/Linux system.
This man page is currently maintained by:
Gramps project <xxx@gramps-project.org>
**DOCUMENTATION**
The user documentation is available through standard web browser
in the form of Gramps Manual.
The developer documentation can be found on the
http://www.gramps-project.org/wiki/index.php?title=Portal:Developers
portal.
gramps(1) @VERSION@ gramps(1)

View File

@ -1,243 +0,0 @@
# -*- coding: utf-8 -*-
#
# Gramps documentation build configuration file, created by
# sphinx-quickstart on Sat Dec 1 14:38:29 2012.
#
# This file is execfile()d with the current directory set to its containing dir.
#
# Note that not all possible configuration values are present in this
# autogenerated file.
#
# All configuration values have a default; values that are commented out
# serve to show the default.
import sys, os
# If extensions (or modules to document with autodoc) are in another directory,
# add these directories to sys.path here. If the directory is relative to the
# documentation root, use os.path.abspath to make it absolute, like shown here.
#sys.path.insert(0, os.path.abspath('.'))
# -- General configuration -----------------------------------------------------
# If your documentation needs a minimal Sphinx version, state it here.
#needs_sphinx = '1.0'
# Add any Sphinx extension module names here, as strings. They can be extensions
# coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
extensions = []
# Add any paths that contain templates here, relative to this directory.
templates_path = ['_templates']
# The suffix of source filenames.
source_suffix = '.rst'
# The encoding of source files.
#source_encoding = 'utf-8-sig'
# The master toctree document.
master_doc = 'fr'
# General information about the project.
project = u'Gramps'
copyright = u'2012, Gramps project'
# The version info for the project you're documenting, acts as replacement for
# |version| and |release|, also used in various other places throughout the
# built documents.
#
# The short X.Y version.
version = '4.0'
# The full version, including alpha/beta/rc tags.
release = '4.0.0-alpha2'
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
locale_dirs = './locale'
gettext_compact = True
# There are two options for replacing |today|: either, you set today to some
# non-false value, then it is used:
#today = ''
# Else, today_fmt is used as the format for a strftime call.
today_fmt = '%d %B %Y'
# List of patterns, relative to source directory, that match files and
# directories to ignore when looking for source files.
exclude_patterns = ['_build']
# The reST default role (used for this markup: `text`) to use for all documents.
#default_role = None
# If true, '()' will be appended to :func: etc. cross-reference text.
#add_function_parentheses = True
# If true, the current module name will be prepended to all description
# unit titles (such as .. function::).
#add_module_names = True
# If true, sectionauthor and moduleauthor directives will be shown in the
# output. They are ignored by default.
#show_authors = False
# The name of the Pygments (syntax highlighting) style to use.
pygments_style = 'sphinx'
# A list of ignored prefixes for module index sorting.
#modindex_common_prefix = []
# -- Options for HTML output ---------------------------------------------------
# The theme to use for HTML and HTML Help pages. See the documentation for
# a list of builtin themes.
html_theme = 'default'
# Theme options are theme-specific and customize the look and feel of a theme
# further. For a list of options available for each theme, see the
# documentation.
#html_theme_options = {}
# Add any paths that contain custom themes here, relative to this directory.
#html_theme_path = []
# The name for this set of Sphinx documents. If None, it defaults to
# "<project> v<release> documentation".
#html_title = None
# A shorter title for the navigation bar. Default is the same as html_title.
#html_short_title = None
# The name of an image file (relative to this directory) to place at the top
# of the sidebar.
#html_logo = None
# The name of an image file (within the static path) to use as favicon of the
# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32
# pixels large.
#html_favicon = None
# Add any paths that contain custom static files (such as style sheets) here,
# relative to this directory. They are copied after the builtin static files,
# so a file named "default.css" will overwrite the builtin "default.css".
#html_static_path = ['_static']
# If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
# using the given strftime format.
#html_last_updated_fmt = '%b %d, %Y'
# If true, SmartyPants will be used to convert quotes and dashes to
# typographically correct entities.
#html_use_smartypants = True
# Custom sidebar templates, maps document names to template names.
#html_sidebars = {}
# Additional templates that should be rendered to pages, maps page names to
# template names.
#html_additional_pages = {}
# If false, no module index is generated.
#html_domain_indices = True
# If false, no index is generated.
#html_use_index = True
# If true, the index is split into individual pages for each letter.
#html_split_index = False
# If true, links to the reST sources are added to the pages.
#html_show_sourcelink = True
# If true, "Created using Sphinx" is shown in the HTML footer. Default is True.
#html_show_sphinx = True
# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True.
#html_show_copyright = True
# If true, an OpenSearch description file will be output, and all pages will
# contain a <link> tag referring to it. The value of this option must be the
# base URL from which the finished HTML is served.
#html_use_opensearch = ''
# This is the file name suffix for HTML files (e.g. ".xhtml").
#html_file_suffix = None
# Output file base name for HTML help builder.
htmlhelp_basename = 'Grampsdoc'
# -- Options for LaTeX output --------------------------------------------------
latex_elements = {
# The paper size ('letterpaper' or 'a4paper').
#'papersize': 'letterpaper',
# The font size ('10pt', '11pt' or '12pt').
#'pointsize': '10pt',
# Additional stuff for the LaTeX preamble.
#'preamble': '',
}
# Grouping the document tree into LaTeX files. List of tuples
# (source start file, target name, title, author, documentclass [howto/manual]).
latex_documents = [
('index', 'Gramps.tex', u'Gramps Documentation',
u'.', 'manual'),
]
# The name of an image file (relative to this directory) to place at the top of
# the title page.
#latex_logo = None
# For "manual" documents, if this is true, then toplevel headings are parts,
# not chapters.
#latex_use_parts = False
# If true, show page references after internal links.
#latex_show_pagerefs = False
# If true, show URL addresses after external links.
#latex_show_urls = False
# Documents to append as an appendix to all manuals.
#latex_appendices = []
# If false, no module index is generated.
#latex_domain_indices = True
# -- Options for manual page output --------------------------------------------
# One entry per manual page. List of tuples
# (source start file, name, description, authors, manual section).
man_pages = [
('fr', 'gramps', u'Gramps Documentation',
['Jerome Rapinat'], 1)
]
# If true, show URL addresses after external links.
#man_show_urls = False
# -- Options for Texinfo output ------------------------------------------------
# Grouping the document tree into Texinfo files. List of tuples
# (source start file, target name, title, author,
# dir menu entry, description, category)
texinfo_documents = [
('index', 'Gramps', u'Gramps Documentation',
u'.', 'Gramps', 'One line description of project.',
'Miscellaneous'),
]
# Documents to append as an appendix to all manuals.
#texinfo_appendices = []
# If false, no module index is generated.
#texinfo_domain_indices = True
# How to display URL addresses: 'footnote', 'no', or 'inline'.
#texinfo_show_urls = 'footnote'

View File

@ -1,300 +0,0 @@
French
=======
gramps(1) @VERSION@ gramps(1)
**NOM**
gramps - Gramps est une application de généalogie. Gramps est
l'acronyme de Genealogical Research and Analysis Management Programming
System (Systeme de Programmation pour Recherche, Analyse et Gestion de
données généalogiques)
**SYNOPSIS**
**gramps** [**-?** | **--help**] [**--usage**] [**--version**]
[**-l**] [**-L**] [**-u** | **--force-unlock**] [**-O** | **--open=** *BASE_DE_DONNEES*
[**-f** | **--format=** *FORMAT*]] [**-i** | **--import=** *FILE*
[**-f** | **--format=** *FORMAT*]] [**-i** | **--import=** *...*]
[**-e** | **--export=** *FICHIER* [**-f** | **--format=** *FORMAT*]]
[**-a** | **--action=** *ACTION*] [*-p* | **--options=** *CHAÎNE
OPTION*]] [*FICHIER*] [**--version**]
**DESCRIPTION**
Gramps est un programme Libre/OpenSource de généalogie. Il est écrit en
python, et utilise une interface GTK+/GNOME. Gramps est semblable à
d'autres programmes de généalogie tel que Family Tree Maker (FTM),
Personal Ancestral Files, ou le programme GNU Geneweb. Il peut
importer/exporter le format le plus utilisé par les autres logiciels de
généalogie : GEDCOM.
**OPTIONS**
**gramps** *FICHIER*
Si *FICHIER* est désigné (sans autres commandes) comme arbre
familial ou comme répertoire d'arbre familial, alors une session
interactive est ouverte. Si *FICHIER* est un format de fichier
supporté par Gramps, une base vide est créée dont le nom est
celui du *FICHIER* et les données y seront importées. Les autres
options sont ignorées. Ce type de lancement permet d'utiliser
gramps pour manipuler des données comme dans un navigateur web.
Les formats natifs de gramps sont acceptés, voir ci-dessous.
**-f** , **--format=** *FORMAT*
Le format spécifique du *FICHIER* est précédé par les arguments
**-i** , ou **-e** . Si l'option **-f** n'est pas donnée pour le *FICHIER* ,
alors le format sera celui de l'extension ou du type-MIME.
Les formats de sortie disponibles sont **gramps-xml** (deviné si
*FICHIER* se termine par **.gramps** ), et **gedcom** (deviné si *FICHIER* se
termine par **.ged** ), ou tout autre fichier d'exportation
disponible dans le système de plugin Gramps.
Les formats disponibles pour l'importation sont **grdb** ,
**gramps-xml** , **gedcom** , **gramps-pkg** (deviné si *FICHIER* se termine par
**.gpkg** ), et **geneweb** (deviné si *FICHIER* se termine par **.gw** ).
Les formats disponibles pour l'exportation sont **gramps-xml** , **ged
com** , **gramps-pkg** , **wft** (deviné si *FICHIER* se termine par **.wft** ),
**geneweb** .
**-l**
Imprime une liste des arbres familiaux disponibles.
**-u** , **--force-unlock**
Débloquer une base de données verrouillée.
**-O** , **--open=** *BASE_DE_DONNEES*
Ouvrir une *BASE_DE_DONNEES* qui doit être une base présente dans
le répertoire des bases ou le nom d'un arbre familial existant.
Si aucune action n'est définie, les options d'import ou d'export
sont données par la ligne de commande puis une session interactive
est ouverte, utilisant cette base de données.
Seulement une base peut être ouverte. Si vous utilisez plusieurs
sources, vous devez utiliser l'option d'import.
**-i** , **--import=** *FICHIER*
Importer des données depuis un *FICHIER* . Si vous n'avez pas
spécifié de base de données alors une base de données temporaire
est utilisée; elle sera effacée quand vous quitterez gramps.
Quand plus d'un fichier doit être importé, chacun doit être
précédé par la commande **-i** . Ces fichiers sont importés dans le
même ordre, **-i** *FICHIER1* **-i** *FICHIER2* et **-i** *FICHIER2* **-i**
*FICHIER1* vont tous les deux produire différents IDs gramps.
**-e** , **--export=** *FICHIER*
Exporter des données dans un *FICHIER* . Pour les fichiers **gramps-xml**
, **gedcom** , **wft** , **gramps-pkg** , et **geneweb** , le
*FICHIER* est le nom du fichier de sortie.
Quand plus d'un fichier doit être exporté, chacun doit être
précédé par la commande **-e** . Ces fichiers sont importés dans le
même ordre.
**-a** , **--action=** *ACTION*
Accomplir une *ACTION* sur les données importées. C'est effectué à
la fin de l'importation. Les actions possibles sont **summary**
(comme le rapport -> Afficher -> Statistiques sur la base),
**check** (comme l'outil -> Réparation de la base -> Vérifier et
réparer), **report** (produit un rapport) et **tool** (utilise un
outil), ces derniers ont besoin de *OPTION* précédé par la commande -p.
L' *OPTION* doit satisfaire ces conditions:
Il ne doit pas y avoir d'espace. Si certains arguments doivent
utiliser des espaces, la chaîne doit être encadrée par des
guillemets. Les options vont par paire nom et valeur. Une
paire est séparée par un signe égal. Différentes paires sont
séparées par une virgule.
La plupart des options sont spécifiques à chaque rapport. Même
s'il existe des options communes.
**name=name**
Cette option est obligatoire, elle détermine quel rapport ou
outil sera utilisé. Si le name saisi ne correspond à aucun
module disponible, un message d'erreur sera ajouté.
**show=all**
Cette option produit une liste avec les noms des options
disponibles pour un rapport donné.
**show=optionname**
Cette option affiche une description de toutes les fonctionnalités
proposées par optionname, aussi bien les types que les valeurs pour une option.
Utiliser les options ci-dessus pour trouver tout sur un rapport
choisi.
Quand plus d'une action doit être effectuée, chacune doit être précédée
par la commande **-a** . Les actions seront réalisées une à une, dans
l'ordre spécifié.
**-d** , **--debug=** *NOM_LOGGER*
Permet les logs de debug pour le développement et les tests.
Regarder le code source pour les détails.
**--version**
Imprime le numéro de version pour gramps puis quitte.
**Opération**
Si le premie argument de la ligne de commande ne commence pas par un
tiret (i.e. pas d'instruction), gramps va essayer d'ouvrir la base de
données avec le nom donné par le premier argument et démarrer une ses
sion interactive, en ignorant le reste de la ligne de commande.
Si la commande **-O** est notée, alors gramps va essayer le fichier défini
et va travailler avec ses données, comme pour les autres paramètres de
la ligne de commande.
Avec ou sans la commande **-O** , il peut y avoir plusieurs imports,
exports, et actions dans la ligne de commande **-i** , **-e** , et **-a** .
L'ordre des options **-i** , **-e** , ou **-a** n'a pas de sens. L'ordre actuel est
toujours : imports -> actions -> exports. Mais l'ouverture doit toujours
être la première !
Si aucune option **-O** ou **-i** n'est donnée, gramps lancera sa propre
fenêtre et demarrera avec une base vide, puisqu'il n'y a pas données.
Si aucune option **-e** ou **-a** n'est donnée, gramps lancera sa propre
fenêtre et démarrera avec la base de données issue de tout les imports.
Cette base sera **import_db.grdb** dans le répertoire **~/.gramps/import**.
Les erreurs rencontrées lors d'importation, d'exportation, ou d'action, seront
mémorisées en *stdout* (si elles sont le fait de la manipulation par
gramps) ou en *stderr* (si elles ne sont pas le fait d'une manipulation).
Utilisez les shell de redirection de *stdout* et *stderr* pour sauver
les messages et les erreurs dans les fichiers.
**EXEMPLES**
Pour ouvrir un arbre familial et y importer un fichier XML, on peut
saisir:
**gramps -O** *'Mon Arbre Familial'* **-i** *~/db3.gramps*
Ceci ouvre un arbre familial, pour faire la même chose, mais importer
dans un arbre familial temporaire et démarrer une session interactive,
on peut saisir :
**gramps -i** *'Mon Arbre Familial'* **-i** *~/db3.gramps*
Lecture de quatre bases de données dont les formats peuvent être
devinés d'après les noms, puis vérification des données:
**gramps -i** *file1.ged* **-i** *file2.tgz* **-i** *~/db3.gramps*
**-i** *file4.wft* **-a** *check*
Si vous voulez préciser lesformats de fichiers dans l'exemple ci-
dessus, complétez les noms de fichiers par les options -f appropriées:
**gramps -i** *file1.ged* **-f** *gedcom* **-i** *file2.tgz* **-f**
*gramps-pkg* **-i** *~/db3.gramps* **-f** *gramps-xml* **-i** *file4.wft*
**-f** *wft* **-a** *check*
Pour enregistrer le résultat des lectures, donnez l'option **-e**
(utiliser -f si le nom de fichier ne permet pas à gramps de deviner le
format):
**gramps -i** *file1.ged* **-i** *file2.tgz* **-e** *~/new-package*
**-f** *gramps-pkg*
Pour lire trois ensembles de données puis lancer une session
interactive de gramps sur le tout :
**gramps -i** *file1.ged* **-i** *file2.tgz* **-i** *~/db3.gramps*
Pour lancer l'outil de vérification de la base de données depuis la
ligne de commande et obtenir le résultat :
**gramps -O** *'My Family Tree'* **-a** *tool* **-p name=** *verify*
Enfin, pour lancer une session interactive normale, entrer :
**gramps**
**VARIABLES D'ENVIRONMENT**
Le programme vérifie si ces variables d'environnement sont déclarées:
**LANG** - décrit, quelle langue est utilisée: Ex.: pour le français on
peut définir fr_FR.UTF-8.
**GRAMPSHOME** - si défini, force Gramps à utiliser un répertoire
spécifique pour y conserver ses préférences et bases de données. Par
défaut, cette variable n'est pas active et Gramps sait que les options
et bases de données doivent être créées dans le répertoire par défaut
de l'utilisateur (la variable d'environnement HOME pour Linux ou USER
PROFILE pour Windows 2000/XP).
**CONCEPTS**
Gramps est un système basé sur le support de plugin-python, permettant
d'importer et d'exporter, la saisie, générer des rapports, des outils,
et afficher des filtres pouvant être ajoutés sans modifier le programme.
Par ailleurs, gramps permet la génération directe : impression, rap
ports avec sortie vers d'autres formats, comme *LibreOffice.org* ,
*HTML* , ou *LaTeX* pour permettre à l'utilisateur de choisir selon ses
besoins
**BUGS CONNUS ET LIMITATIONS**
**FICHIERS**
*${PREFIX}/bin/gramps*
*${PREFIX}/lib/python/dist-packages/gramps/*
*${PREFIX}/share/*
*${HOME}/.gramps*
**AUTEURS**
Donald Allingham <don@gramps-project.org>
http://gramps-project.org/
Cette page man a d'abord été écrite par :
Brandon L. Griffith <brandon@debian.org>
pour Debian GNU/Linux système.
Cette page man est maintenue par :
Gramps project <xxx@gramps-project.org>
La traduction française :
Jérôme Rapinat <romjerome@yahoo.fr>
**DOCUMENTATION**
La documentation-utilisateur est disponible par un navigateur
standard sous la forme du manuel Gramps.
La documentation pour développeur est disponible sur le site
http://www.gramps-project.org/wiki/index.php?title=Portal:Developers .
gramps(1) @VERSION@ gramps(1)

View File

@ -1,342 +1,290 @@
.TH "GRAMPS" "1" "28 December 2012" "4.0" "Gramps"
.SH NAME
gramps \- Gramps Documentation
.
.nr rst2man-indent-level 0
.
.de1 rstReportMargin
\\$1 \\n[an-margin]
level \\n[rst2man-indent-level]
level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
-
\\n[rst2man-indent0]
\\n[rst2man-indent1]
\\n[rst2man-indent2]
.TH gramps 1 "@VERSION@" "Avril 2008" "@VERSION@"
.SH NOM
gramps \- GRAMPS est une application de généalogie. GRAMPS est l'acronyme de Genealogical Research and Analysis Management Programming System (Systeme de Programmation pour Recherche, Analyse et Gestion de données généalogiques)
.SH SYNOPSIS
.B gramps
.RB [ \-?|\-\^\-help ]
.RB [ \-\^\-usage ]
.RB [ \-\^\-version ]
.RB [ \-l]
.RB [ \-u|\-\^\-force-unlock ]
.RB [ \-O|\-\^\-open=
.IR BASE_DE_DONNEES
.RB [ \-f|\-\^\-format=
.IR FORMAT ]]
.RB [ \-i|\-\^\-import=
.IR FICHIER
.RB [ \-f|\-\^\-format=
.IR FORMAT ]]
.RB [ \-i|\-\^\-import=
.IR ... ]
.RB [ \-o|\-\^\-output=
.IR FICHIER
.RB [ \-f|\-\^\-format=
.IR FORMAT ]]
.RB [ \-a|\-\^\-action=
.IR ACTION ]
.RB [ \-p|\-\^\-options=
.IR OPTION ]]
.RB [
.IR FICHIER
.RB ]
.if 0 .RB [ bonobo\ options ]
.if 0 .RB [ sound\ options ]
.RB [ \-\-version ]
.SH DESCRIPTION
.PP
\fIGramps\fP est un programme Libre/OpenSource de généalogie. Il est écrit en python,
et utilise une interface GTK+/GNOME.
Gramps est semblable à d'autres programmes de généalogie tel que \fIFamily Tree Maker (FTM)\fR, \fIPersonal Ancestral
Files\fR, ou le programme GNU Geneweb.
Il peut importer/exporter le format le plus utilisé par les autres logiciels de généalogie : GEDCOM.
.SH OPTIONS
.TP
.BI gramps " FICHIER"
Si \fIFICHIER\fR est désigné (sans autres commandes) comme arbre familial ou comme répertoire d'arbre familial, alors une session interactive est ouverte. Si FICHIER est un format de fichier supporté par GRAMPS, une base vide est créée dont le nom est celui du \fIFICHIER\fP et les données y seront importées. Les autres options sont ignorées. Ce type de lancement permet d'utiliser gramps pour manipuler des données comme dans un navigateur web. Les formats natifs de gramps sont acceptés, voir ci-dessous.
.br
.TP
.BI \-f,\-\^\-format= " FORMAT"
Le format spécifique du \fIFICHIER\fR est précédé par les arguments
.ig
\fB\-O\fR,
..
.de1 INDENT
.\" .rstReportMargin pre:
. RS \\$1
. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
. nr rst2man-indent-level +1
.\" .rstReportMargin post:
\fB\-i\fR, ou
\fB\-o\fR. Si l'option \fB\-f\fR n'est pas donnée pour le \fIFICHIER\fR, alors le format sera celui de l'extension ou du type-MIME.
.br
Les formats de sortie disponibles sont \fBgramps\-xml\fR (deviné si \fIFICHIER\fR se termine par
\fB.gramps\fR), et \fBgedcom\fR (deviné si \fIFICHIER\fR se termine par \fB.ged\fR), ou
tout autre fichier d'exportation disponible dans le système de plugin GRAMPS.
.br
Les formats disponibles pour l'importation sont \fBgrdb\fR, \fBgramps\-xml\fR, \fBgedcom\fR,
\fBgramps\-pkg\fR (deviné si \fIFICHIER\fR se termine par \fB.gpkg\fR), et
\fBgeneweb\fR (deviné si \fIFICHIER\fR se termine par \fB.gw\fR).
.br
Les formats disponibles pour l'exportation sont
.ig
\fBgrdb\fR,
..
.de UNINDENT
. RE
.\" indent \\n[an-margin]
.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
.nr rst2man-indent-level -1
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
.\" Man page generated from reStructuredText.
.
.sp
gramps(1) @VERSION@ gramps(1)
.INDENT 0.0
.TP
.B \fBNOM\fP
gramps \- Gramps est une application de généalogie. Gramps est
l\(aqacronyme de Genealogical Research and Analysis Management Programming
System (Systeme de Programmation pour Recherche, Analyse et Gestion de
données généalogiques)
.TP
.B \fBSYNOPSIS\fP
\fBgramps\fP [\fB\-?\fP | \fB\-\-help\fP] [\fB\-\-usage\fP] [\fB\-\-version\fP]
[\fB\-l\fP] [\fB\-L\fP] [\fB\-u\fP | \fB\-\-force\-unlock\fP] [\fB\-O\fP | \fB\-\-open=\fP \fIBASE_DE_DONNEES\fP
[\fB\-f\fP | \fB\-\-format=\fP \fIFORMAT\fP]] [\fB\-i\fP | \fB\-\-import=\fP \fIFILE\fP
[\fB\-f\fP | \fB\-\-format=\fP \fIFORMAT\fP]] [\fB\-i\fP | \fB\-\-import=\fP \fI...\fP]
[\fB\-e\fP | \fB\-\-export=\fP \fIFICHIER\fP [\fB\-f\fP | \fB\-\-format=\fP \fIFORMAT\fP]]
[\fB\-a\fP | \fB\-\-action=\fP \fIACTION\fP] [\fI\-p\fP | \fB\-\-options=\fP \fICHAÎNE
OPTION\fP]] [\fIFICHIER\fP] [\fB\-\-version\fP]
.TP
.B \fBDESCRIPTION\fP
Gramps est un programme Libre/OpenSource de généalogie. Il est écrit en
python, et utilise une interface GTK+/GNOME. Gramps est semblable à
d\(aqautres programmes de généalogie tel que Family Tree Maker (FTM),
Personal Ancestral Files, ou le programme GNU Geneweb. Il peut
importer/exporter le format le plus utilisé par les autres logiciels de
généalogie : GEDCOM.
.TP
.B \fBOPTIONS\fP
.INDENT 7.0
.TP
.B \fBgramps\fP \fIFICHIER\fP
Si \fIFICHIER\fP est désigné (sans autres commandes) comme arbre
familial ou comme répertoire d\(aqarbre familial, alors une session
interactive est ouverte. Si \fIFICHIER\fP est un format de fichier
supporté par Gramps, une base vide est créée dont le nom est
celui du \fIFICHIER\fP et les données y seront importées. Les autres
options sont ignorées. Ce type de lancement permet d\(aqutiliser
gramps pour manipuler des données comme dans un navigateur web.
Les formats natifs de gramps sont acceptés, voir ci\-dessous.
.TP
.B \fB\-f\fP , \fB\-\-format=\fP \fIFORMAT\fP
Le format spécifique du \fIFICHIER\fP est précédé par les arguments
\fB\-i\fP , ou \fB\-e\fP . Si l\(aqoption \fB\-f\fP n\(aqest pas donnée pour le \fIFICHIER\fP ,
alors le format sera celui de l\(aqextension ou du type\-MIME.
.sp
Les formats de sortie disponibles sont \fBgramps\-xml\fP (deviné si
\fIFICHIER\fP se termine par \fB.gramps\fP ), et \fBgedcom\fP (deviné si \fIFICHIER\fP se
termine par \fB.ged\fP ), ou tout autre fichier d\(aqexportation
disponible dans le système de plugin Gramps.
.sp
Les formats disponibles pour l\(aqimportation sont \fBgrdb\fP ,
\fBgramps\-xml\fP , \fBgedcom\fP , \fBgramps\-pkg\fP (deviné si \fIFICHIER\fP se termine par
\fB.gpkg\fP ), et \fBgeneweb\fP (deviné si \fIFICHIER\fP se termine par \fB.gw\fP ).
.sp
Les formats disponibles pour l\(aqexportation sont \fBgramps\-xml\fP , \fBged
com\fP , \fBgramps\-pkg\fP , \fBwft\fP (deviné si \fIFICHIER\fP se termine par \fB.wft\fP ),
\fBgeneweb\fP .
.TP
.B \fB\-l\fP
\fBgramps\-xml\fR, \fBgedcom\fR,
\fBgramps\-pkg\fR, \fBwft\fR (deviné si \fIFICHIER\fR se termine par \fB.wft\fR),
\fBgeneweb\fR, et \fBiso\fR (jamais deviné, toujours spécifié avec l'option
\fB\-f\fR).
.TP
.BI \-l
Imprime une liste des arbres familiaux disponibles.
.TP
.B \fB\-u\fP , \fB\-\-force\-unlock\fP
.BI \-u,\-\^\-force-unlock
Débloquer une base de données verrouillée.
.TP
.BI \-O,\-\^\-open= " BASE_DE_DONNEES"
Ouvrir une \fIBASE_DE_DONNEES\fR qui doit être une base présente dans le répertoire des bases ou le nom d'un arbre familial existant.
Si aucune action n'est définie, les options d'import ou d'export sont données par la ligne de commande puis une session interactive est ouverte, utilisant cette base de données.
.br
Seulement une base peut être ouverte. Si vous utilisez plusieurs sources, vous devez utiliser l'option d'import.
.TP
.BI \-i,\-\^\-import= " FICHIER"
Importer des données depuis un \fIFICHIER\fR. Si vous n'avez pas spécifié de base de données alors une base de données temporaire est utilisée; elle sera effacée quand vous quitterez gramps.
.br
Quand plus d'un fichier doit être importé, chacun doit être précédé par la commande \fB\-i\fR. Ces fichiers sont importés dans le même ordre,
i.e. \fB\-i\fR \fIFICHIER1\fR \fB\-i\fR \fIFICHIER2\fR
et \fB\-i\fR \fIFICHIER2\fR \fB\-i\fR \fIFICHIER1\fR vont tous les deux produire différents IDs gramps.
.TP
.BI \-o,\-\^\-output= " FICHIER"
Exporter des données dans un \fIFICHIER\fR. Pour le format \fBiso\fR, le \fIFICHIER\fR est le nom du répertoire dans lequel la base de données gramps est écrite.
Pour
.ig
\fBgrdb\fR,
..
\fBgramps\-xml\fR, \fBgedcom\fR, \fBwft\fR, \fBgramps\-pkg\fR,
et \fBgeneweb\fR, le \fIFICHIER\fR est le nom du fichier de sortie
.br
Quand plus d'un fichier doit être exporté, chacun doit être précédé par la commande \fB\-o\fR. Ces fichiers sont importés dans le même ordre.
.TP
.BI \-a,\-\^\-action= " ACTION"
Accomplir une \fIACTION\fR sur les données importées. C'est effectué à la fin de l'importation. Les actions possibles sont \fBsummary\fR
(comme le rapport -> Afficher -> Statistiques sur la base), \fBcheck\fR (comme l'outil -> Réparation de la base -> Vérifier et réparer), \fBreport\fR (produit un rapport) et
\fBtool\fR (utilise un outil), ces derniers ont besoin
de \fIOPTION\fR précédé par la commande \fB\-p\fR.
.br
L'\fIOPTION\fR doit satisfaire ces conditions:
.br
Il ne doit pas y avoir d'espace.
Si certains arguments doivent utiliser des espaces, la chaîne doit être encadrée par des guillemets.
Les options vont par paire nom et valeur.
Une paire est séparée par un signe égal.
Différentes paires sont séparées par une virgule.
.br
La plupart des options sont spécifiques à chaque rapport. Même s'il existe des options communes.
.BI "name=name"
.br
Cette option est obligatoire, elle détermine quel rapport ou outil sera utilisé. Si le \fIname\fR saisi ne correspond à aucun module disponible, un message d'erreur sera ajouté.
.BI "show=all"
.br
Cette option produit une liste avec les noms des options disponibles pour un rapport donné.
.BI "show="optionname
.br
Cette option affiche une description de toutes les fonctionnalités proposées par \fIoptionname\fR, aussi bien les types que les valeurs pour une option.
.br
Utiliser les options ci-dessus pour trouver tout sur un rapport choisi.
.LP
Quand plus d'une action doit être effectuée, chacune doit être précédée par la commande \fB\-a\fR. Les actions seront réalisées une à une, dans l'ordre spécifié.
.TP
.BI \-d,\-\^\-debug= " NOM_LOGGER"
Permet les logs de debug pour le développement et les tests. Regarder le code source pour les détails.
.TP
.B \fB\-O\fP , \fB\-\-open=\fP \fIBASE_DE_DONNEES\fP
Ouvrir une \fIBASE_DE_DONNEES\fP qui doit être une base présente dans
le répertoire des bases ou le nom d\(aqun arbre familial existant.
Si aucune action n\(aqest définie, les options d\(aqimport ou d\(aqexport
sont données par la ligne de commande puis une session interactive
est ouverte, utilisant cette base de données.
.sp
Seulement une base peut être ouverte. Si vous utilisez plusieurs
sources, vous devez utiliser l\(aqoption d\(aqimport.
.TP
.B \fB\-i\fP , \fB\-\-import=\fP \fIFICHIER\fP
Importer des données depuis un \fIFICHIER\fP . Si vous n\(aqavez pas
spécifié de base de données alors une base de données temporaire
est utilisée; elle sera effacée quand vous quitterez gramps.
.sp
Quand plus d\(aqun fichier doit être importé, chacun doit être
précédé par la commande \fB\-i\fP . Ces fichiers sont importés dans le
même ordre, \fB\-i\fP \fIFICHIER1\fP \fB\-i\fP \fIFICHIER2\fP et \fB\-i\fP \fIFICHIER2\fP \fB\-i\fP
\fIFICHIER1\fP vont tous les deux produire différents IDs gramps.
.TP
.B \fB\-e\fP , \fB\-\-export=\fP \fIFICHIER\fP
Exporter des données dans un \fIFICHIER\fP . Pour les fichiers \fBgramps\-xml\fP
, \fBgedcom\fP , \fBwft\fP , \fBgramps\-pkg\fP , et \fBgeneweb\fP , le
\fIFICHIER\fP est le nom du fichier de sortie.
.sp
Quand plus d\(aqun fichier doit être exporté, chacun doit être
précédé par la commande \fB\-e\fP . Ces fichiers sont importés dans le
même ordre.
.TP
.B \fB\-a\fP , \fB\-\-action=\fP \fIACTION\fP
Accomplir une \fIACTION\fP sur les données importées. C\(aqest effectué à
la fin de l\(aqimportation. Les actions possibles sont \fBsummary\fP
(comme le rapport \-> Afficher \-> Statistiques sur la base),
\fBcheck\fP (comme l\(aqoutil \-> Réparation de la base \-> Vérifier et
réparer), \fBreport\fP (produit un rapport) et \fBtool\fP (utilise un
outil), ces derniers ont besoin de \fIOPTION\fP précédé par la commande \-p.
.sp
L\(aq \fIOPTION\fP doit satisfaire ces conditions:
Il ne doit pas y avoir d\(aqespace. Si certains arguments doivent
utiliser des espaces, la chaîne doit être encadrée par des
guillemets. Les options vont par paire nom et valeur. Une
paire est séparée par un signe égal. Différentes paires sont
séparées par une virgule.
.sp
La plupart des options sont spécifiques à chaque rapport. Même
s\(aqil existe des options communes.
.sp
\fBname=name\fP
Cette option est obligatoire, elle détermine quel rapport ou
outil sera utilisé. Si le name saisi ne correspond à aucun
module disponible, un message d\(aqerreur sera ajouté.
.sp
\fBshow=all\fP
Cette option produit une liste avec les noms des options
disponibles pour un rapport donné.
.sp
\fBshow=optionname\fP
Cette option affiche une description de toutes les fonctionnalités
proposées par optionname, aussi bien les types que les valeurs pour une option.
.sp
Utiliser les options ci\-dessus pour trouver tout sur un rapport
choisi.
.UNINDENT
.sp
Quand plus d\(aqune action doit être effectuée, chacune doit être précédée
par la commande \fB\-a\fP . Les actions seront réalisées une à une, dans
l\(aqordre spécifié.
.INDENT 7.0
.TP
.B \fB\-d\fP , \fB\-\-debug=\fP \fINOM_LOGGER\fP
Permet les logs de debug pour le développement et les tests.
Regarder le code source pour les détails.
.TP
.B \fB\-\-version\fP
.BI \-\^\-version
Imprime le numéro de version pour gramps puis quitte.
.UNINDENT
\" changer 0 par 1 pour permettre la sortie des options OAF
.if 0 \{
.PP
Les options suivantes seront utilisées pour l'activation Bonobo.
.TP
.BI \-\^\-oaf-ior-fd= "FD"
Le descripteur de fichier pour imprimer OAF IOR
.TP
.BI \-\^\-oaf-activate-iid= " IID"
OAF IID à activer
.TP
.BI \-\^\-oaf-private
Prévenir de l'enregistrement du serveur avec OAF
\}
\" changer 0 par 1 pour permettre la sortie des options son de GNOME
.if 0 \{
.PP
Les options suivantes seront utilisées pour contrôler le son avec les librairies GNOME.
.TP
.B \fBOpération\fP
Si le premie argument de la ligne de commande ne commence pas par un
tiret (i.e. pas d\(aqinstruction), gramps va essayer d\(aqouvrir la base de
données avec le nom donné par le premier argument et démarrer une ses
sion interactive, en ignorant le reste de la ligne de commande.
.sp
Si la commande \fB\-O\fP est notée, alors gramps va essayer le fichier défini
et va travailler avec ses données, comme pour les autres paramètres de
la ligne de commande.
.sp
Avec ou sans la commande \fB\-O\fP , il peut y avoir plusieurs imports,
exports, et actions dans la ligne de commande \fB\-i\fP , \fB\-e\fP , et \fB\-a\fP .
.sp
L\(aqordre des options \fB\-i\fP , \fB\-e\fP , ou \fB\-a\fP n\(aqa pas de sens. L\(aqordre actuel est
toujours : imports \-> actions \-> exports. Mais l\(aqouverture doit toujours
être la première !
.sp
Si aucune option \fB\-O\fP ou \fB\-i\fP n\(aqest donnée, gramps lancera sa propre
fenêtre et demarrera avec une base vide, puisqu\(aqil n\(aqy a pas données.
.sp
Si aucune option \fB\-e\fP ou \fB\-a\fP n\(aqest donnée, gramps lancera sa propre
fenêtre et démarrera avec la base de données issue de tout les imports.
Cette base sera \fBimport_db.grdb\fP dans le répertoire \fB~/.gramps/import\fP.
.sp
Les erreurs rencontrées lors d\(aqimportation, d\(aqexportation, ou d\(aqaction, seront
mémorisées en \fIstdout\fP (si elles sont le fait de la manipulation par
gramps) ou en \fIstderr\fP (si elles ne sont pas le fait d\(aqune manipulation).
Utilisez les shell de redirection de \fIstdout\fP et \fIstderr\fP pour sauver
les messages et les erreurs dans les fichiers.
.BI \-\^\-disable-sound
Désactive l'utilisation du server son
.TP
.B \fBEXEMPLES\fP
Pour ouvrir un arbre familial et y importer un fichier XML, on peut
saisir:
.INDENT 7.0
.INDENT 3.5
\fBgramps \-O\fP \fI\(aqMon Arbre Familial\(aq\fP \fB\-i\fP \fI~/db3.gramps\fP
.UNINDENT
.UNINDENT
.sp
Ceci ouvre un arbre familial, pour faire la même chose, mais importer
dans un arbre familial temporaire et démarrer une session interactive,
on peut saisir :
.INDENT 7.0
.INDENT 3.5
\fBgramps \-i\fP \fI\(aqMon Arbre Familial\(aq\fP \fB\-i\fP \fI~/db3.gramps\fP
.UNINDENT
.UNINDENT
.sp
Lecture de quatre bases de données dont les formats peuvent être
devinés d\(aqaprès les noms, puis vérification des données:
.INDENT 7.0
.INDENT 3.5
\fBgramps \-i\fP \fIfile1.ged\fP \fB\-i\fP \fIfile2.tgz\fP \fB\-i\fP \fI~/db3.gramps\fP
\fB\-i\fP \fIfile4.wft\fP \fB\-a\fP \fIcheck\fP
.UNINDENT
.UNINDENT
.sp
Si vous voulez préciser lesformats de fichiers dans l\(aqexemple ci\-
dessus, complétez les noms de fichiers par les options \-f appropriées:
.INDENT 7.0
.INDENT 3.5
\fBgramps \-i\fP \fIfile1.ged\fP \fB\-f\fP \fIgedcom\fP \fB\-i\fP \fIfile2.tgz\fP \fB\-f\fP
\fIgramps\-pkg\fP \fB\-i\fP \fI~/db3.gramps\fP \fB\-f\fP \fIgramps\-xml\fP \fB\-i\fP \fIfile4.wft\fP
\fB\-f\fP \fIwft\fP \fB\-a\fP \fIcheck\fP
.UNINDENT
.UNINDENT
.sp
Pour enregistrer le résultat des lectures, donnez l\(aqoption \fB\-e\fP
(utiliser \-f si le nom de fichier ne permet pas à gramps de deviner le
format):
.INDENT 7.0
.INDENT 3.5
\fBgramps \-i\fP \fIfile1.ged\fP \fB\-i\fP \fIfile2.tgz\fP \fB\-e\fP \fI~/new\-package\fP
\fB\-f\fP \fIgramps\-pkg\fP
.UNINDENT
.UNINDENT
.sp
Pour lire trois ensembles de données puis lancer une session
interactive de gramps sur le tout :
.INDENT 7.0
.INDENT 3.5
\fBgramps \-i\fP \fIfile1.ged\fP \fB\-i\fP \fIfile2.tgz\fP \fB\-i\fP \fI~/db3.gramps\fP
.UNINDENT
.UNINDENT
.sp
Pour lancer l\(aqoutil de vérification de la base de données depuis la
ligne de commande et obtenir le résultat :
.INDENT 7.0
.INDENT 3.5
\fBgramps \-O\fP \fI\(aqMy Family Tree\(aq\fP \fB\-a\fP \fItool\fP \fB\-p name=\fP \fIverify\fP
.UNINDENT
.UNINDENT
.sp
Enfin, pour lancer une session interactive normale, entrer :
.INDENT 7.0
.INDENT 3.5
\fBgramps\fP
.UNINDENT
.UNINDENT
.BI \-\^\-enable-sound
Active l'utilisation du server son
.TP
.B \fBVARIABLES D\(aqENVIRONMENT\fP
Le programme vérifie si ces variables d\(aqenvironnement sont déclarées:
.sp
\fBLANG\fP \- décrit, quelle langue est utilisée: Ex.: pour le français on
peut définir fr_FR.UTF\-8.
.sp
\fBGRAMPSHOME\fP \- si défini, force Gramps à utiliser un répertoire
spécifique pour y conserver ses préférences et bases de données. Par
défaut, cette variable n\(aqest pas active et Gramps sait que les options
et bases de données doivent être créées dans le répertoire par défaut
de l\(aqutilisateur (la variable d\(aqenvironnement HOME pour Linux ou USER
PROFILE pour Windows 2000/XP).
.BI \-\^\-espeaker= " HOSTNAME:PORT"
Host:port sur lequel le serveur son sera utilisé
\}
.SH "Operation"
.br
Si le premier argument de la ligne de commande ne commence pas par un tiret (i.e. pas
d'instruction), gramps va essayer d'ouvrir la base de données avec le nom donné par le premier argument et démarrer une session interactive, en ignorant le reste de la ligne de commande.
.LP
Si la commande \fB\-O\fR est notée, alors gramps va essayer le fichier défini et va travailler avec ses données, comme pour les autres paramètres de la ligne de commande.
.LP
Avec ou sans la commande \fB\-O\fR, il peut y avoir plusieurs imports, exports, et actions dans la ligne de commande \fB\-i\fR,
\fB\-o\fR, et \fB\-a\fR.
.LP
L'ordre des options \fB\-i\fR, \fB\-o\fR, ou \fB\-a\fR n'a pas de sens. L'ordre actuel est toujours : imports -> actions -> exports. Mais l'ouverture doit toujours être la première!
.LP
Si aucune option \fB\-O\fR ou \fB\-i\fR n'est donnée, gramps lancera sa propre fenêtre et demarrera avec une base vide, puisqu'il n'y a pas données.
.LP
Si aucune option \fB\-o\fR ou \fB\-a\fR n'est donnée, gramps lancera sa propre fenêtre et démarrera avec la base de données issue de tout les imports. Cette base sera \fBimport_db.grdb\fR sous le répertoire \fB~/.gramps/import\fR.
.LP
Les erreurs rencontrées lors d'import, export, ou action, seront mémorisées en \fIstdout\fR (si elles sont le fait de la manipulation par gramps) ou
en \fIstderr\fR (si elles ne sont pas le fait d'une manipulation). Utilisez les shell de redirection de
\fIstdout\fR et \fIstderr\fR pour sauver les messages et les erreurs dans les fichiers.
.SH EXEMPLES
.TP
.B \fBCONCEPTS\fP
Gramps est un système basé sur le support de plugin\-python, permettant
d\(aqimporter et d\(aqexporter, la saisie, générer des rapports, des outils,
et afficher des filtres pouvant être ajoutés sans modifier le programme.
.sp
Par ailleurs, gramps permet la génération directe : impression, rap
ports avec sortie vers d\(aqautres formats, comme \fILibreOffice.org\fP ,
\fIHTML\fP , ou \fILaTeX\fP pour permettre à l\(aqutilisateur de choisir selon ses
besoins
.UNINDENT
.sp
\fBBUGS CONNUS ET LIMITATIONS\fP
.sp
\fBFICHIERS\fP
.INDENT 0.0
.INDENT 3.5
\fI${PREFIX}/bin/gramps\fP
.sp
\fI${PREFIX}/lib/python/dist\-packages/gramps/\fP
.sp
\fI${PREFIX}/share/\fP
.sp
\fI${HOME}/.gramps\fP
.UNINDENT
.UNINDENT
.INDENT 0.0
Pour ouvrir un arbre familial et y importer un fichier XML, on peut saisir:
\fBgramps\fR \fB\-O\fR \fI'Mon Arbre Familal'\fR \fB\-i\fR \fI~/db3.gramps\fR
.TP
Ceci ouvre un arbre familal, pour faire la même chose, mais importer dans un arbre familial temporaire et démarrer une session interactive, on peut saisir:
\fBgramps\fR \fB\-i\fR \fI'Mon Arbre Familal'\fR \fB\-i\fR \fI~/db3.gramps\fR
.TP
Lecture de quatre bases de données dont les formats peuvent être devinés d'après les noms, puis vérification des données:
\fBgramps\fR \fB\-i\fR \fIfile1.ged\fR \fB\-i\fR \fIfile2.tgz\fR \fB\-i\fR \fI~/db3.gramps\fR \fB\-i\fR \fIfile4.wft\fR \fB\-a\fR \fIcheck\fR
.TP
Si vous voulez préciser les formats de fichiers dans l'exemple ci-dessus, complétez les noms de fichiers par les options \fB\-f\fR appropriées:
\fBgramps\fR \fB\-i\fR \fIfile1.ged\fR \fB\-f\fR \fIgedcom\fR \fB\-i\fR \fIfile2.tgz\fR \fB\-f\fR \fIgramps-pkg\fR \fB\-i\fR \fI~/db3.gramps\fR \fB\-f\fR \fIgramps-xml\fR \fB\-i\fR \fIfile4.wft\fR \fB\-f\fR \fIwft\fR \fB\-a\fR \fIcheck\fR
.TP
Pour enregistrer le résultat des lectures, donnez l'option \fB\-o\fR (utiliser \fB\-f\fR si le nom de fichier ne permet pas à gramps de deviner le format):
\fBgramps\fR \fB\-i\fR \fIfile1.ged\fR \fB\-i\fR \fIfile2.tgz\fR \fB\-o\fR \fI~/new-package\fR \fB\-f\fR \fIgramps-pkg\fR
.TP
Pour lire trois ensembles de données puis lancer une session interactive de gramps sur le tout :
\fBgramps\fR \fB\-i\fR \fIfile1.ged\fR \fB\-i\fR \fIfile2.tgz\fR \fB\-i\fR \fI~/db3.gramps\fR
.TP
Pour lancer l'outil de vérification de la base de données depuis la ligne de commande et obtenir le résultat:
\fBgramps\fR \fB\-O\fR \fIfile.grdb\fR \fB-a\fR \fItool\fR \fB-p\fR \fBname\fR=\fIverify\fR
.TP
.B \fBAUTEURS\fP
Donald Allingham <\fI\%don@gramps-project.org\fP>
\fI\%http://gramps-project.org/\fP
.sp
Cette page man a d\(aqabord été écrite par :
Brandon L. Griffith <\fI\%brandon@debian.org\fP>
Enfin, pour lancer une session interactive normale, entrer : \fBgramps\fR
.SH VARIABLES D'ENVIRONMENT
Le programme vérifie si ces variables d'environnement sont déclarées:
\fBLANG\fR - décrit, quelle langue est utilisée:
Ex.: pour le français on peut définir fr_FR.UTF-8.
\fBGRAMPSHOME\fR - si défini, force GRAMPS à utiliser un répertoire spécifique pour y conserver ses préférences et bases de données. Par défaut, cette variable n'est pas active et GRAMPS sait que les options et bases de données doivent être créées
dans le répertoire par défaut de l'utilisateur (la variable d'environnement HOME pour Linux ou USERPROFILE pour Windows 2000/XP).
.SH CONCEPTS
GRAMPS est un système basé sur le support de plugin-python, permettant d'importer et d'exporter, la saisie,
générer des rapports, des outils, et afficher des filtres pouvant être ajoutés sans modifier le programme.
.LP
Par ailleurs, gramps permet la génération directe : impression, rapports avec sortie vers d'autres formats, comme \fIOpenOffice.org\fR, \fIAbiWord\fR, HTML,
ou LaTeX pour permettre à l'utilisateur de choisir selon ses besoins
.SH BUGS CONNUS ET LIMITATIONS
.SH FICHIERS
.LP
\fI${PREFIX}/bin/gramps\fP
.br
\fI${PREFIX}/share/gramps\fP
.br
\fI${HOME}/.gramps\fP
.SH AUTEURS
Donald Allingham \fI<don@gramps-project.org>\fR
.br
\fIhttp://gramps.sourceforge.net\fR
.LP
Cette page man a d'abord été écrite par:
.br
Brandon L. Griffith \fI<brandon@debian.org>\fR
.br
pour Debian GNU/Linux système.
.sp
Cette page man est maintenue par :
Gramps project <\fI\%xxx@gramps-project.org\fP>
.sp
La traduction française :
Jérôme Rapinat <\fI\%romjerome@yahoo.fr\fP>
.TP
.B \fBDOCUMENTATION\fP
La documentation\-utilisateur est disponible par un navigateur
standard sous la forme du manuel Gramps.
.sp
La documentation pour développeur est disponible sur le site
\fI\%http://www.gramps-project.org/wiki/index.php?title=Portal:Developers\fP .
.UNINDENT
.sp
gramps(1) @VERSION@ gramps(1)
.SH AUTHOR
Jerome Rapinat
.SH COPYRIGHT
2012, Gramps project
.\" Generated by docutils manpage writer.
.
.LP
Cette page man est maintenue par:
.br
Gramps project \fI<xxx@gramps-project.org>\fR
.LP
La traduction française:
.br
Jérôme Rapinat \fI<romjerome@yahoo.fr>\fR
.br
.SH DOCUMENTATION
La documentation-utilisateur est disponible par le navigateur d'aide de GNOME sous la forme du manuel Gramps. Ce manuel est également disponible sous format XML comme \fBgramps-manual.xml\fR sous \fIdoc/gramps-manual/$LANG\fR dans les sources officielles.
.LP
La documentation pour développeur est disponible sur le site \fIhttp://developers.gramps-project.org\fR.

View File

@ -1,4 +1,4 @@
.TH gramps 1 "@VERSION@" "December 2012" "@VERSION@"
.TH gramps 1 "@VERSION@" "January 2008" "@VERSION@"
.SH NAME
gramps \- Genealogical Research and Analysis Management Programming System.
@ -19,7 +19,7 @@ gramps \- Genealogical Research and Analysis Management Programming System.
.IR FORMAT ]]
.RB [ \-i|\-\^\-import=
.IR ... ]
.RB [ \-e|\-\^\-export=
.RB [ \-o|\-\^\-output=
.IR FILE
.RB [ \-f|\-\^\-format=
.IR FORMAT ]]
@ -49,7 +49,7 @@ wide by almost all other genealogy software.
.BI gramps " FILE"
When \fIFILE\fR is given (without any flags) as a family tree name or as
a family tree database directory, then it is opened and an interactive
session is started. If FILE is a file format understood by Gramps, an empty
session is started. If FILE is a file format understood by GRAMPS, an empty
family tree is created whose name is based on the \fIFILE\fP name
and the data is imported into it. The rest of the
options is ignored. This way of launching is suitable for using gramps
@ -64,14 +64,14 @@ Explicitly specify format of \fIFILE\fR given by preceding
\fB\-O\fR,
..
\fB\-i\fR, or
\fB\-e\fR option. If the \fB\-f\fR option is not given for any \fIFILE\fR,
\fB\-o\fR option. If the \fB\-f\fR option is not given for any \fIFILE\fR,
the format of that file is guessed according to its extension or MIME-type.
.br
Formats
available for export are \fBgramps\-xml\fR (guessed if \fIFILE\fR ends with
available for output are \fBgramps\-xml\fR (guessed if \fIFILE\fR ends with
\fB.gramps\fR), \fBgedcom\fR (guessed if \fIFILE\fR ends with \fB.ged\fR), or
any file export available through the Gramps plugin system.
any file export available through the GRAMPS plugin system.
.br
Formats
@ -114,14 +114,19 @@ and \fB\-i\fR \fIFILE2\fR \fB\-i\fR \fIFILE1\fR might produce different
gramps IDs in the resulting database.
.TP
.BI \-e,\-\^\-export= " FILE"
Export data into \fIFILE\fR. For \fBgramps\-xml\fR, \fBgedcom\fR,
\fBwft\fR, \fBgramps\-pkg\fR, and \fBgeneweb\fR, the \fIFILE\fR is
the name of the resulting file.
.BI \-o,\-\^\-output= " FILE"
Export data into \fIFILE\fR. For \fBiso\fR format, the \fIFILE\fR is actually
the name of directory the gramps database will be written into.
For
.ig
\fBgrdb\fR,
..
\fBgramps\-xml\fR, \fBgedcom\fR, \fBwft\fR, \fBgramps\-pkg\fR,
and \fBgeneweb\fR, the \fIFILE\fR is the name of the resulting file.
.br
When more than one output file is given, each has to be preceded
by \fB\-e\fR flag. The files are written one by one, in the specified order.
by \fB\-o\fR flag. The files are written one by one, in the specified order.
.TP
.BI \-a,\-\^\-action= " ACTION"
@ -223,10 +228,10 @@ further command line parameters.
.LP
With or without the \fB\-O\fR flag, there could be multiple imports,
exports, and actions specified further on the command line by using \fB\-i\fR,
\fB\-e\fR, and \fB\-a\fR flags.
\fB\-o\fR, and \fB\-a\fR flags.
.LP
The order of \fB\-i\fR, \fB\-e\fR, or \fB\-a\fR options does not matter. The
The order of \fB\-i\fR, \fB\-o\fR, or \fB\-a\fR options does not matter. The
actual order always is: all imports (if any) -> all actions (if any)
-> all exports (if any). But opening must always be first!
@ -236,7 +241,7 @@ window and start the usual interactive session with the empty database,
since there is no data to process, anyway.
.LP
If no \fB\-e\fR or \fB\-a\fR options are given, gramps will launch its main
If no \fB\-o\fR or \fB\-a\fR options are given, gramps will launch its main
window and start the usual interactive session with the database resulted
from all imports. This database resides in the \fBimport_db.grdb\fR
under \fB~/.gramps/import\fR directory.
@ -261,8 +266,8 @@ To import four databases (whose formats can be determined from their names) and
To explicitly specify the formats in the above example, append filenames with appropriate \fB\-f\fR options:
\fBgramps\fR \fB\-i\fR \fIfile1.ged\fR \fB\-f\fR \fIgedcom\fR \fB\-i\fR \fIfile2.tgz\fR \fB\-f\fR \fIgramps-pkg\fR \fB\-i\fR \fI~/db3.gramps\fR \fB\-f\fR \fIgramps-xml\fR \fB\-i\fR \fIfile4.wft\fR \fB\-f\fR \fIwft\fR \fB\-a\fR \fIcheck\fR
.TP
To record the database resulting from all imports, supply \fB\-e\fR flag (use \fB\-f\fR if the filename does not allow gramps to guess the format):
\fBgramps\fR \fB\-i\fR \fIfile1.ged\fR \fB\-i\fR \fIfile2.tgz\fR \fB\-e\fR \fI~/new-package\fR \fB\-f\fR \fIgramps-pkg\fR
To record the database resulting from all imports, supply \fB\-o\fR flag (use \fB\-f\fR if the filename does not allow gramps to guess the format):
\fBgramps\fR \fB\-i\fR \fIfile1.ged\fR \fB\-i\fR \fIfile2.tgz\fR \fB\-o\fR \fI~/new-package\fR \fB\-f\fR \fIgramps-pkg\fR
.TP
To import three databases and start interactive gramps session with the result:
\fBgramps\fR \fB\-i\fR \fIfile1.ged\fR \fB\-i\fR \fIfile2.tgz\fR \fB\-i\fR \fI~/db3.gramps\fR
@ -279,7 +284,7 @@ The program checks whether these environment variables are set:
\fBLANG\fR - describe, which language to use:
Ex.: for polish language this variable has to be set to pl_PL.UTF-8.
\fBGRAMPSHOME\fR - if set, force Gramps to use the specified directory to keep
\fBGRAMPSHOME\fR - if set, force GRAMPS to use the specified directory to keep
program settings and databases there. By default, this variable is not set and
gramps assumes that the folder with all databases and profile settings
should be created within the user profile folder (described by environment
@ -298,11 +303,9 @@ or LaTeX to allow the users to modify the format to suit their needs.
.SH FILES
.LP
\fI${PREFIX}/bin/gramps\fP
\fI${PREFIX}/bin/gramps\fP
.br
\fI${PREFIX}/lib/python/dist\-packages/gramps/\fP
.br
\fI${PREFIX}/share/\fP
\fI${PREFIX}/share/gramps\fP
.br
\fI${HOME}/.gramps\fP

View File

@ -1,22 +0,0 @@
.. Gramps documentation master file, created by
sphinx-quickstart on Sat Dec 1 00:07:37 2012.
You can adapt this file completely to your liking, but it should at least
contain the root `toctree` directive.
Welcome to Gramps' command line documentation!
==============================================
Contents:
.. toctree::
:maxdepth: 2
en
cs/cs
fr/fr
nl/nl
pl/pl
pt_BR/pt_BR
sv/sv

View File

@ -1,243 +0,0 @@
# -*- coding: utf-8 -*-
#
# Gramps documentation build configuration file, created by
# sphinx-quickstart on Sat Dec 1 14:38:29 2012.
#
# This file is execfile()d with the current directory set to its containing dir.
#
# Note that not all possible configuration values are present in this
# autogenerated file.
#
# All configuration values have a default; values that are commented out
# serve to show the default.
import sys, os
# If extensions (or modules to document with autodoc) are in another directory,
# add these directories to sys.path here. If the directory is relative to the
# documentation root, use os.path.abspath to make it absolute, like shown here.
#sys.path.insert(0, os.path.abspath('.'))
# -- General configuration -----------------------------------------------------
# If your documentation needs a minimal Sphinx version, state it here.
#needs_sphinx = '1.0'
# Add any Sphinx extension module names here, as strings. They can be extensions
# coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
extensions = []
# Add any paths that contain templates here, relative to this directory.
templates_path = ['_templates']
# The suffix of source filenames.
source_suffix = '.rst'
# The encoding of source files.
#source_encoding = 'utf-8-sig'
# The master toctree document.
master_doc = 'nl'
# General information about the project.
project = u'Gramps'
copyright = u'2012, Gramps project'
# The version info for the project you're documenting, acts as replacement for
# |version| and |release|, also used in various other places throughout the
# built documents.
#
# The short X.Y version.
version = '4.0'
# The full version, including alpha/beta/rc tags.
release = '4.0.0'
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
locale_dirs = './locale'
gettext_compact = True
# There are two options for replacing |today|: either, you set today to some
# non-false value, then it is used:
#today = ''
# Else, today_fmt is used as the format for a strftime call.
today_fmt = '%B %d, %Y'
# List of patterns, relative to source directory, that match files and
# directories to ignore when looking for source files.
exclude_patterns = ['_build']
# The reST default role (used for this markup: `text`) to use for all documents.
#default_role = None
# If true, '()' will be appended to :func: etc. cross-reference text.
#add_function_parentheses = True
# If true, the current module name will be prepended to all description
# unit titles (such as .. function::).
#add_module_names = True
# If true, sectionauthor and moduleauthor directives will be shown in the
# output. They are ignored by default.
#show_authors = False
# The name of the Pygments (syntax highlighting) style to use.
pygments_style = 'sphinx'
# A list of ignored prefixes for module index sorting.
#modindex_common_prefix = []
# -- Options for HTML output ---------------------------------------------------
# The theme to use for HTML and HTML Help pages. See the documentation for
# a list of builtin themes.
html_theme = 'default'
# Theme options are theme-specific and customize the look and feel of a theme
# further. For a list of options available for each theme, see the
# documentation.
#html_theme_options = {}
# Add any paths that contain custom themes here, relative to this directory.
#html_theme_path = []
# The name for this set of Sphinx documents. If None, it defaults to
# "<project> v<release> documentation".
#html_title = None
# A shorter title for the navigation bar. Default is the same as html_title.
#html_short_title = None
# The name of an image file (relative to this directory) to place at the top
# of the sidebar.
#html_logo = None
# The name of an image file (within the static path) to use as favicon of the
# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32
# pixels large.
#html_favicon = None
# Add any paths that contain custom static files (such as style sheets) here,
# relative to this directory. They are copied after the builtin static files,
# so a file named "default.css" will overwrite the builtin "default.css".
#html_static_path = ['_static']
# If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
# using the given strftime format.
#html_last_updated_fmt = '%b %d, %Y'
# If true, SmartyPants will be used to convert quotes and dashes to
# typographically correct entities.
#html_use_smartypants = True
# Custom sidebar templates, maps document names to template names.
#html_sidebars = {}
# Additional templates that should be rendered to pages, maps page names to
# template names.
#html_additional_pages = {}
# If false, no module index is generated.
#html_domain_indices = True
# If false, no index is generated.
#html_use_index = True
# If true, the index is split into individual pages for each letter.
#html_split_index = False
# If true, links to the reST sources are added to the pages.
#html_show_sourcelink = True
# If true, "Created using Sphinx" is shown in the HTML footer. Default is True.
#html_show_sphinx = True
# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True.
#html_show_copyright = True
# If true, an OpenSearch description file will be output, and all pages will
# contain a <link> tag referring to it. The value of this option must be the
# base URL from which the finished HTML is served.
#html_use_opensearch = ''
# This is the file name suffix for HTML files (e.g. ".xhtml").
#html_file_suffix = None
# Output file base name for HTML help builder.
htmlhelp_basename = 'Grampsdoc'
# -- Options for LaTeX output --------------------------------------------------
latex_elements = {
# The paper size ('letterpaper' or 'a4paper').
#'papersize': 'letterpaper',
# The font size ('10pt', '11pt' or '12pt').
#'pointsize': '10pt',
# Additional stuff for the LaTeX preamble.
#'preamble': '',
}
# Grouping the document tree into LaTeX files. List of tuples
# (source start file, target name, title, author, documentclass [howto/manual]).
latex_documents = [
('index', 'Gramps.tex', u'Gramps Documentation',
u'.', 'manual'),
]
# The name of an image file (relative to this directory) to place at the top of
# the title page.
#latex_logo = None
# For "manual" documents, if this is true, then toplevel headings are parts,
# not chapters.
#latex_use_parts = False
# If true, show page references after internal links.
#latex_show_pagerefs = False
# If true, show URL addresses after external links.
#latex_show_urls = False
# Documents to append as an appendix to all manuals.
#latex_appendices = []
# If false, no module index is generated.
#latex_domain_indices = True
# -- Options for manual page output --------------------------------------------
# One entry per manual page. List of tuples
# (source start file, name, description, authors, manual section).
man_pages = [
('nl', 'gramps', u'Gramps Documentation',
[u'.'], 1)
]
# If true, show URL addresses after external links.
#man_show_urls = False
# -- Options for Texinfo output ------------------------------------------------
# Grouping the document tree into Texinfo files. List of tuples
# (source start file, target name, title, author,
# dir menu entry, description, category)
texinfo_documents = [
('index', 'Gramps', u'Gramps Documentation',
u'.', 'Gramps', 'One line description of project.',
'Miscellaneous'),
]
# Documents to append as an appendix to all manuals.
#texinfo_appendices = []
# If false, no module index is generated.
#texinfo_domain_indices = True
# How to display URL addresses: 'footnote', 'no', or 'inline'.
#texinfo_show_urls = 'footnote'

View File

@ -17,7 +17,7 @@ gramps \- Genealogisch Onderzoek en Analyse Beheersysteem.
.IR FORMAAT ]]
.RB [ \-i|\-\^\-import=
.IR ... ]
.RB [ \-e|\-\^\-export=
.RB [ \-o|\-\^\-output=
.IR BESTAND
.RB [ \-f|\-\^\-format=
.IR FORMAAT ]]
@ -47,13 +47,13 @@ wordt wereldwijd gebruikt door bijna alle genealogische software.
.BI gramps "BESTAND"
Wanneer \fIBESTAND\fR opgegeven wordt (zonder vlaggen) als een familiestamboom
of als een familistamboommap, dan wordt dit bestand geopend en een interactieve
sessie wordt gestart. Indien BESTAND een bestandsformaat dat door Gramps
sessie wordt gestart. Indien BESTAND een bestandsformaat dat door GRAMPS
herkent wordt, zal een lege familiestamboom aangemaakt worden. De bestandsnaam
wordt gebaseerd op de \fIBESTAND\fP naam en de gegevens worden in dit bestand
geïmporteerd. Met resterende opties wordt geen rekening gehouden. Deze wijze
van opstarten is zeer bruikbaar om Gramps te gebruiken voor genealogische
van opstarten is zeer bruikbaar om GRAMPS te gebruiken voor genealogische
gegevens via een webbrowser. Deze opstartmethode kan gelijk welk gegevensformaat
eigen aan Gramps behandelen, zie onder.
eigen aan GRAMPS behandelen, zie onder.
.br
.TP
@ -63,7 +63,7 @@ Expliciet een formaat opgeven voor \fIBESTAND\fR door de optie
\fB\-O\fR,
..
\fB\-i\fR, of
\fB\-e\fR mee te geven. Indien de \fB\-f\fR optie niet opgegeven wordt voor
\fB\-o\fR mee te geven. Indien de \fB\-f\fR optie niet opgegeven wordt voor
\fIBESTAND\fR, wordt het formaat gebaseerd op de bestandsextensie of het
MIME-type.
.br
@ -71,7 +71,7 @@ MIME-type.
Formaten
beschikbaar voor uitvoer zijn \fBgramps\-xml\fR (guessed if \fIFILE\fR ends with
\fB.gramps\fR), \fBgedcom\fR (guessed if \fIFILE\fR ends with \fB.ged\fR), or
any file export available through the Gramps plugin system.
any file export available through the GRAMPS plugin system.
.br
Formats
@ -106,7 +106,7 @@ and \fB\-i\fR \fIFILE2\fR \fB\-i\fR \fIFILE1\fR might produce different
gramps IDs in the resulting database.
.TP
.BI \-e,\-\^\-export= " FILE"
.BI \-o,\-\^\-output= " FILE"
Export data into \fIFILE\fR. For \fBiso\fR format, the \fIFILE\fR is actually
the name of directory the gramps database will be written into.
For
@ -118,7 +118,7 @@ and \fBgeneweb\fR, the \fIFILE\fR is the name of the resulting file.
.br
When more than one output file is given, each has to be preceded
by \fB\-e\fR flag. The files are written one by one, in the specified order.
by \fB\-o\fR flag. The files are written one by one, in the specified order.
.TP
.BI \-a,\-\^\-action= " ACTION"
@ -206,7 +206,7 @@ Host:port on which the sound server to use is running
.SH "werking"
.br
Indien het eerste argument in de opdrachtregel niet start met dash (dus geen
vlag) dan zal Gramps trachten om het bestand te openen met een naam die in het
vlag) dan zal GRAMPS trachten om het bestand te openen met een naam die in het
eerste argument werd opgegeven. Vervolgens wordt een interactieve sessie
gestart en de overige argumenten van de opdrachtregel worden genegeerd.
@ -218,10 +218,10 @@ further command line parameters.
.LP
With or without the \fB\-O\fR flag, there could be multiple imports,
exports, and actions specified further on the command line by using \fB\-i\fR,
\fB\-e\fR, and \fB\-a\fR flags.
\fB\-o\fR, and \fB\-a\fR flags.
.LP
The order of \fB\-i\fR, \fB\-e\fR, or \fB\-a\fR options does not matter. The
The order of \fB\-i\fR, \fB\-o\fR, or \fB\-a\fR options does not matter. The
actual order always is: all imports (if any) -> all actions (if any)
-> all exports (if any). But opening must always be first!
@ -256,8 +256,8 @@ To import four databases (whose formats can be determined from their names) and
To explicitly specify the formats in the above example, append filenames with appropriate \fB\-f\fR options:
\fBgramps\fR \fB\-i\fR \fIfile1.ged\fR \fB\-f\fR \fIgedcom\fR \fB\-i\fR \fIfile2.tgz\fR \fB\-f\fR \fIgramps-pkg\fR \fB\-i\fR \fI~/db3.gramps\fR \fB\-f\fR \fIgramps-xml\fR \fB\-i\fR \fIfile4.wft\fR \fB\-f\fR \fIwft\fR \fB\-a\fR \fIcheck\fR
.TP
To record the database resulting from all imports, supply \fB\-e\fR flag (use \fB\-f\fR if the filename does not allow gramps to guess the format):
\fBgramps\fR \fB\-i\fR \fIfile1.ged\fR \fB\-i\fR \fIfile2.tgz\fR \fB\-e\fR \fI~/new-package\fR \fB\-f\fR \fIgramps-pkg\fR
To record the database resulting from all imports, supply \fB\-o\fR flag (use \fB\-f\fR if the filename does not allow gramps to guess the format):
\fBgramps\fR \fB\-i\fR \fIfile1.ged\fR \fB\-i\fR \fIfile2.tgz\fR \fB\-o\fR \fI~/new-package\fR \fB\-f\fR \fIgramps-pkg\fR
.TP
To import three databases and start interactive gramps session with the result:
\fBgramps\fR \fB\-i\fR \fIfile1.ged\fR \fB\-i\fR \fIfile2.tgz\fR \fB\-i\fR \fI~/db3.gramps\fR

View File

@ -1,266 +0,0 @@
Dutch
======
gramps(1) 3.4.0 gramps(1)
**NAAM**
gramps - Genealogisch Onderzoek en Analyse Beheersysteem.
**SAMENVATTING**
gramps [-?|--help] [--usage] [--version] [-O|--open= GEGEVENSBESTAND
[-f|--format= FORMAAT]] [-i|--import= BESTAND [-f|--format= FORMAAT]]
[-i|--import= ...] [-e|--export= BESTAND [-f|--format= FORMAAT]]
[-a|--action= ACTIE] [-p|--options= OPTIESTRING]] [ BESTAND ] [--ver
sion]
**BESCHRIJVING**
Gramps is een Free/OpenSource genealogisch programma dat in Python,
geschreven is en gebruik maakt van de GTK+/GNOME interface. Gramps zal
voor iedereen die al gewerkt heeft met andere genealogische programma's
zoals Family Tree Maker (TM), Personal Ancestral Files (TM) of GNU
Geneweb. Importeren vanuit het gekende GEDCOM-formaat wordt onderste
und. Dit formaat wordt wereldwijd gebruikt door bijna alle genealogis
che software.
**OPTIES**
**gramps** *BESTAND*
Wanneer *BESTAND* opgegeven wordt (zonder vlaggen) als een famili
estamboom of als een familistamboommap, dan wordt dit bestand
geopend en een interactieve sessie wordt gestart. Indien BESTAND
een bestandsformaat dat door Gramps herkent wordt, zal een lege
familiestamboom aangemaakt worden. De bestandsnaam wordt
gebaseerd op de *BESTAND* naam en de gegevens worden in dit
bestand geïmporteerd. Met resterende opties wordt geen rekening
gehouden. Deze wijze van opstarten is zeer bruikbaar om Gramps
te gebruiken voor genealogische gegevens via een webbrowser.
Deze opstartmethode kan gelijk welk gegevensformaat eigen aan
Gramps behandelen, zie onder.
**-f** , **--format=** *FORMAAT*
Expliciet een formaat opgeven voor BESTAND door de optie -i, of
-e mee te geven. Indien de -f optie niet opgegeven wordt voor
BESTAND, wordt het formaat gebaseerd op de bestandsextensie of
het MIME-type.
Formaten beschikbaar voor uitvoer zijn gramps-xml (guessed if
FILE ends with .gramps), gedcom (guessed if FILE ends with
.ged), or any file export available through the Gramps plugin
system.
Formats available for import are grdb, gramps-xml, gedcom,
gramps-pkg (guessed if FILE ends with .gpkg), and geneweb
(guessed if FILE ends with .gw).
Formats available for export are gramps-xml, gedcom, gramps-pkg,
wft (guessed if FILE ends with .wft), geneweb, and iso (never
guessed, always specify with -f option).
**-O** , **--open=** *DATABASE*
Open *DATABASE* which must be an existing database directory or
existing family tree name. If no action, import or export
options are given on the command line then an interactive ses
sion is started using that database.
**-i** , **--import=** *FILE*
Import data from *FILE* . If you haven't specified a database then
a temporary database is used; this is deleted when you exit
gramps.
When more than one input file is given, each has to be preceded
by **-i** flag. The files are imported in the specified order, i.e.
**-i** *FILE1* **-i** *FILE2* and **-i** *FILE2* **-i** *FILE1*
might produce different gramps IDs in the resulting database.
**-a** , **--action=** *ACTION*
Perform *ACTION* on the imported data. This is done after all
imports are successfully completed. Currently available actions
are **summary** (same as Reports->View->Summary), **check** (same as
Tools->Database Processing->Check and Repair), **report** (generates
report), and tool (runs a plugin tool). Both **report** and **tool**
need the *OPTIONSTRING* supplied by the **-p** flag).
The *OPTIONSTRING* should satisfy the following conditions:
It must not contain any spaces. If some arguments need to
include spaces, the string should be enclosed with quotation
marks, i.e., follow the shell syntax. Option string is a list
of pairs with name and value (separated by the equality sign).
The name and value pairs must be separated by commas.
Most of the report or tools options are specific for each report
or tool. However, there are some common options.
**name=name**
This mandatory option determines which report or tool will be
run. If the supplied name does not correspond to any available
report or tool, an error message will be printed followed by the
list of available reports or tools (depending on the *ACTION* ).
**show=all**
This will produce the list of names for all options available
for a given report or tool.
**show=optionname**
This will print the description of the functionality supplied by
*optionname*, as well as what are the acceptable types and values
for this option.
Use the above options to find out everything about a given
report.
When more than one output action is given, each has to be preceded by
**-a** flag. The actions are performed one by one, in the specified order.
**-d** , **--debug=** *LOGGER_NAME*
Enables debug logs for development and testing. Look at the
source code for details
**--version**
Prints the version number of gramps and then exits
**werking**
Indien het eerste argument in de opdrachtregel niet start met dash (dus
geen vlag) dan zal Gramps trachten om het bestand te openen met een
naam die in het eerste argument werd opgegeven. Vervolgens wordt een
interactieve sessie gestart en de overige argumenten van de
opdrachtregel worden genegeerd.
If the **-O** flag is given, then gramps will try opening the supplied
database and then work with that data, as instructed by the further
command line parameters.
With or without the **-O** flag, there could be multiple imports, exports,
and actions specified further on the command line by using **-i** ,
**-e** , and **-a** flags.
The order of **-i** , **-e** , or **-a** options does not matter. The actual order
always is: all imports (if any) -> all actions (if any) -> all exports
(if any). But opening must always be first!
If no **-O** or **-i** option is given, gramps will launch its main window and
start the usual interactive session with the empty database, since
there is no data to process, anyway.
If no **-e** or **-a** options are given, gramps will launch its main window
and start the usual interactive session with the database resulted from
all imports. This database resides in the **import_db.grdb** under
**~/.gramps/import** directory.
The error encountered during import, export, or action, will be either
dumped to stdout (if these are exceptions handled by gramps) or to
*stderr* (if these are not handled). Use usual shell redirections of
*stdout* and *stderr* to save messages and errors in files.
**EXAMPLES**
To open an existing family tree and import an xml file into it, one
may type:
**gramps -O** *'My Family Tree'* **-i** *~/db3.gramps*
The above changes the opened family tree, to do the same, but import
both in a temporary family tree and start an interactive session, one
may type:
**gramps -i** *'My Family Tree'* **-i** *~/db3.gramps*
To import four databases (whose formats can be determined from their
names) and then check the resulting database for errors, one may type:
**gramps -i** *file1.ged* **-i** *file2.tgz* **-i** *~/db3.gramps*
**-i** *file4.wft* **-a** *check*
To explicitly specify the formats in the above example, append file
names with appropriate **-f** options:
**gramps -i** *file1.ged* **-f** *gedcom* **-i** *file2.tgz* **-f**
*gramps-pkg* **-i** *~/db3.gramps* **-f** *gramps-xml* **-i** *file4.wft*
**-f** *wft* **-a** *check*
To record the database resulting from all imports, supply **-e** flag (use
**-f** if the filename does not allow gramps to guess the format):
**gramps -i** *file1.ged* **-i** *file2.tgz* **-e** *~/new-package*
**-f** *gramps-pkg*
To import three databases and start interactive gramps session with the
result:
**gramps -i** *file1.ged* **-i** *file2.tgz* **-i** *~/db3.gramps*
To run the Verify tool from the commandline and output the result to
stdout:
**gramps -O** *'My Family Tree'* **-a** *tool* **-p name=** *verify*
Finally, to start normal interactive session type:
**gramps**
**CONCEPTEN**
Ondersteuning van een op python-gebaseerd plugin systeem. Dit laat toe
om verslagen, hulpgereedschappen en vensterfilters toe te voegen zonder
dat het hoofdprogramma dient aangepast.
De klassieke uitdrukken zijn mogelijk, maar daar bovenover kunnen de
meeste verslagen ook gebruik maken van OpenOffice.org, AbiWord, HTML,
of LaTeX. Zo kunnen gebruikers het formaat wijzigen naar eigen wens.
**GEKENDE BUGS EN BEPERKINGEN**
**BESTANDEN**
*${PREFIX}/bin/gramps*
*${PREFIX}/lib/python/dist-packages/gramps/*
*${PREFIX}/share/*
*${HOME}/.gramps*
**AUTEURS**
Donald Allingham <don@gramps-project.org>
http://gramps-project.org/
Deze man pagina werd oorspronkelijk geschreven door:
Brandon L. Griffith <brandon@debian.org>
voor het Debian GNU/Linux systeem.
Deze man pagina wordt momenteel onderhouden door:
Alex Roitman <shura@gramps-project.org>
Deze nederlandstalige man pagina wordt momenteel onderhouden door:
Erik De Richter <frederik.de.richter@pandora.be>
**DOCUMENTATIE**
De gebruikersdocumentatie is beschikbaar via browser in de webstek.
De ontwikkelingsdocumentatie kan gevonden worden op de
http://www.gramps-project.org/wiki/index.php?title=Portal:Developers
webstek.
August 2005 4.0.0 gramps(1)

View File

@ -1,243 +0,0 @@
# -*- coding: utf-8 -*-
#
# Gramps documentation build configuration file, created by
# sphinx-quickstart on Sat Dec 1 14:38:29 2012.
#
# This file is execfile()d with the current directory set to its containing dir.
#
# Note that not all possible configuration values are present in this
# autogenerated file.
#
# All configuration values have a default; values that are commented out
# serve to show the default.
import sys, os
# If extensions (or modules to document with autodoc) are in another directory,
# add these directories to sys.path here. If the directory is relative to the
# documentation root, use os.path.abspath to make it absolute, like shown here.
#sys.path.insert(0, os.path.abspath('.'))
# -- General configuration -----------------------------------------------------
# If your documentation needs a minimal Sphinx version, state it here.
#needs_sphinx = '1.0'
# Add any Sphinx extension module names here, as strings. They can be extensions
# coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
extensions = []
# Add any paths that contain templates here, relative to this directory.
templates_path = ['_templates']
# The suffix of source filenames.
source_suffix = '.rst'
# The encoding of source files.
#source_encoding = 'utf-8-sig'
# The master toctree document.
master_doc = 'pl'
# General information about the project.
project = u'Gramps'
copyright = u'2012, Gramps project'
# The version info for the project you're documenting, acts as replacement for
# |version| and |release|, also used in various other places throughout the
# built documents.
#
# The short X.Y version.
version = '4.0'
# The full version, including alpha/beta/rc tags.
release = '4.0.0'
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
locale_dirs = './locale'
gettext_compact = True
# There are two options for replacing |today|: either, you set today to some
# non-false value, then it is used:
#today = ''
# Else, today_fmt is used as the format for a strftime call.
today_fmt = '%B %d, %Y'
# List of patterns, relative to source directory, that match files and
# directories to ignore when looking for source files.
exclude_patterns = ['_build']
# The reST default role (used for this markup: `text`) to use for all documents.
#default_role = None
# If true, '()' will be appended to :func: etc. cross-reference text.
#add_function_parentheses = True
# If true, the current module name will be prepended to all description
# unit titles (such as .. function::).
#add_module_names = True
# If true, sectionauthor and moduleauthor directives will be shown in the
# output. They are ignored by default.
#show_authors = False
# The name of the Pygments (syntax highlighting) style to use.
pygments_style = 'sphinx'
# A list of ignored prefixes for module index sorting.
#modindex_common_prefix = []
# -- Options for HTML output ---------------------------------------------------
# The theme to use for HTML and HTML Help pages. See the documentation for
# a list of builtin themes.
html_theme = 'default'
# Theme options are theme-specific and customize the look and feel of a theme
# further. For a list of options available for each theme, see the
# documentation.
#html_theme_options = {}
# Add any paths that contain custom themes here, relative to this directory.
#html_theme_path = []
# The name for this set of Sphinx documents. If None, it defaults to
# "<project> v<release> documentation".
#html_title = None
# A shorter title for the navigation bar. Default is the same as html_title.
#html_short_title = None
# The name of an image file (relative to this directory) to place at the top
# of the sidebar.
#html_logo = None
# The name of an image file (within the static path) to use as favicon of the
# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32
# pixels large.
#html_favicon = None
# Add any paths that contain custom static files (such as style sheets) here,
# relative to this directory. They are copied after the builtin static files,
# so a file named "default.css" will overwrite the builtin "default.css".
#html_static_path = ['_static']
# If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
# using the given strftime format.
#html_last_updated_fmt = '%b %d, %Y'
# If true, SmartyPants will be used to convert quotes and dashes to
# typographically correct entities.
#html_use_smartypants = True
# Custom sidebar templates, maps document names to template names.
#html_sidebars = {}
# Additional templates that should be rendered to pages, maps page names to
# template names.
#html_additional_pages = {}
# If false, no module index is generated.
#html_domain_indices = True
# If false, no index is generated.
#html_use_index = True
# If true, the index is split into individual pages for each letter.
#html_split_index = False
# If true, links to the reST sources are added to the pages.
#html_show_sourcelink = True
# If true, "Created using Sphinx" is shown in the HTML footer. Default is True.
#html_show_sphinx = True
# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True.
#html_show_copyright = True
# If true, an OpenSearch description file will be output, and all pages will
# contain a <link> tag referring to it. The value of this option must be the
# base URL from which the finished HTML is served.
#html_use_opensearch = ''
# This is the file name suffix for HTML files (e.g. ".xhtml").
#html_file_suffix = None
# Output file base name for HTML help builder.
htmlhelp_basename = 'Grampsdoc'
# -- Options for LaTeX output --------------------------------------------------
latex_elements = {
# The paper size ('letterpaper' or 'a4paper').
#'papersize': 'letterpaper',
# The font size ('10pt', '11pt' or '12pt').
#'pointsize': '10pt',
# Additional stuff for the LaTeX preamble.
#'preamble': '',
}
# Grouping the document tree into LaTeX files. List of tuples
# (source start file, target name, title, author, documentclass [howto/manual]).
latex_documents = [
('index', 'Gramps.tex', u'Gramps Documentation',
u'.', 'manual'),
]
# The name of an image file (relative to this directory) to place at the top of
# the title page.
#latex_logo = None
# For "manual" documents, if this is true, then toplevel headings are parts,
# not chapters.
#latex_use_parts = False
# If true, show page references after internal links.
#latex_show_pagerefs = False
# If true, show URL addresses after external links.
#latex_show_urls = False
# Documents to append as an appendix to all manuals.
#latex_appendices = []
# If false, no module index is generated.
#latex_domain_indices = True
# -- Options for manual page output --------------------------------------------
# One entry per manual page. List of tuples
# (source start file, name, description, authors, manual section).
man_pages = [
('pl', 'gramps', u'Gramps Documentation',
[u'.'], 1)
]
# If true, show URL addresses after external links.
#man_show_urls = False
# -- Options for Texinfo output ------------------------------------------------
# Grouping the document tree into Texinfo files. List of tuples
# (source start file, target name, title, author,
# dir menu entry, description, category)
texinfo_documents = [
('index', 'Gramps', u'Gramps Documentation',
u'.', 'Gramps', 'One line description of project.',
'Miscellaneous'),
]
# Documents to append as an appendix to all manuals.
#texinfo_appendices = []
# If false, no module index is generated.
#texinfo_domain_indices = True
# How to display URL addresses: 'footnote', 'no', or 'inline'.
#texinfo_show_urls = 'footnote'

View File

@ -22,7 +22,7 @@ i Programowego Zarządzania Tą Informacją)
.IR FORMAT ]]
.RB [ \-i|\-\^\-import=
.IR ... ]
.RB [ \-e|\-\^\-export=
.RB [ \-o|\-\^\-output=
.IR PLIK
.RB [ \-f|\-\^\-format=
.IR FORMAT ]]
@ -52,7 +52,7 @@ jest używany przez większość programów genealogicznych na świecie.
.BI gramps " PLIK"
Kiedy \fIPLIK\fR jest podany (bez żadnych flag) jako nazwa drzewa rodzinnego
albo nazwa katalogu z drzewem, to wybrane drzewo jest otwierane i rozpoczynana
jest sesja interaktywna. Jeśli PLIK jest formatem rozpoznawanym przez Gramps,
jest sesja interaktywna. Jeśli PLIK jest formatem rozpoznawanym przez GRAMPS,
to tworzone jest puste drzewo, którego nazwa bazuje na nazwie \fIPLIKU\fP
i dane są do niego importowane. Pozostałe opcje są wtedy ignorowane.
Jest to sposób na używanie programu jako uchwytu obsługującego
@ -66,7 +66,7 @@ Jawne określenie formatu \fIPLIKU\fR przez poprzedzenie opcji
.ig
\fB\-O\fR,
..
\fB\-i\fR, lub \fB\-e\fR.
\fB\-i\fR, lub \fB\-o\fR.
Jeśli opcja \fB\-f\fR nie jest podana dla żadnego \fIPLIKU\fR,
to format pliku jest określany na podstawie rozszerzenia albo typu MIME.
.br
@ -77,7 +77,7 @@ Dostępne formaty wyjściowe to:
.br
\fBgedcom\fR (przyjmowany jeśli \fIPLIK\fR kończy się na \fB.ged\fR),
.br
lub dowolny plik eksportu obsługiwany przez system wtyczek Gramps.
lub dowolny plik eksportu obsługiwany przez system wtyczek GRAMPS.
.br
Formaty
@ -126,7 +126,7 @@ poleceń, np.: \fB\-i\fR \fIPLIK1\fR \fB\-i\fR \fIPLIK2\fR oraz
(gramps ID) w bazie wynikowej.
.TP
.BI \-e,\-\^\-export= " PLIK"
.BI \-o,\-\^\-output= " PLIK"
Eksportuje dane do \fIPLIKU\fR. Dla formatu \fBiso\fR, \fIPLIK\fR natomiast
nazwą katalogu, do którego baza danych gramps zostanie zapisana.
Dla
@ -138,7 +138,7 @@ oraz \fBgeneweb\fR, \fIPLIK\fR jest nazwą pliku wynikowego.
.br
Kiedy więcej niż jeden plik wyjściowy jest podany, każdy musi być poprzedzony
flagą \fB\-e\fR. Pliki będą zapisywane kolejno, w podanej przez parametry
flagą \fB\-o\fR. Pliki będą zapisywane kolejno, w podanej przez parametry
kolejności.
.TP
@ -248,10 +248,10 @@ z linii komend.
.LP
Z flagą \fB\-O\fR czy bez, może występować wiele importów, eksportów oraz
akcji określonych za pomocą flag \fB\-i\fR, \fB\-e\fR, oraz \fB\-a\fR .
akcji określonych za pomocą flag \fB\-i\fR, \fB\-o\fR, oraz \fB\-a\fR .
.LP
Kolejność podawania opcji \fB\-i\fR, \fB\-e\fR, czy \fB\-a\fR nie ma znaczenia.
Kolejność podawania opcji \fB\-i\fR, \fB\-o\fR, czy \fB\-a\fR nie ma znaczenia.
Wykonywane są one zawsze w kolejności: wszystkie importy (jeśli podane) ->
wszystkie akcje (jeśli podane) -> wszystkie eksporty (jeśli podane)
Ale otwarcie bazy zawsze musi być na pierwszym parametrem !
@ -262,7 +262,7 @@ okno i rozpocznie normalną sesję interaktywną z pustą bazą danych (poniewa
nie zdołał przetworzyć do niej żadnych danych).
.LP
Jeśli nie podano opcji\fB\-e\fR albo \fB\-a\fR gramps uruchomi swoje głowne
Jeśli nie podano opcji\fB\-o\fR albo \fB\-a\fR gramps uruchomi swoje głowne
okno i rozpocznie normalną sesję interaktywną z bazą będącą wynikiem wszystkich importów. Ta baza będzie znajdować się w pliku \fBimport_db.grdb\fR
w katalogu \fB~/.gramps/import\fR.
@ -290,8 +290,8 @@ Aby jawnie określić formaty w powyższym przykładzie, należy dodać nazwy pl
z odpowiednimi opcjami \fB\-f\fR options:
\fBgramps\fR \fB\-i\fR \fIplik1.ged\fR \fB\-f\fR \fIgedcom\fR \fB\-i\fR \fIplik2.tgz\fR \fB\-f\fR \fIgramps-pkg\fR \fB\-i\fR \fI~/db3.gramps\fR \fB\-f\fR \fIgramps-xml\fR \fB\-i\fR \fIplik4.wft\fR \fB\-f\fR \fIwft\fR \fB\-a\fR \fIcheck\fR
.TP
Aby zachować bazę z wynikami wszystkich importów, należy dodać flagę \fB\-e\fR (należy użyć \fB\-f\fR jeśli nazwa pliku nie pozwala gramps'owi na odgadnięcie formatu wyjściowego):
\fBgramps\fR \fB\-i\fR \fIplik1.ged\fR \fB\-i\fR \fIplik2.tgz\fR \fB\-e\fR \fI~/nowy-pakiet\fR \fB\-f\fR \fIgramps-pkg\fR
Aby zachować bazę z wynikami wszystkich importów, należy dodać flagę \fB\-o\fR (należy użyć \fB\-f\fR jeśli nazwa pliku nie pozwala gramps'owi na odgadnięcie formatu wyjściowego):
\fBgramps\fR \fB\-i\fR \fIplik1.ged\fR \fB\-i\fR \fIplik2.tgz\fR \fB\-o\fR \fI~/nowy-pakiet\fR \fB\-f\fR \fIgramps-pkg\fR
.TP
W celu zaimportwania trzech baz i rozpoczęcia sesji interaktywnej z wynikiem
importu należy użyć polecenia podobnego do poniższego:

View File

@ -1,308 +0,0 @@
Polish
=======
gramps(1) 3.4.0 gramps(1)
**NAME**
gramps - Genealogical Research and Analysis Management Programming Sys
tem.
(w wolnym tłumaczeniu: System Wspomagania Badań Genealogicznych i Pro
gramowego Zarządzania Tą Informacją)
**SYNOPSIS**
gramps [-?|--help] [--usage] [--version] [-l] [-u|--force-unlock]
[-O|--open= BAZA_DANYCH [-f|--format= FORMAT]] [-i|--import= PLIK
[-f|--format= FORMAT]] [-i|--import= ...] [-e|--export= PLIK
[-f|--format= FORMAT]] [-a|--action= AKCJA] [-p|--options= CIĄG_OPCJI]]
[ PLIK ] [--version]
**OPIS**
Gramps jest wolnym, darmowym programem genealogicznym OpenSource. Jest
napisany w Python, przy użyciu interfejsu GTK+/GNOME. Dla każdego, kto
wcześniej używał innego programu genealogicznego (np. Family Tree
Maker (TM), Personal Ancestral Files (TM), lub GNU Geneweb), zapoz
nanie się z interfejsem Gramps'a będzie natychmiastowe. Program
obsługuje także import i eksport w popularnym formacie GEDCOM, który
jest używany przez większość programów genealogicznych na świecie.
**OPCJE**
**gramps** *PLIK*
Kiedy *PLIK* jest podany (bez żadnych flag) jako nazwa drzewa
rodzinnego albo nazwa katalogu z drzewem, to wybrane drzewo jest
otwierane i rozpoczynana jest sesja interaktywna. Jeśli PLIK
jest formatem rozpoznawanym przez Gramps, to tworzone jest puste
drzewo, którego nazwa bazuje na nazwie PLIKU i dane są do niego
importowane. Pozostałe opcje są wtedy ignorowane. Jest to
sposób na używanie programu jako uchwytu obsługującego dane
genealogiczne, np. w przeglądarce internetowej. Takie wywołanie
akceptuje każdy format natywny dla grampsa, zobacz poniżej.
**-f** , **--format=** *FORMAT*
Jawne określenie formatu PLIKU przez poprzedzenie opcji -i, lub
-e. Jeśli opcja -f nie jest podana dla żadnego PLIKU, to format
pliku jest określany na podstawie rozszerzenia albo typu MIME.
Dostępne formaty wyjściowe to:
gramps-xml (używany jeśli PLIK kończy się na .gramps),
gedcom (przyjmowany jeśli PLIK kończy się na .ged),
lub dowolny plik eksportu obsługiwany przez system wtyczek
Gramps.
Formaty dostępne dla importu to: grdb, gramps-xml, gedcom,
gramps-pkg (przyjmowany jeśli PLIK kończy się na .gpkg),
oraz geneweb (przyjmowany jeśli PLIK ma rozszerzenie .gw).
Formats dostępne dla eksportu to: gramps-xml, gedcom,
gramps-pkg, wft (jeśli rozszerzenie PLIKU to .wft), geneweb, i
iso (używany tylko, jeśli jawnie określony przez parametr -f ).
**-l**
Wyświetla listę dosŧępnych drzew genealogicznych.
**-u** , **--force-unlock**
Wymusza odblokowanie bazy danych.
**-O** , **--open=** *BAZA_DANYCH*
Otwiera *BAZĘ_DANYCH* , która musi istnieć w katalogu baz lub być
nazwą istniejącego drzewa rodzinnego. Jeśli nie podano akcji, to
opcje eksportu albo importu są wykonywane, a następnie jest
uruchamiana sesja interaktywna z otwarciem wybranej bazy.
**-i** , **--import=** *PLIK*
Importuje dane z *PLIKU* . Jeśli nie określono bazy danych, to
tworzona jest tymczasowa baza kasowana po zamknięciu programu.
Kiedy podany jest więcej niż jeden plik do importu, to każdy z
nich musi być poprzedzony flagą -i. Pliki są importowane w kole
jności podanej w linii poleceń, np.: -i PLIK1 -i PLIK2 oraz -i
PLIK2 -i PLIK1 mogą utworzyć inne identyfikatory (gramps ID) w
bazie wynikowej.
**-e** , **--export=** *PLIK*
Eksportuje dane do *PLIKU* . Dla formatu iso, PLIK natomiast nazwą
katalogu, do którego baza danych gramps zostanie zapisana. Dla
gramps-xml, gedcom, wft, gramps-pkg, oraz geneweb, PLIK jest
nazwą pliku wynikowego.
Kiedy więcej niż jeden plik wyjściowy jest podany, każdy musi
być poprzedzony flagą -e. Pliki będą zapisywane kolejno, w
podanej przez parametry kolejności.
**-a** , **--action=** *AKCJA*
Wykonuje AKCJĘ na zaimportowanych danych. Działanie to jest
wykonywane dopiero, gdy wszystkie określone importy zakończą się
powodzeniem. Aktualnie dostępne akcje to:
summary (taka sama jak Raporty->Wyświetl->Podsumowanie bazy
danych),
check (tożsama z Narzędzia->Naprawa bazy danych->Sprawdź i
napraw bazę),
report (generuje raport), oraz
tool (uruchamia narzędzie/wtyczkę). Zarówno report jak i tool
wymagają podania CIĄGU_OPCJI poprzedzonego flagą -p ).
CIĄG_OPCJI powinien spełniać następujące warunki:
Nie może zawierać spacji. Jeśli niektóre argumenty wymagają
spacji, ciąg powinien być enkapsulowany w znakach cudzysłowu,
(zobacz składnię powłoki). Ciąg opcji jest listą parametrów z
nazwą i wartością oddzielonymi znakiem równości. Kolejne parame
try muszą być oddzielone od siebie znakiem przecinka.
Większość opcji dla raportów czy narzędzi jest specyficzna dla
konkretnej opcji, jednak część z opcji jest wspólna, szczególnie
dla raportów.
**name=nazwa**
Opcja wymagana, określający który raport czy narzędzie będzie
uruchamiane. Jeśli podana wartość nazwy nie pasuje do żadnego
dostępnego raportu czy narzędzia, zostanie wyświetlony komunikat
o błędzie oraz lista dostępnych raportów albo opcji (w
zależności od wartości parametru AKCJA).
**show=all**
Wyświetla listę wszystkich nazw dostępnych opcji wraz z krótkim
opisem dla danego raportu albo narzędzia.
**show=nazwa_opcji**
Wyświetla opis funkcji udostępnianej przez daną nazwę_opcji, jak
również listę parametrów, które akceptuje dana opcja.
Używając powyższych opcji jesteś w stanie dowiedzieć się o
wszystkich możliwościach danego raportu.
Kiedy więcej niż jeden akcja wyjściowa jest podana, każda musi być
poprzedzona flagą -a. Akcje są wykonywane jedna po drugiej, w kole
jności w jakiej występują w linii poleceń.
**-d** , **--debug=** *NAZWA_LOGGERA*
Włącza logi debuggowania dla celów programistycznych i
testowych. Zobacz do kodu źródłowego po szczegóły.
**--version**
Wyświetla wersję programu i kończy działanie.
**Działanie**
Jeśli pierwszy argument nie rozpoczyna się znakiem myślnik, (nie jest
flagą), to gramps będzie próbował otworzyć plik podany przez pierwszy
argument, a następnie sesję interaktywną a pozostałą część parametrów w
linii poleceń zignoruje.
Jeśli podana jest flaga -O, będzie próbował otworzyć podaną bazę i pra
cować na danych w niej zawartych realizując podane później polecenia z
linii komend.
Z flagą -O czy bez, może występować wiele importów, eksportów oraz
akcji określonych za pomocą flag -i, -e, oraz -a .
Kolejność podawania opcji -i, -e, czy -a nie ma znaczenia. Wykonywane
są one zawsze w kolejności: wszystkie importy (jeśli podane) -> wszys
tkie akcje (jeśli podane) -> wszystkie eksporty (jeśli podane) Ale
otwarcie bazy zawsze musi być na pierwszym parametrem !
Jeśli nie podano opcji -O lub -i, gramps uruchomi swoje główne okno i
rozpocznie normalną sesję interaktywną z pustą bazą danych (ponieważ
nie zdołał przetworzyć do niej żadnych danych).
Jeśli nie podano opcji-e albo -a gramps uruchomi swoje głowne okno i
rozpocznie normalną sesję interaktywną z bazą będącą wynikiem wszyst
kich importów. Ta baza będzie znajdować się w pliku import_db.grdb w
katalogu ~/.gramps/import.
Błąd podczas importu, eksportu albo dowolnej akcji będzie przekierowany
na stdout (jeśli wyjątek zostanie obsłużony przez gramps) albo na
stderr (jeśli nie jest obsłużony). Użyj standardowych przekierowań
strumieni stdout oraz stderr jeśli chcesz zapisać wyświetlane informa
cje i błędy do pliku.
**PRZYKŁADY**
Aby otworzyć istniejące drzewo rodzinne i zaimportować dane do niego,
można wpisać:
gramps -O 'Moje drzewo' -i ~/db3.gramps
Powyższa opcja otwiera istniejące drzewo, ale gdy chcesz zrobić wykonać
taką samą akcję tworząc tymczasowe drzewo: wystarczy wpisać:
gramps -i 'Moje drzewo' -i ~/db3.gramps
Aby zaimportować cztery bazy (których formaty zostaną określone na pod
stawie ich nazw) i następnie sprawdić powstałą bazę pod kątem błędów,
należy wpisać:
gramps -i plik1.ged -i plik2.tgz -i ~/db3.gramps
-i plik4.wft -a check
Aby jawnie określić formaty w powyższym przykładzie, należy dodać nazwy
plików z odpowiednimi opcjami -f options:
gramps -i plik1.ged -f gedcom -i plik2.tgz -f gramps-pkg -i
~/db3.gramps -f gramps-xml -i plik4.wft -f wft -a check
Aby zachować bazę z wynikami wszystkich importów, należy dodać flagę -e
(należy użyć -f jeśli nazwa pliku nie pozwala gramps'owi na odgadnięcie
formatu wyjściowego):
gramps -i plik1.ged -i plik2.tgz -e ~/nowy-pakiet -f gramps-pkg
W celu zaimportwania trzech baz i rozpoczęcia sesji interaktywnej z
wynikiem importu należy użyć polecenia podobnego do poniższego:
gramps -i plik1.ged -i plik22.tgz -i ~/db3.gramps
Aby uruchomić narzędzie weryfikacji z linii poleceń i wyświetlić wyniki
na stdout:
gramps -O 'Moje drzewo' -a tool -p name=verify
Zawsze można też po prostu uruchomić sesję interaktywną wpisująć:
gramps
**ZMIENNE ŚRODOWISKOWE**
Program sprawdza w systemie istnienie i wartości następujących zmien
nych:
**LANG** - określa ustawienia, jaki język zostanie wybrany. Np.: polski to
pl_PL.UTF-8.
**GRAMPSHOME** - określa folder, w którym będzie zapisywane ustawienia i
bazy programu. Domyślnie jest on nieustawiony, a program przyjmuje, że
katalog z danymi zostanie utworzony w profilu użytkownika (zmienna HOME
pod Linuxem albo USERPROFILE pod Windows 2000/XP).
**KONCEPCJA**
Obsługa systemu rozszerzeń bazującego na pythonie, pozwalającego na
dodawanie formatów importu i eksportu zapisów, generatorów raportów,
narzędzi i filtrów wyświetlania bez modyfikowania głównego programu
Dodatkowo oprócz generowania standardowego wyjścia na drukarkę, raporty
mogą także być generowane dla innch systemów i do innych formatów,
takich jak: OpenOffice.org, AbiWord, HTML, lub LaTeX aby umożliwić
użytkownikm wybór formatu wyjściowego w zależności od ich potrzeb.
**ZNANE BŁĘDY I OGRANICZENIA**
Prawdopodobne. Lista błędów i propozycji znajduje się na:
http://www.gramps-project.org/wiki/index.php?title=Portal:Developers .
**PLIKI**
*${PREFIX}/bin/gramps*
*${PREFIX}/lib/python/dist-packages/gramps/*
*${PREFIX}/share/*
*${HOME}/.gramps (jeśli nie użyta została zmienna środowiskowa GRAMP
SHOME)*
**AUTORZY**
Donald Allingham <don@gramps-project.org>
http://gramps-project.org/
Ta strona man jest tłumaczeniem strony man napisanej przez:
Brandon L. Griffith <brandon@debian.org>
dla systemu Debian GNU/Linux.
Ta strona aktualnie jest pod opeką:
Projekt Gramps<xxx@gramps-project.org>
Tłumaczenie na polski: Łukasz Rymarczyk <yenidai@poczta.onet.pl>
**DOCUMENTATION**
Dokumentacja użytkownika jest dostępna poprzez standardową przeglądarkę.
Dokumentacja dla programistów jest dostępna na stronie projektu:
http://www.gramps-project.org/wiki/index.php?title=Portal:Developers
January 2008 4.0.0 gramps(1)

View File

@ -1,14 +0,0 @@
# This is the data/pt_BR level Makefile for Gramps
# $Id: Makefile.am 16377 2011-01-13 18:32:42Z matlas $
man_IN_FILES = gramps.1.in
man_MANS = $(man_IN_FILES:.1.in=.1)
mandir = @mandir@/pt_BR
EXTRA_DIST = $(man_MANS) $(man_IN_FILES)
gramps.1: $(top_builddir)/config.status gramps.1.in
cd $(top_builddir) && CONFIG_FILES=data/man/pt_BR/$@ $(SHELL) ./config.status
CLEANFILES=$(man_MANS)

View File

@ -1,243 +0,0 @@
# -*- coding: utf-8 -*-
#
# Gramps documentation build configuration file, created by
# sphinx-quickstart on Sat Dec 1 14:38:29 2012.
#
# This file is execfile()d with the current directory set to its containing dir.
#
# Note that not all possible configuration values are present in this
# autogenerated file.
#
# All configuration values have a default; values that are commented out
# serve to show the default.
import sys, os
# If extensions (or modules to document with autodoc) are in another directory,
# add these directories to sys.path here. If the directory is relative to the
# documentation root, use os.path.abspath to make it absolute, like shown here.
#sys.path.insert(0, os.path.abspath('.'))
# -- General configuration -----------------------------------------------------
# If your documentation needs a minimal Sphinx version, state it here.
#needs_sphinx = '1.0'
# Add any Sphinx extension module names here, as strings. They can be extensions
# coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
extensions = []
# Add any paths that contain templates here, relative to this directory.
templates_path = ['_templates']
# The suffix of source filenames.
source_suffix = '.rst'
# The encoding of source files.
#source_encoding = 'utf-8-sig'
# The master toctree document.
master_doc = 'pt_BR'
# General information about the project.
project = u'Gramps'
copyright = u'2012, Gramps project'
# The version info for the project you're documenting, acts as replacement for
# |version| and |release|, also used in various other places throughout the
# built documents.
#
# The short X.Y version.
version = '4.0'
# The full version, including alpha/beta/rc tags.
release = '4.0.0'
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
locale_dirs = './locale'
gettext_compact = True
# There are two options for replacing |today|: either, you set today to some
# non-false value, then it is used:
#today = ''
# Else, today_fmt is used as the format for a strftime call.
today_fmt = '%B %d, %Y'
# List of patterns, relative to source directory, that match files and
# directories to ignore when looking for source files.
exclude_patterns = ['_build']
# The reST default role (used for this markup: `text`) to use for all documents.
#default_role = None
# If true, '()' will be appended to :func: etc. cross-reference text.
#add_function_parentheses = True
# If true, the current module name will be prepended to all description
# unit titles (such as .. function::).
#add_module_names = True
# If true, sectionauthor and moduleauthor directives will be shown in the
# output. They are ignored by default.
#show_authors = False
# The name of the Pygments (syntax highlighting) style to use.
pygments_style = 'sphinx'
# A list of ignored prefixes for module index sorting.
#modindex_common_prefix = []
# -- Options for HTML output ---------------------------------------------------
# The theme to use for HTML and HTML Help pages. See the documentation for
# a list of builtin themes.
html_theme = 'default'
# Theme options are theme-specific and customize the look and feel of a theme
# further. For a list of options available for each theme, see the
# documentation.
#html_theme_options = {}
# Add any paths that contain custom themes here, relative to this directory.
#html_theme_path = []
# The name for this set of Sphinx documents. If None, it defaults to
# "<project> v<release> documentation".
#html_title = None
# A shorter title for the navigation bar. Default is the same as html_title.
#html_short_title = None
# The name of an image file (relative to this directory) to place at the top
# of the sidebar.
#html_logo = None
# The name of an image file (within the static path) to use as favicon of the
# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32
# pixels large.
#html_favicon = None
# Add any paths that contain custom static files (such as style sheets) here,
# relative to this directory. They are copied after the builtin static files,
# so a file named "default.css" will overwrite the builtin "default.css".
#html_static_path = ['_static']
# If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
# using the given strftime format.
#html_last_updated_fmt = '%b %d, %Y'
# If true, SmartyPants will be used to convert quotes and dashes to
# typographically correct entities.
#html_use_smartypants = True
# Custom sidebar templates, maps document names to template names.
#html_sidebars = {}
# Additional templates that should be rendered to pages, maps page names to
# template names.
#html_additional_pages = {}
# If false, no module index is generated.
#html_domain_indices = True
# If false, no index is generated.
#html_use_index = True
# If true, the index is split into individual pages for each letter.
#html_split_index = False
# If true, links to the reST sources are added to the pages.
#html_show_sourcelink = True
# If true, "Created using Sphinx" is shown in the HTML footer. Default is True.
#html_show_sphinx = True
# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True.
#html_show_copyright = True
# If true, an OpenSearch description file will be output, and all pages will
# contain a <link> tag referring to it. The value of this option must be the
# base URL from which the finished HTML is served.
#html_use_opensearch = ''
# This is the file name suffix for HTML files (e.g. ".xhtml").
#html_file_suffix = None
# Output file base name for HTML help builder.
htmlhelp_basename = 'Grampsdoc'
# -- Options for LaTeX output --------------------------------------------------
latex_elements = {
# The paper size ('letterpaper' or 'a4paper').
#'papersize': 'letterpaper',
# The font size ('10pt', '11pt' or '12pt').
#'pointsize': '10pt',
# Additional stuff for the LaTeX preamble.
#'preamble': '',
}
# Grouping the document tree into LaTeX files. List of tuples
# (source start file, target name, title, author, documentclass [howto/manual]).
latex_documents = [
('index', 'Gramps.tex', u'Gramps Documentation',
u'.', 'manual'),
]
# The name of an image file (relative to this directory) to place at the top of
# the title page.
#latex_logo = None
# For "manual" documents, if this is true, then toplevel headings are parts,
# not chapters.
#latex_use_parts = False
# If true, show page references after internal links.
#latex_show_pagerefs = False
# If true, show URL addresses after external links.
#latex_show_urls = False
# Documents to append as an appendix to all manuals.
#latex_appendices = []
# If false, no module index is generated.
#latex_domain_indices = True
# -- Options for manual page output --------------------------------------------
# One entry per manual page. List of tuples
# (source start file, name, description, authors, manual section).
man_pages = [
('pt_BR', 'gramps', u'Gramps Documentation',
[u'.'], 1)
]
# If true, show URL addresses after external links.
#man_show_urls = False
# -- Options for Texinfo output ------------------------------------------------
# Grouping the document tree into Texinfo files. List of tuples
# (source start file, target name, title, author,
# dir menu entry, description, category)
texinfo_documents = [
('index', 'Gramps', u'Gramps Documentation',
u'.', 'Gramps', 'One line description of project.',
'Miscellaneous'),
]
# Documents to append as an appendix to all manuals.
#texinfo_appendices = []
# If false, no module index is generated.
#texinfo_domain_indices = True
# How to display URL addresses: 'footnote', 'no', or 'inline'.
#texinfo_show_urls = 'footnote'

View File

@ -1,325 +0,0 @@
.TH gramps 1 "@VERSION@" "Janeiro de 2008" "@VERSION@"
.SH NOME
gramps \- Programa para pesquisa genealógica.
.SH RESUMO
.B gramps
.RB [ \-?|\-\^\-help ]
.RB [ \-\^\-usage ]
.RB [ \-\^\-version ]
.RB [ \-l ]
.RB [ \-u|\-\^\-force-unlock ]
.RB [ \-O|\-\^\-open=
.IR BANCODEDADOS
.RB [ \-f|\-\^\-format=
.IR FORMATO ]]
.RB [ \-i|\-\^\-import=
.IR ARQUIVO
.RB [ \-f|\-\^\-format=
.IR FORMATO ]]
.RB [ \-i|\-\^\-import=
.IR ... ]
.RB [ \-e|\-\^\-export=
.IR ARQUIVO
.RB [ \-f|\-\^\-format=
.IR FORMATO ]]
.RB [ \-a|\-\^\-action=
.IR AÇÃO ]
.RB [ \-p|\-\^\-options=
.IR OPÇÕES ]]
.RB [
.IR ARQUIVO
.RB ]
.if 0 .RB [ bonobo\ options ]
.if 0 .RB [ sound\ options ]
.RB [ \-\-version ]
.SH DESCRIÇÃO
.PP
\fIGramps\fP é um programa de genealogia livre e de código aberto. Ele é escrito
em Python e usa a interface GTK+/GNOME.
Gramps deve parecer familiar a qualquer pessoa que já tenha usado outro programa
de genealogia, tais como o \fIFamily Tree Maker (TM)\fR, \fIPersonal Ancestral
Files (TM)\fR, ou o GNU Geneweb.
Ele suporta a importação do formato GEDCOM, que é amplamente usado por quase
todos os outros programas de genealogia.
.SH OPÇÕES
.TP
.BI gramps " ARQUIVO"
Quando \fIARQUIVO\fR for indicado (sem qualquer outra opção) como um nome de
árvore genealógica ou como pasta do banco de dados, ela será aberta e iniciada
uma sessão interativa. Se ARQUIVO for um formato compreendido pelo Gramps, será
criada uma árvore genealógica vazia com o nome baseado no \fIARQUIVO\fP
e os dados são importados para ela. As demais opções serão ignoradas. Esta forma
de execução é apropriada para usar o Gramps como manipulador de dados genealógicos
em, por exemplo, navegadores Web. Este método aceita qualquer formato de dados
nativo do Gramps, conforme abaixo.
.br
.TP
.BI \-f,\-\^\-format= " FORMATO"
Indica expressamente o formato do \fIARQUIVO\fR, precedente das opções
.ig
\fB\-O\fR,
..
\fB\-i\fR ou
\fB\-e\fR. Se a opção \fB\-f\fR não for fornecida para um \fIARQUIVO\fR,
o formato será identificado de acordo com a sua extensão ou tipo MIME.
.br
Os formatos disponíveis para exportação são \fBgramps\-xml\fR (se o \fIARQUIVO\fR
terminar com \fB.gramps\fR), \fBgedcom\fR (se o \fIARQUIVO\fR terminar com \fB.ged\fR)
ou qualquer outro formato de arquivo disponível através do sistema de plugins do
Gramps.
.br
Os formatos disponíveis para importação são \fBgrdb\fR, \fBgramps\-xml\fR, \fBgedcom\fR,
\fBgramps\-pkg\fR (se o \fIARQUIVO\fR terminar com \fB.gpkg\fR), e \fBgeneweb\fR
(se o \fIARQUIVO\fR terminar com \fB.gw\fR).
.br
Os formatos disponíveis para exportação são
.ig
\fBgrdb\fR,
..
\fBgramps\-xml\fR, \fBgedcom\fR,
\fBgramps\-pkg\fR, \fBwft\fR (se o \fIARQUIVO\fR terminar com \fB.wft\fR),
\fBgeneweb\fR, e \fBiso\fR (deve sempre ser indicado com a opção
\fB\-f\fR).
.TP
.BI \-l
Exibe uma lista com as árvores genealógicas conhecidas.
.TP
.BI \-u,\-\^\-force-unlock
Desbloqueia um banco de dados previamente bloqueado.
.TP
.BI \-O,\-\^\-open= " BANCODEDADOS"
Abre o \fIBANCODEDADOS\fR, que deve ser uma pasta de banco de dados ou um nome de árvore
genealógica existentes.
Se não forem indicadas opções de ação, importação ou exportação na linha de comando,
será iniciada uma sessão interativa usando este banco de dados.
.TP
.BI \-i,\-\^\-import= " ARQUIVO"
Importa os dados do \fIARQUIVO\fR. Se não for indicado um banco de dados, o Gramps usará
um arquivo temporário, que será excluído ao sair do programa.
.br
Quando mais de um arquivo de origem for indicado, cada um deles deve ser precedido da
opção \fB\-i\fR. Os arquivos são importados na ordem indicada, por exemplo,
\fB\-i\fR \fIARQUIVO1\fR \fB\-i\fR \fIARQUIVO2\fR
e \fB\-i\fR \fIARQUIVO2\fR \fB\-i\fR \fIARQUIVO1\fR poderá produzir diferentes gramps IDs
no banco de dados resultante.
.TP
.BI \-a,\-\^\-action= " AÇÃO"
Executa a \fIAÇÃO\fR nos dados importados. Isto será executado após a conclusão de todas
as importações. Até o momento, as ações disponíveis são \fBsummary\fR (o mesmo que
Relatórios->Exibir->Resumo),
\fBcheck\fR (o mesmo que Ferramentas->Processamento do banco de dados->Verificar e reparar),
\fBreport\fR (gera o relatório), e
\fBtool\fR (executa uma ferramenta de plugin).
Para o \fBreport\fR e \fBtool\fR é necessário fornecer \fIOPÇÕES\fR (com uso da opção
\fB\-p\fR).
.br
As \fIOPÇÕES\fR devem satisfazer as seguintes condições:
.br
Não podem conter espaços.
Se alguns argumentos precisam incluir espaços, a string deve
ser colocada entre aspas, ou seja, seguir a sintaxe do shell.
String de opção é uma lista de pares com o nome e o valor (separados por
sinal de igual). Os pares de nome e valor devem ser separados por vírgula.
.br
Muitas opções são específicas de cada relatório ou ferramenta.
Entretanto, algumas opções são comuns.
.BI "name=nome"
.br
Esta opção obrigatória determina qual relatório ou ferramenta será executado.
Se o \fInome\fR fornecido não corresponder a um relatório ou ferramenta, será
exibida uma mensagem de erro seguida de uma lista de relatórios e ferramentas
disponíveis (dependendo da \fIAÇÃO\fR).
.BI "show=all"
.br
Isto irá gerar uma lista com os nomes para todas as opções disponíveis de um determinado
relatório ou ferramenta.
.BI "show="nome_opção
.br
Isto irá exibir a descrição da funcionalidade indicada por \fInome_opção\fR, bem
como quais são os tipos aceitáveis e os valores para esta opção.
.br
Use as opções acima para descobrir
tudo sobre um determinado relatório.
.LP
Quando mais de uma ação de saída for indicada, cada uma deve ser precedida da opção
\fB\-a\fR. As ações são realizadas uma a uma, na ordem indicada.
.TP
.BI \-d,\-\^\-debug= " ARQUIVO_REGISTRO"
Ativa os registros para desenvolvimento e testes. Veja o código-fonte para mais detalhes.
.TP
.BI \-\^\-version
Exibe o número da versão do Gramps e finaliza.
\" altera de 0 para 1 para ativar a saída das opções OAF
.if 0 \{
.PP
As opções a seguir são usadas para ativação do Bonobo.
.TP
.BI \-\^\-oaf-ior-fd= "FD"
Descritor do arquivo para exibir o OAF IOR em
.TP
.BI \-\^\-oaf-activate-iid= " IID"
OAF IID para ativar
.TP
.BI \-\^\-oaf-private
Impedir o registro do servidor com OAF
\}
\" altera de 0 para 1 para ativar a saída das opções de som do Gnome
.if 0 \{
.PP
As opções a seguir são usadas para controlar o som usando a biblioteca do Gnome.
.TP
.BI \-\^\-disable-sound
Desativa o servidor de som
.TP
.BI \-\^\-enable-sound
Ativa o servidor de som
.TP
.BI \-\^\-espeaker= " HOSTNAME:PORT"
Máquina:porta que o servidor de som utiliza para execução
\}
.SH "Operação"
.br
Se o primeiro argumento da linha de comando não começar com um traço (isto é,
sem uma opção), o Gramps tentará abrir o arquivo com o nome fornecido pelo primeiro
argumento e iniciar a sessão interativa, ignorando o resto dos argumentos da
linha de comando.
.LP
Se for fornecida a opção \fB\-O\fR, então o Gramps tentará abrir o banco de dados
indicado e trabalhar com estes dados, de acordo com as instruções dos parâmetros
adicionais da linha de comando.
.LP
Com ou sem a opção \fB\-O\fR, pode haver múltiplas importações, exportações e
ações indicadas pela linha de comando usando as opções \fB\-i\fR,
\fB\-e\fR e \fB\-a\fR.
.LP
A ordem das opções \fB\-i\fR, \fB\-e\fR ou \fB\-a\fR não importa. A ordem
utilizada será sempre esta: todas as importações (se existirem) -> todas
as ações (se existirem) -> todas as exportações (se existirem). Mas a abertura
deve estar sempre em primeiro lugar!
.LP
Se as opções \fB\-O\fR ou \fB\-i\fR não forem fornecidas, o Gramps será aberto
com a sua janela principal e iniciará a sessão interativa padrão com um banco
de dados vazio, uma vez que não há nada a processar.
.LP
Se as opções \fB\-e\fR ou \fB\-a\fR não forem fornecidas, o Gramps será aberto
com a sua janela principal e iniciará a sessão interativa padrão com um banco
de dados resultante de todas as importações. Este banco de dados está localizado
no arquivo \fBimport_db.grdb\fR da pasta \fB~/.gramps/import\fR.
.LP
Os erros encontrados durante a importação, exportação ou ação, serão direcionados
para \fIstdout\fR (se forem exceções tratadas pelo Gramps) ou para \fIstderr\fR
(se não forem tratadas). Use redirecionamentos usuais de \fIstdout\fR e
\fIstderr\fR do shell para salvar mensagens e erros em arquivos.
.SH EXEMPLOS
.TP
Abrir uma árvore genealógica existente e importar um arquivo xml para ela:
\fBgramps\fR \fB\-O\fR \fI'Minha árvore genealógica'\fR \fB\-i\fR \fI~/db3.gramps\fR
.TP
Fazer as mesmas alterações da árvore genealógica do comando anterior, mas importar a árvore genealógica temporária e iniciar uma sessão interativa:
\fBgramps\fR \fB\-i\fR \fI'Minha árvore genealógica'\fR \fB\-i\fR \fI~/db3.gramps\fR
.TP
Importar quatro bancos de dados (cujos formatos podem ser reconhecidos pelos nomes) e verificar a existência de erros no banco de dados resultante:
\fBgramps\fR \fB\-i\fR \fIarquivo1.ged\fR \fB\-i\fR \fIarquivo2.tgz\fR \fB\-i\fR \fI~/db3.gramps\fR \fB\-i\fR \fIarquivo4.wft\fR \fB\-a\fR \fIcheck\fR
.TP
Indicar de forma explícita os formatos do exemplo acima, atribuindo os nomes dos arquivos com as opções \fB\-f\fR apropriadas:
\fBgramps\fR \fB\-i\fR \fIarquivo1.ged\fR \fB\-f\fR \fIgedcom\fR \fB\-i\fR \fIarquivo2.tgz\fR \fB\-f\fR \fIgramps-pkg\fR \fB\-i\fR \fI~/db3.gramps\fR \fB\-f\fR \fIgramps-xml\fR \fB\-i\fR \fIarquivo4.wft\fR \fB\-f\fR \fIwft\fR \fB\-a\fR \fIcheck\fR
.TP
Gravar o banco de dados resultante de todas as importações, indicando a opção \fB\-e\fR (use \fB\-f\fR se o nome do arquivo não permirtir que o gramps reconheça o formato automaticamente):
\fBgramps\fR \fB\-i\fR \fIarquivo1.ged\fR \fB\-i\fR \fIarquivo2.tgz\fR \fB\-e\fR \fI~/novo-pacote\fR \fB\-f\fR \fIgramps-pkg\fR
.TP
Importar três bancos de dados e iniciar a sessão interativa do Gramps com o resultado:
\fBgramps\fR \fB\-i\fR \fIarquivo1.ged\fR \fB\-i\fR \fIarquivo2.tgz\fR \fB\-i\fR \fI~/db3.gramps\fR
.TP
Executar a ferramenta de verificação a partir da linha de comando e direcionar o resultado para stdout:
\fBgramps\fR \fB\-O\fR \fI'Minha árvore genealógica'\fR \fB-a\fR \fItool\fR \fB-p\fR \fBname\fR=\fIverify\fR
.TP
Finalmente, para iniciar uma sessão interativa normal, digite:
\fBgramps\fR
.SH VARIÁVEIS DE AMBIENTE
O programa verifica se estas variáveis de ambiente estão definidas:
\fBLANG\fR - identifica o idioma a ser usado.
Ex.: Para o idioma português do Brasil, a variável deve ser definida como pt_BR.UTF-8.
\fBGRAMPSHOME\fR - se definida, força o Gramps a usar a pasta indicada para armazenar
as configurações e os bancos de dados do programa. Por padrão, esta variável não é
definida e o Gramps assume que a pasta com todos os bancos de dados e configurações
do perfil devem ser criadas na pasta do usuário (descrita na variável de ambiente
HOME no Linux ou USERPROFILE no Windows 2000/XP).
.SH CONCEITOS
Suporta um sistema de plugins baseado em Python, permitindo acrescentar importações
e exportações adicionais, geradores de relatórios, ferramentas e filtros de exibição,
sem modificação do programa principal.
.LP
Além da impressão direta, é possível gerar relatórios em diversos formatos de
arquivo, tais como \fIOpenOffice.org\fR, \fIAbiWord\fR, HTML ou LaTeX, para permitir
aos usuários a modificação de acordo com suas necessidades.
.SH LIMITAÇÕES E ERROS CONHECIDOS
.SH ARQUIVOS
.LP
\fI${PREFIX}/bin/gramps\fP
.br
\fI${PREFIX}/share/gramps\fP
.br
\fI${HOME}/.gramps\fP
.SH AUTORES
Donald Allingham \fI<don@gramps-project.org>\fR
.br
\fIhttp://gramps.sourceforge.net\fR
.LP
Este manual foi originalmente escrito por:
.br
Brandon L. Griffith \fI<brandon@debian.org>\fR
.br
para inclusão na distribuição Debian GNU/Linux.
.LP
Este manual é atualmente mantido pelo:
.br
Projeto Gramps \fI<xxx@gramps-project.org>\fR
.br
.SH DOCUMENTAÇÃO
A documentação para usuários está disponível através da opção de ajuda padrão
do GNOME, na forma de Manual do Gramps. O Manual também está disponível no
formato XML como \fBgramps-manual.xml\fR em \fIdoc/gramps-manual/$LANG\fR
nas fontes oficiais da sua distribuição.
.LP
A documentação para desenvolvedores pode ser encontrada na página
\fIhttp://developers.gramps-project.org\fR.
.SH TRADUÇÃO
\&\fR\&\f(CWAndré Marcelo Alvarenga <andrealvarenga@gmx.net> em 05/08/2012\fR

View File

@ -1,293 +0,0 @@
Portuguese (Brazil)
===================
gramps(1) 4.0.0 gramps(1)
**NOME**
gramps - Programa para pesquisa genealógica.
**RESUMO**
gramps [-?|--help] [--usage] [--version] [-l] [-u|--force-unlock]
[-O|--open= BANCODEDADOS [-f|--format= FORMATO]] [-i|--import= ARQUIVO
[-f|--format= FORMATO]] [-i|--import= ...] [-e|--export= ARQUIVO
[-f|--format= FORMATO]] [-a|--action= AÇÃO] [-p|--options= OPÇÕES]]
[ ARQUIVO ] [--version]
**DESCRIÇÃO**
Gramps é um programa de genealogia livre e de código aberto.
Ele é escrito em Python e usa a interface GTK+/GNOME.
Gramps deve parecer familiar a qualquer pessoa que já tenha usado
outro programa de genealogia, tais como o Family Tree Maker (TM),
Personal Ancestral Files (TM), ou o GNU Geneweb. Ele suporta a
importação do formato GEDCOM, que é amplamente usado por quase
todos os outros programas de genealogia.
**OPÇÕES**
**gramps** *ARQUIVO*
Quando *ARQUIVO* for indicado (sem qualquer outra opção) como um
nome de árvore genealógica ou como pasta do banco de dados,
ela será aberta e iniciada uma sessão interativa. Se *ARQUIVO* for
um formato compreendido pelo Gramps, será criada uma árvore
genealógica vazia com o nome baseado no ARQUIVO e os dados são
importados para ela. As demais opções serão ignoradas. Esta
forma de execução é apropriada para usar o Gramps como manipulador
de dados genealógicos em, por exemplo, navegadores Web. Este método
aceita qualquer formato de dados nativo do Gramps, conforme abaixo.
**-f** , **--format=** *FORMATO*
Indica expressamente o formato do *ARQUIVO*, precedente das opções
-i ou -e. Se a opção -f não for fornecida para um ARQUIVO, o
formato será identificado de acordo com a sua extensão ou tipo MIME.
Os formatos disponíveis para exportação são gramps-xml (se o ARQUIVO
terminar com .gramps), gedcom (se o ARQUIVO terminar com .ged) ou
qualquer outro formato de arquivo disponível através do sistema de
plugins do Gramps.
Os formatos disponíveis para importação são grdb, gramps-xml, gedcom,
gramps-pkg (se o ARQUIVO terminar com .gpkg), e geneweb
(se o ARQUIVO terminar com .gw).
Os formatos disponíveis para exportação são gramps-xml, gedcom,
gramps-pkg, wft (se o ARQUIVO terminar com .wft), geneweb.
**-l**
Exibe uma lista com as árvores genealógicas conhecidas.
**-u** , **--force-unlock**
Desbloqueia um banco de dados previamente bloqueado.
**-O** , **--open=** *BANCODEDADOS*
Abre o *BANCODEDADOS* , que deve ser uma pasta de banco de dados
ou um nome de árvore genealógica existentes. Se não forem indicadas
opções de ação, importação ou exportação na linha de comando,
será iniciada uma sessão interativa usando este banco de dados.
**-i** , **--import=** *ARQUIVO*
Importa os dados do ARQUIVO. Se não for indicado um banco de dados,
o Gramps usará um arquivo temporário, que será excluído ao sair
do programa.
Quando mais de um arquivo de origem for indicado, cada um deles
deve ser precedido da opção -i. Os arquivos são importados na ordem
indicada, por exemplo, -i ARQUIVO1 -i ARQUIVO2 e -i ARQUIVO2 -i
ARQUIVO1 poderá produzir diferentes gramps IDs no banco de dados
resultante.
**-a** , **--action=** *AÇÃO*
Executa a *AÇÃO* nos dados importados. Isto será executado após a
conclusão de todas as importações. Até o momento, as ações
disponíveis são summary (o mesmo que Relatórios->Exibir->Resumo),
check (o mesmo que Ferramentas->Processamento do banco de dados->
Verificar e reparar), report (gera o relatório), e tool (executa
uma ferramenta de plugin). Para o report e tool é necessário
fornecer OPÇÕES (com uso da opção -p).
As OPÇÕES devem satisfazer as seguintes condições:
Não podem conter espaços. Se alguns argumentos precisam incluir
espaços, a string deve ser colocada entre aspas, ou seja, seguir
a sintaxe do shell. String de opção é uma lista de pares com o
nome e o valor (separados por sinal de igual). Os pares de nome
e valor devem ser separados por vírgula.
Muitas opções são específicas de cada relatório ou ferramenta.
Entretanto, algumas opções são comuns.
**name=nome**
Esta opção obrigatória determina qual relatório ou ferramenta
será executado. Se o nome fornecido não corresponder a um
relatório ou ferramenta, será exibida uma mensagem de erro
seguida de uma lista de relatórios e ferramentas disponíveis
dependendo da AÇÃO).
**show=all**
Isto irá gerar uma lista com os nomes para todas as opções
disponíveis de um determinado relatório ou ferramenta.
**show=nome_opção**
Isto irá exibir a descrição da funcionalidade indicada por nome_opção,
bem como quais são os tipos aceitáveis e os valores para esta opção.
Use as opções acima para descobrir tudo sobre um determinado relatório.
Quando mais de uma ação de saída for indicada, cada uma deve ser
precedida da opção -a. As ações são realizadas uma a uma, na ordem
indicada.
**-d** , **--debug=** *ARQUIVO_REGISTRO*
Ativa os registros para desenvolvimento e testes. Veja o código-fonte
para mais detalhes.
**--version**
Exibe o número da versão do Gramps e finaliza.
 
**Operação**
Se o primeiro argumento da linha de comando não começar com um
traço (isto é, sem uma opção), o Gramps tentará abrir o arquivo
com o nome fornecido pelo primeiro argumento e iniciar a sessão
interativa, ignorando o resto dos argumentos da linha de comando.
Se for fornecida a opção -O, então o Gramps tentará abrir o banco
de dados indicado e trabalhar com estes dados, de acordo com as
instruções dos parâmetros adicionais da linha de comando.
Com ou sem a opção -O, pode haver múltiplas importações, exportações
e ações indicadas pela linha de comando usando as opções -i, -e e -a.
A ordem das opções -i, -e ou -a não importa. A ordem utilizada
será sempre esta: todas as importações (se existirem) -> todas
as ações (se existirem) -> todas as exportações (se existirem).
Mas a abertura deve estar sempre em primeiro lugar!
Se as opções -O ou -i não forem fornecidas, o Gramps será aberto
com a sua janela principal e iniciará a sessão interativa padrão
com um banco de dados vazio, uma vez que não há nada a processar.
Se as opções -e ou -a não forem fornecidas, o Gramps será aberto
com a sua janela principal e iniciará a sessão interativa padrão
com um banco de dados resultante de todas as importações. Este
banco de dados está localizado no arquivo import_db.grdb da
pasta ~/.gramps/import.
Os erros encontrados durante a importação, exportação ou ação,
serão direcionados para stdout (se forem exceções tratadas pelo
Gramps) ou para stderr (se não forem tratadas). Use redirecionamentos
usuais de stdout e stderr do shell para salvar mensagens e erros
em arquivos.
**EXEMPLOS**
Abrir uma árvore genealógica existente e importar um arquivo xml para
ela:
gramps -O 'Minha árvore genealógica' -i ~/db3.gramps
Fazer as mesmas alterações da árvore genealógica do comando anterior,
mas importar a árvore genealógica temporária e iniciar uma sessão
interativa:
gramps -i 'Minha árvore genealógica' -i ~/db3.gramps
Importar quatro bancos de dados (cujos formatos podem ser
reconhecidos pelos nomes) e verificar a existência de erros no
banco de dados resultante:
gramps -i arquivo1.ged -i arquivo2.tgz -i ~/db3.gramps -i
arquivo4.wft -a check
Indicar de forma explícita os formatos do exemplo acima, atribuindo
os nomes dos arquivos com as opções -f apropriadas:
gramps -i arquivo1.ged -f gedcom -i arquivo2.tgz -f gramps-pkg
-i ~/db3.gramps -f gramps-xml -i arquivo4.wft -f wft -a check
Gravar o banco de dados resultante de todas as importações,
indicando a opção -e (use -f se o nome do arquivo não permirtir
que o gramps reconheça o formato automaticamente):
gramps -i arquivo1.ged -i arquivo2.tgz -e ~/novo-pacote -f gramps-pkg
Importar três bancos de dados e iniciar a sessão interativa do
Gramps com o resultado:
gramps -i arquivo1.ged -i arquivo2.tgz -i ~/db3.gramps
Executar a ferramenta de verificação a partir da linha de
comando e direcionar o resultado para stdout:
gramps -O 'Minha árvore genealógica' -a tool -p name=verify
Finalmente, para iniciar uma sessão interativa normal, digite:
gramps
 
**VARIÁVEIS DE AMBIENTE**
O programa verifica se estas variáveis de ambiente estão definidas:
**LANG** - identifica o idioma a ser usado. Ex.: Para o idioma português do Brasil, a variável deve ser definida como pt_BR.UTF-8.
**GRAMPSHOME** - se definida, força o Gramps a usar a pasta indicada para armazenar as configurações e os bancos de dados do programa. Por padrão, esta variável não é definida e o Gramps assume que a pasta com todos os bancos de dados e configurações do perfil devem ser criadas na pasta do usuário (descrita na variável de ambiente HOME no Linux ou USERPROFILE no Windows 2000/XP).
**CONCEITOS**
Suporta um sistema de plugins baseado em Python, permitindo acrescentar
importações e exportações adicionais, geradores de relatórios,
ferramentas e filtros de exibição, sem modificação do programa principal.
Além da impressão direta, é possível gerar relatórios em diversos
formatos de arquivo, tais como OpenOffice.org, AbiWord, HTML ou
LaTeX, para permitir aos usuários a modificação de acordo com
suas necessidades.
**LIMITAÇÕES E ERROS CONHECIDOS**
*ARQUIVOS**
*${PREFIX}/bin/gramps*
*${PREFIX}/lib/python/dist-packages/gramps/*
*${PREFIX}/share/*
*${HOME}/.gramps*
*AUTORES*
Donald Allingham <don@gramps-project.org>
http://gramps.sourceforge.net
Este manual foi originalmente escrito por:
Brandon L. Griffith <brandon@debian.org>
para inclusão na distribuição Debian GNU/Linux.
Este manual é atualmente mantido pelo:
Projeto Gramps <xxx@gramps-project.org>
 
**DOCUMENTAÇÃO**
A documentação para usuários está disponível através da
opção de ajuda.
A documentação para desenvolvedores pode ser encontrada na
página http://developers.gramps-project.org.
**TRADUÇÃO**
André Marcelo Alvarenga <andrealvarenga@gmx.net> em 05/08/2012
January 2013 4.0.0 gramps(1)

View File

@ -1,243 +0,0 @@
# -*- coding: utf-8 -*-
#
# Gramps documentation build configuration file, created by
# sphinx-quickstart on Sat Dec 1 14:38:29 2012.
#
# This file is execfile()d with the current directory set to its containing dir.
#
# Note that not all possible configuration values are present in this
# autogenerated file.
#
# All configuration values have a default; values that are commented out
# serve to show the default.
import sys, os
# If extensions (or modules to document with autodoc) are in another directory,
# add these directories to sys.path here. If the directory is relative to the
# documentation root, use os.path.abspath to make it absolute, like shown here.
#sys.path.insert(0, os.path.abspath('.'))
# -- General configuration -----------------------------------------------------
# If your documentation needs a minimal Sphinx version, state it here.
#needs_sphinx = '1.0'
# Add any Sphinx extension module names here, as strings. They can be extensions
# coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
extensions = []
# Add any paths that contain templates here, relative to this directory.
templates_path = ['_templates']
# The suffix of source filenames.
source_suffix = '.rst'
# The encoding of source files.
#source_encoding = 'utf-8-sig'
# The master toctree document.
master_doc = 'sv'
# General information about the project.
project = u'Gramps'
copyright = u'2012, Gramps project'
# The version info for the project you're documenting, acts as replacement for
# |version| and |release|, also used in various other places throughout the
# built documents.
#
# The short X.Y version.
version = '4.0'
# The full version, including alpha/beta/rc tags.
release = '4.0.0'
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
locale_dirs = './locale'
gettext_compact = True
# There are two options for replacing |today|: either, you set today to some
# non-false value, then it is used:
#today = ''
# Else, today_fmt is used as the format for a strftime call.
today_fmt = '%B %d, %Y'
# List of patterns, relative to source directory, that match files and
# directories to ignore when looking for source files.
exclude_patterns = ['_build']
# The reST default role (used for this markup: `text`) to use for all documents.
#default_role = None
# If true, '()' will be appended to :func: etc. cross-reference text.
#add_function_parentheses = True
# If true, the current module name will be prepended to all description
# unit titles (such as .. function::).
#add_module_names = True
# If true, sectionauthor and moduleauthor directives will be shown in the
# output. They are ignored by default.
#show_authors = False
# The name of the Pygments (syntax highlighting) style to use.
pygments_style = 'sphinx'
# A list of ignored prefixes for module index sorting.
#modindex_common_prefix = []
# -- Options for HTML output ---------------------------------------------------
# The theme to use for HTML and HTML Help pages. See the documentation for
# a list of builtin themes.
html_theme = 'default'
# Theme options are theme-specific and customize the look and feel of a theme
# further. For a list of options available for each theme, see the
# documentation.
#html_theme_options = {}
# Add any paths that contain custom themes here, relative to this directory.
#html_theme_path = []
# The name for this set of Sphinx documents. If None, it defaults to
# "<project> v<release> documentation".
#html_title = None
# A shorter title for the navigation bar. Default is the same as html_title.
#html_short_title = None
# The name of an image file (relative to this directory) to place at the top
# of the sidebar.
#html_logo = None
# The name of an image file (within the static path) to use as favicon of the
# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32
# pixels large.
#html_favicon = None
# Add any paths that contain custom static files (such as style sheets) here,
# relative to this directory. They are copied after the builtin static files,
# so a file named "default.css" will overwrite the builtin "default.css".
#html_static_path = ['_static']
# If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
# using the given strftime format.
#html_last_updated_fmt = '%b %d, %Y'
# If true, SmartyPants will be used to convert quotes and dashes to
# typographically correct entities.
#html_use_smartypants = True
# Custom sidebar templates, maps document names to template names.
#html_sidebars = {}
# Additional templates that should be rendered to pages, maps page names to
# template names.
#html_additional_pages = {}
# If false, no module index is generated.
#html_domain_indices = True
# If false, no index is generated.
#html_use_index = True
# If true, the index is split into individual pages for each letter.
#html_split_index = False
# If true, links to the reST sources are added to the pages.
#html_show_sourcelink = True
# If true, "Created using Sphinx" is shown in the HTML footer. Default is True.
#html_show_sphinx = True
# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True.
#html_show_copyright = True
# If true, an OpenSearch description file will be output, and all pages will
# contain a <link> tag referring to it. The value of this option must be the
# base URL from which the finished HTML is served.
#html_use_opensearch = ''
# This is the file name suffix for HTML files (e.g. ".xhtml").
#html_file_suffix = None
# Output file base name for HTML help builder.
htmlhelp_basename = 'Grampsdoc'
# -- Options for LaTeX output --------------------------------------------------
latex_elements = {
# The paper size ('letterpaper' or 'a4paper').
#'papersize': 'letterpaper',
# The font size ('10pt', '11pt' or '12pt').
#'pointsize': '10pt',
# Additional stuff for the LaTeX preamble.
#'preamble': '',
}
# Grouping the document tree into LaTeX files. List of tuples
# (source start file, target name, title, author, documentclass [howto/manual]).
latex_documents = [
('index', 'Gramps.tex', u'Gramps Documentation',
u'.', 'manual'),
]
# The name of an image file (relative to this directory) to place at the top of
# the title page.
#latex_logo = None
# For "manual" documents, if this is true, then toplevel headings are parts,
# not chapters.
#latex_use_parts = False
# If true, show page references after internal links.
#latex_show_pagerefs = False
# If true, show URL addresses after external links.
#latex_show_urls = False
# Documents to append as an appendix to all manuals.
#latex_appendices = []
# If false, no module index is generated.
#latex_domain_indices = True
# -- Options for manual page output --------------------------------------------
# One entry per manual page. List of tuples
# (source start file, name, description, authors, manual section).
man_pages = [
('sv', 'gramps', u'Gramps Documentation',
[u'.'], 1)
]
# If true, show URL addresses after external links.
#man_show_urls = False
# -- Options for Texinfo output ------------------------------------------------
# Grouping the document tree into Texinfo files. List of tuples
# (source start file, target name, title, author,
# dir menu entry, description, category)
texinfo_documents = [
('index', 'Gramps', u'Gramps Documentation',
u'.', 'Gramps', 'One line description of project.',
'Miscellaneous'),
]
# Documents to append as an appendix to all manuals.
#texinfo_appendices = []
# If false, no module index is generated.
#texinfo_domain_indices = True
# How to display URL addresses: 'footnote', 'no', or 'inline'.
#texinfo_show_urls = 'footnote'

View File

@ -1,9 +1,9 @@
.TH Gramps 1 "@VERSION@" "Januari 2008" "@VERSION@"
.TH gramps 1 "@VERSION@" "Januari 2008" "@VERSION@"
.SH NAMN
Gramps \- Genealogical Research and Analysis Management Programming System.
gramps \- Genealogical Research and Analysis Management Programming System.
.SH SAMMANFATTNING
.B Gramps
.B gramps
.RB [ \-?|\-\^\-help ]
.RB [ \-\^\-usage ]
.RB [ \-\^\-version ]
@ -19,7 +19,7 @@ Gramps \- Genealogical Research and Analysis Management Programming System.
.IR FORMAT ]]
.RB [ \-i|\-\^\-import=
.IR ... ]
.RB [ \-e|\-\^\-export=
.RB [ \-o|\-\^\-output=
.IR FIL
.RB [ \-f|\-\^\-format=
.IR FORMAT ]]
@ -46,14 +46,14 @@ hela världen av nästan all släktforskningsprogramvara.
.SH ALTERNATIV
.TP
.BI Gramps " FIL"
.BI gramps " FIL"
När \fIFIL\fR ges (utan några flaggor) som namn ett familjeträd eller som
en mapp med familjeträd, så öppnas detta och en interaktiv session startas.
Om FIL är en fil, vars format förstås av Gramps, skapas ett tomt famljeträd,
Om FIL är en fil, vars format försås av GRAMPS, skapas ett tomt famljeträd,
vars namn är grundat på namnet \fIFIL\fP och vars data importeras till det.
Resterande alternativ ignoreras. Detta sätt att starta passar vid användning av Gramps
Resterande alternativ ignoreras. Detta sätt att starta passar vid användning av gramps
som en hanterare för släktforskningsdata i t. ex. en web-läsare.
Detta startsätt accepterar alla inbyggda dataformat för Gramps, se nedan.
Detta startsätt accepterar alla inbyggda dataformat för gramps, se nedan.
.br
.TP
@ -63,17 +63,17 @@ Uttryckligen specificera format på \fIFIL\fR givet av föregående
\fB\-O\fR,
..
\fB\-i\fR eller
\fB\-e\fR-alternativ. Om \fB\-f\fR-alternativet inte ges för någon \fIFIL\fR,
\fB\-o\fR-alternativ. Om \fB\-f\fR-alternativet inte ges för någon \fIFIL\fR,
gissas filformat för den filen utgående från dess filändelse eller dess MIME-typ.
.br
De format, som är tillgängliga för utmatnig, är \fBGramps\-xml\fR (gissas om \fIFIL\fR slutar på
\fB.Gramps\fR), \fBgedcom\fR (gissas om \fIFIL\fR slutar med \fB.ged\fR) eller
någon filexport, som är tillgänglig via Gramps tilläggsprogramsystem.
De format, som är tillgängliga för utmatnig, är \fBgramps\-xml\fR (gissas om \fIFIL\fR slutar på
\fB.gramps\fR), \fBgedcom\fR (gissas om \fIFIL\fR slutar med \fB.ged\fR) eller
någon filexport, som är tillgänglig via GRAMPS tilläggsprogramsystem.
.br
De format, som är tillgängliga för inmatnig, är \fBgrdb\fR, \fBGramps\-xml\fR, \fBgedcom\fR,
\fBGramps\-pkg\fR (gissas om \fIFIL\fR slutar med \fB.gpkg\fR) och
De format, som är tillgängliga för inmatnig, är \fBgrdb\fR, \fBgramps\-xml\fR, \fBgedcom\fR,
\fBgramps\-pkg\fR (gissas om \fIFIL\fR slutar med \fB.gpkg\fR) och
\fBgeneweb\fR (gissas om \fIFIL\fR slutar med \fB.gw\fR).
.br
@ -81,8 +81,8 @@ De format, som är tillgängliga för export är
.ig
\fBgrdb\fR,
..
\fBGramps\-xml\fR, \fBgedcom\fR,
\fBGramps\-pkg\fR, \fBwft\fR (gissas om \fIFIL\fR slutar med \fB.wft\fR),
\fBgramps\-xml\fR, \fBgedcom\fR,
\fBgramps\-pkg\fR, \fBwft\fR (gissas om \fIFIL\fR slutar med \fB.wft\fR),
\fBgeneweb\fR och \fBiso\fR (gissas aldrig, specificeras alltid med
\fB\-f\fR-alternativ).
@ -103,28 +103,28 @@ session med den angivna databasen.
.TP
.BI \-i,\-\^\-import= " FIL"
Importera data från \fIFIL\fR. Om du inte har specificerat en databas, skapas en temporär sådan,
som tas bort när Gramps avslutas.
som tas bort när gramps avslutas.
.br
Om mer är en indatafil anges, måste varje föregås av en \fB\-i\fR-flagga.
Filerna importeras i den givna ordningen,
t.ex. \fB\-i\fR \fIFIL1\fR \fB\-i\fR \fIFIL2\fR
och \fB\-i\fR \fIFIL2\fR \fB\-i\fR \fIFIL1\fR kan skapa skilda
Gramps IDs i den resulterande databasen.
gramps IDs i den resulterande databasen.
.TP
.BI \-e,\-\^\-export= " FIL"
.BI \-o,\-\^\-output= " FIL"
Exporterar data till \fIFIL\fR. För \fBiso\fR-format, är \fIFIL\fR i själva verket namnet på den mapp,
som Gramps databas kommer att skrivas till.
som gramps databas kommer att skrivas till.
För
.ig
\fBgrdb\fR,
..
\fBGramps\-xml\fR, \fBgedcom\fR, \fBwft\fR, \fBGramps\-pkg\fR
\fBgramps\-xml\fR, \fBgedcom\fR, \fBwft\fR, \fBgramps\-pkg\fR
och \fBgeneweb\fR, är \fIFIL\fR namnet på resultatfilen.
.br
Om mer är en utdatafil anges, måste varje föregås av en \fB\-e\fR-flagga.
Om mer är en utdatafil anges, måste varje föregås av en \fB\-o\fR-flagga.
Filerna skrivs en efter en i den givna ordningen.
.TP
@ -176,7 +176,7 @@ Kopplar på avlusningshjälpmedel för utveckling och tester.
För detaljer hänvisas till källkoder
.TP
.BI \-\^\-version
Skriver ur Gramps versionsnummer och avslutar
Skriver ur gramps versionsnummer och avslutar
\" change 0 to 1 to enable output of OAF options
.if 0 \{
.PP
@ -209,70 +209,70 @@ Host:port on which the sound server to use is running
.SH "Operation"
.br
Om första argumentet på kommandoraden inte inledds med ett minustecken (d. v. s. ingen flagga),
kommer Gramps att försöka öppna den fil, vars namn givits av det första argumentet samt påbörja
kommer gramps att försöka öppna den fil, vars namn givits av det första argumentet samt påbörja
en interaktiv session utan att ta hänsyn till resten av argumenten på kommandoraden.
.LP
Om \fB\-O\fR-flagga givits, kommer Gramps att försöka öppna den omnämnda databasen
Om \fB\-O\fR-flagga givits, kommer gramps att försöka öppna den omnämnda databasen
och sedan arbeta med dess data, enligt ytterligare instruktioner på kommandoraden.
.LP
Med eller utan \fB\-O\fRflagga, kan det ske många importeringar,
exporteringar och åtgärder beskrivna ytterligare på kommanodraden
genom att använda \fB\-i\fR-,
\fB\-e\fR- samt \fB\-a\fR-flaggor.
\fB\-o\fR- samt \fB\-a\fR-flaggor.
.LP
Ordningen på \fB\-i\fR-, \fB\-e\fR- eller \fB\-a\fR-alternativen spelar ingen roll.
Ordningen på \fB\-i\fR-, \fB\-o\fR- eller \fB\-a\fR-alternativen spelar ingen roll.
Den gällande ordningen är alltid: all import (om någon) -> alla åtgärder (om några)
-> all export (om någon). Men öppning måste alltid ske först!
.LP
Om inget \fB\-O\fR- eller \fB\-i\fR-alternativ givits, kommer Gramps att starta sitt
huvudfönster samt påbörja den vanliga interaktiva sessionen med en tom databas,
Om inget \fB\-O\fR- eller \fB\-i\fR-alternativ givits, kommer gramps att starta sitt
huvudfönster samt påbörja den valiga interaktiva sessionen med en tom databas,
då hur som helst inget data finns att bearbeta.
.LP
Om inget \fB\-e\fR- eller \fB\-a\fR-alternativ givits, kommer Gramps att starta sitt
huvudfönster samt påbörja den vanliga interaktiva sessionen med den databas, som blev
Om inget \fB\-o\fR- eller \fB\-a\fR-alternativ givits, kommer gramps att starta sitt
huvudfönster samt påbörja den valiga interaktiva sessionen med den databas, som blev
resultet från all import. Denna databas återfinns i \fBimport_db.grdb\fR
under \fB~/.Gramps/import\fR-mappen.
under \fB~/.gramps/import\fR-mappen.
.LP
De fel som inträffar under import, export eller vid åtgärder kommer antingen att skrivas till
\fIstdout\fR (om dessa avbrott hanteras av Gramps) eller
\fIstdout\fR (om dessa avbrott hanteras av gramps) eller
till \fIstderr\fR (om dessa inte hanteras). Använd vanliga skalkommandon för att styra om
\fIstdout\fR och \fIstderr\fR till att spara medelanden och fel i filer.
.SH EXAMPEL
.TP
För att öppna ett befintligt familjeträd och importera en xml-fil till det, kan man skriva:
\fBGramps\fR \fB\-O\fR \fI'Mitt familjeträd'\fR \fB\-i\fR \fI~/db3.Gramps\fR
\fBgramps\fR \fB\-O\fR \fI'Mitt familjeträd'\fR \fB\-i\fR \fI~/db3.gramps\fR
.TP
Ovanstående ändrar det öppnade familjeträdet, för att göra samma sak, men importera bägge till ett tillfälligt familjeträd och påbörja en interaktiv session, kan man skriva:
\fBGramps\fR \fB\-i\fR \fI'My Family Tree'\fR \fB\-i\fR \fI~/db3.Gramps\fR
\fBgramps\fR \fB\-i\fR \fI'My Family Tree'\fR \fB\-i\fR \fI~/db3.gramps\fR
.TP
För att importera fyra databaser (vars format kan avgöras av deras namn) och sedan felkontrollera den resulterande databasen, kan man skriva:
\fBGramps\fR \fB\-i\fR \fIFIL1.ged\fR \fB\-i\fR \fIFIL2.tgz\fR \fB\-i\fR \fI~/db3.Gramps\fR \fB\-i\fR \fIFIL4.wft\fR \fB\-a\fR \fIcheck\fR
\fBgramps\fR \fB\-i\fR \fIFIL1.ged\fR \fB\-i\fR \fIFIL2.tgz\fR \fB\-i\fR \fI~/db3.gramps\fR \fB\-i\fR \fIFIL4.wft\fR \fB\-a\fR \fIcheck\fR
.TP
För att uttryckligen specificera formaten i examplet ovan, lägg till filnamn med passande \fB\-f\fR-alternativ:
\fBGramps\fR \fB\-i\fR \fIFIL1.ged\fR \fB\-f\fR \fIgedcom\fR \fB\-i\fR \fIFIL2.tgz\fR \fB\-f\fR \fIGramps-pkg\fR \fB\-i\fR \fI~/db3.Gramps\fR \fB\-f\fR \fIGramps-xml\fR \fB\-i\fR \fIFIL4.wft\fR \fB\-f\fR \fIwft\fR \fB\-a\fR \fIcheck\fR
\fBgramps\fR \fB\-i\fR \fIFIL1.ged\fR \fB\-f\fR \fIgedcom\fR \fB\-i\fR \fIFIL2.tgz\fR \fB\-f\fR \fIgramps-pkg\fR \fB\-i\fR \fI~/db3.gramps\fR \fB\-f\fR \fIgramps-xml\fR \fB\-i\fR \fIFIL4.wft\fR \fB\-f\fR \fIwft\fR \fB\-a\fR \fIcheck\fR
.TP
För att spara den databas, som är resultat av all import, ange \fB\-e\fR-flagga (använd \fB\-f\fR om filnamnet inte tillåter Gramps att gissa dess format):
\fBGramps\fR \fB\-i\fR \fIFIL1.ged\fR \fB\-i\fR \fIFIL2.tgz\fR \fB\-e\fR \fI~/new-package\fR \fB\-f\fR \fIGramps-pkg\fR
För att spara den databas, som är resultat av all import, ange \fB\-o\fR-flagga (använd \fB\-f\fR om filnamnet inte tillåter gramps att gissa dess format):
\fBgramps\fR \fB\-i\fR \fIFIL1.ged\fR \fB\-i\fR \fIFIL2.tgz\fR \fB\-o\fR \fI~/new-package\fR \fB\-f\fR \fIgramps-pkg\fR
.TP
För att importera tre databaser och påbörja en interaklive Gramps-session med importresultatet:
\fBGramps\fR \fB\-i\fR \fIFIL1.ged\fR \fB\-i\fR \fIFIL2.tgz\fR \fB\-i\fR \fI~/db3.Gramps\fR
För att importera tre databaser och påbörja en interaklive gramps-session med importresultatet:
\fBgramps\fR \fB\-i\fR \fIFIL1.ged\fR \fB\-i\fR \fIFIL2.tgz\fR \fB\-i\fR \fI~/db3.gramps\fR
.TP
För att köra verifieringsverktyget från kommandoraden och mata ut resultatet till stdout:
\fBGramps\fR \fB\-O\fR \fIfile.grdb\fR \fB-a\fR \fItool\fR \fB-p\fR \fBname\fR=\fIverify\fR
\fBgramps\fR \fB\-O\fR \fIfile.grdb\fR \fB-a\fR \fItool\fR \fB-p\fR \fBname\fR=\fIverify\fR
.TP
Slutligen, för att påbörja en normal interaktiv session skriv bara:
\fBGramps\fR
\fBgramps\fR
.SH BEGREPP
Stöder ett python\-baserat system för tilläggsprogram, som möjliggör att import- och export-funktioner,
rapportgeneratorer, verktyg samt visningsfilter, kan komplettera Gramps utan ändringar i huvudprogrammet.
rapportgeneratorer, verktyg samt visningsfilter, kan komplettera gramps utan ändringar i huvudprogrammet.
.LP
Förutom att skapa utskrift skrivare direkt, kan rapportgeneratorer ha andra målsystem som \fIOpenOffice.org\fR, \fIAbiWord\fR, HTML eller LaTeX att användaren kan tillåtas att ändra format för att passa behoven.

View File

@ -1,281 +0,0 @@
Swedish
=======
Gramps(1) 3.4.0 Gramps(1)
**NAMN**
Gramps - Genealogical Research and Analysis Management Programming Sys
tem.
**SAMMANFATTNING**
Gramps [-?|--help] [--usage] [--version] [-l] [-u|--force-unlock]
[-O|--open= DATABAS [-f|--format= FORMAT]] [-i|--import= FIL [-f|--for
mat= FORMAT]] [-i|--import= ...] [-e|--export= FIL [-f|--format= FOR
MAT]] [-a|--action= ÅTGÄRD] [-p|--options= ALTERNATIVSTRÄNG]] [ FIL ]
[--version]
**BESKRIVNING**
Gramps är ett Free/OpenSource släktforskningsprogram. Det är skrivet i
Python, med hjälp av GTK+/GNOME gränssnittet. Gramps bör kännas bekant
för de flesta, som har använt andra släktforskningsprogram tidigare,
som Family Tree Maker (TM), Personal Ancestral Files (TM), DISGEN eller
GNU Geneweb. Det stöder import via det populära GEDCOM-formatet, som
används över hela världen av nästan all släktforskningsprogramvara.
**ALTERNATIV**
**Gramps** *FIL*
När *FIL* ges (utan några flaggor) som namn på ett familjeträd
eller som en mapp med familjeträd, så öppnas detta och en inter
aktiv session startas. Om FIL är en fil, vars format förstås av
Gramps, skapas ett tomt famljeträd, vars namn är grundat på nam
net FIL och vars data importeras till det. Resterande alterna
tiv ignoreras. Detta sätt att starta passar vid användning av
Gramps som en hanterare för släktforskningsdata i t. ex. en web-
läsare. Detta startsätt accepterar alla inbyggda dataformat för
Gramps, se nedan.
**-f** , **--format=** *FORMAT*
Uttryckligen specificera format på FIL givet av föregående -i
eller -e-alternativ. Om -f-alternativet inte ges för någon FIL,
gissas filformat för den filen utgående från dess filändelse
eller dess MIME-typ.
De format, som är tillgängliga för utmatnig, är Gramps-xml (gis
sas om FIL slutar på .Gramps), gedcom (gissas om FIL slutar med
.ged) eller någon filexport, som är tillgänglig via Gramps
tilläggsprogramsystem.
De format, som är tillgängliga för inmatnig, är grdb,
Gramps-xml, gedcom, Gramps-pkg (gissas om FIL slutar med .gpkg)
och geneweb (gissas om FIL slutar med .gw).
De format, som är tillgängliga för export är Gramps-xml, gedcom,
Gramps-pkg, wft (gissas om FIL slutar med .wft), geneweb och iso
(gissas aldrig, specificeras alltid med -f-alternativ).
**-l**
Listar alla databaser/familjeträd.
**-u** , **--force-unlock**
Tvingar upplåsning av databas.
**-O** , **--open=** *DATABAS*
Öppnar *DATABAS* , som måste vara en befitlig databasmapp eller ett
befintligt familjeträd. Om ingen åtgärd, import eller export-
alternativ anges på kommandoraden så startas en interaktiv ses
sion med den angivna databasen.
**-i** , **--import=** *FIL*
Importera data från FIL. Om du inte har specificerat en databas,
skapas en temporär sådan, som tas bort när Gramps avslutas.
Om mer är en indatafil anges, måste varje föregås av en -i-
flagga. Filerna importeras i den givna ordningen, t.ex. -i FIL1
-i FIL2 och -i FIL2 -i FIL1 kan skapa skilda Gramps IDs i den
resulterande databasen.
**-e** , **--export=** *FIL*
Exporterar data till *FIL* . För iso-format, är *FIL* i själva verket
namnet på den mapp, som Gramps databas kommer att skrivas till.
För Gramps-xml, gedcom, wft, Gramps-pkg och geneweb, är *FIL* nam
net på resultatfilen.
Om mer är en utdatafil anges, måste varje föregås av en -e-
flagga. Filerna skrivs en efter en i den givna ordningen.
**-a** , **--action=** *ÅTGÄRD*
Utför ÅTGÄRD på importerade data. Detta görs efter att all
import har avslutats felfritt. F. n. är följand åtgärder möjliga
summary (samma som Rapporter->Visa->Sammanfattning av
databasen) , check (samma som Verktyg->Reparera databas ->Kon
trollera och reparera) samt report ( skapar report, kräver
en *ALTERNATIVSTRÄNG* lämnad via **-p** flaggan ) .
*ALTERNATIVSTRÄNG* -en måste uppfylla följand villkor:
Får ej innehålla några mellanslag. Om några argument behöver
inbegripa mellanslag, måste strängen omslutas av anföring
stecken. Alternativsträngen är en lista med par av namn och
värden (åtskiljda av likhetstecken). Namn och värde måste
åtskiljas med komma.
De flesta rapportalternativ är unika för varje rapport eller
verktyg. Emellertid finns det gemensamm alternativ.
**name=rapportnamn**
Detta är obligatoriskt och bestämmer vilken rapport som skall
skapas. Om det givna namn inte motsvarar någon möjlig rapport
eller verktyg, kommer ett felmeddelande att skrivas ut, följt av
möjliga namn på rapporter eller verktyg.
**show=all**
Detta ger en lista med namn på alla möjliga alternativ för en
bestämd rapport eller verktyg.
**show=optionname**
Detta skriver ut beskrivningen av den funktion, som optionname
innebär, likväl vad som är godkända typer och värden för detta
alternativ.
Använd alternativen ovan för att ta reda på all om en viss rap
port.
Om mer än en utdataåtgärd givits måste varje föregås av en -a-flagga.
Åtgärderna utförs en och en i den givna turordningen.
**-d** , **--debug=** *LOGGER_NAME*
Kopplar på avlusningshjälpmedel för utveckling och tester. För
detaljer hänvisas till källkoder
**--version**
Skriver ur Gramps versionsnummer och avslutar
**Operation**
Om första argumentet på kommandoraden inte inledds med ett minustecken
(d. v. s. ingen flagga), kommer Gramps att försöka öppna den fil, vars
namn givits av det första argumentet samt påbörja en interaktiv session
utan att ta hänsyn till resten av argumenten på kommandoraden.
Om -O-flagga givits, kommer Gramps att försöka öppna den omnämnda
databasen och sedan arbeta med dess data, enligt ytterligare instruk
tioner på kommandoraden.
Med eller utan -Oflagga, kan det ske många importeringar, exporteringar
och åtgärder beskrivna ytterligare på kommanodraden genom att använda
-i-, -e- samt -a-flaggor.
Ordningen på -i-, -e- eller -a-alternativen spelar ingen roll. Den
gällande ordningen är alltid: all import (om någon) -> alla åtgärder
(om några) -> all export (om någon). Men öppning måste alltid ske
först!
Om inget -O- eller -i-alternativ givits, kommer Gramps att starta sitt
huvudfönster samt påbörja den vanliga interaktiva sessionen med en tom
databas, då hur som helst inget data finns att bearbeta.
Om inget -e- eller -a-alternativ givits, kommer Gramps att starta sitt
huvudfönster samt påbörja den vanliga interaktiva sessionen med den
databas, som blev resultet från all import. Denna databas återfinns i
import_db.grdb under ~/.Gramps/import-mappen.
De fel som inträffar under import, export eller vid åtgärder kommer
antingen att skrivas till stdout (om dessa avbrott hanteras av Gramps)
eller till stderr (om dessa inte hanteras). Använd vanliga skalkomman
don för att styra om stdout och stderr till att spara medelanden och
fel i filer.
**EXAMPEL**
För att öppna ett befintligt familjeträd och importera en xml-fil till
det, kan man skriva:
Gramps -O 'Mitt familjeträd' -i ~/db3.Gramps
Ovanstående ändrar det öppnade familjeträdet, för att göra samma sak,
men importera bägge till ett tillfälligt familjeträd och påbörja en
interaktiv session, kan man skriva:
Gramps -i 'My Family Tree' -i ~/db3.Gramps
För att importera fyra databaser (vars format kan avgöras av deras
namn) och sedan felkontrollera den resulterande databasen, kan man
skriva:
Gramps -i FIL1.ged -i FIL2.tgz -i ~/db3.Gramps -i FIL4.wft -a
check
För att uttryckligen specificera formaten i examplet ovan, lägg till
filnamn med passande -f-alternativ:
Gramps -i FIL1.ged -f gedcom -i FIL2.tgz -f Gramps-pkg -i
~/db3.Gramps -f Gramps-xml -i FIL4.wft -f wft -a check
För att spara den databas, som är resultat av all import, ange -e-
flagga (använd -f om filnamnet inte tillåter Gramps att gissa dess for
mat):
Gramps -i FIL1.ged -i FIL2.tgz -e ~/new-package -f Gramps-pkg
För att importera tre databaser och påbörja en interaklive Gramps-ses
sion med importresultatet:
Gramps -i FIL1.ged -i FIL2.tgz -i ~/db3.Gramps
För att köra verifieringsverktyget från kommandoraden och mata ut
resultatet till stdout:
Gramps -O file.grdb -a tool -p name=verify
Slutligen, för att påbörja en normal interaktiv session skriv bara:
Gramps
**BEGREPP**
Stöder ett python-baserat system för tilläggsprogram, som möjliggör att
import- och export-funktioner, rapportgeneratorer, verktyg samt vis
ningsfilter, kan komplettera Gramps utan ändringar i huvudprogrammet.
Förutom att skapa utskrift på skrivare direkt, kan rapportgeneratorer
ha andra målsystem som OpenOffice.org, AbiWord, HTML eller LaTeX så att
användaren kan tillåtas att ändra format för att passa behoven.
**KÄNDA FEL OCH BEGRÄNSNINGAR**
**FILER**
*${PREFIX}/bin/gramps*
*${PREFIX}/lib/python/dist-packages/gramps/*
*${PREFIX}/share/*
*${HOME}/.gramps*
**FÖRFATTARE**
Donald Allingham <don@gramps-project.org>
http://gramps-project.org/
Denna man-sida skrevs ursprungligen av:
Brandon L. Griffith <brandon@debian.org>
till att ingå i Debians GNU/Linux-system.
Denna man-sida underhålls f. n. av:
Alex Roitman <shura@gramps-project.org>
Denna man-sida har översatts till svenska av:
Peter Landgren <peter.talken@telia.com>
**DOCUMENTATION**
Användardokumentationen är tillgänglig genom GNOME's standard hjälp-
bläddrare i form av Gramps-handboken. Handboken finns även i XML-format
som gramps-manual.xml under doc/gramps-manual/$LANG i den officiella
källdistributionen. Dock ej på svenska.
Utvecklingsdokumentationen kan hittas på
http://www.gramps-project.org/wiki/index.php?title=Portal:Developers
Januari 2013 4.0.0 Gramps(1)

View File

@ -1,183 +0,0 @@
#! /usr/bin/env python
#
# update_po - a gramps tool to update translations
#
# Copyright (C) 2006-2006 Kees Bakker
# Copyright (C) 2006 Brian Matherly
# Copyright (C) 2008 Stephen George
# Copyright (C) 2012
#
# 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
"""
update_man.py for command line documentation.
Examples:
python update_man.py -t
Tests if 'sphinx' and 'python' are well configured.
"""
from __future__ import print_function
import os
import sys
from argparse import ArgumentParser
DOCUTILS = True
try:
import docutils.core, docutils.writers
except:
DOCUTILS = False
LANGUAGES = ['sv', 'nl', 'pl', 'cs', 'pt_BR', 'fr']
VERSION = '4.0.0'
DATE = ''
# You can set these variables from the command line.
SPHINXBUILD = 'sphinx-build'
if sys.platform == 'win32':
pythonCmd = os.path.join(sys.prefix, 'bin', 'python.exe')
sphinxCmd = os.path.join(sys.prefix, 'bin', 'sphinx-build.exe')
elif sys.platform == 'linux2' or os.name == 'darwin':
pythonCmd = os.path.join(sys.prefix, 'bin', 'python')
sphinxCmd = SPHINXBUILD
else:
print ("ERROR: unknown system, don't know sphinx, ... commands")
sys.exit(0)
def tests():
"""
Testing installed programs.
We made tests (-t flag) by displaying versions of tools if properly
installed. Cannot run all commands without 'sphinx' and 'python'.
"""
try:
print("\n=================='python'=============================\n")
os.system('''%(program)s -V''' % {'program': pythonCmd})
except:
print ('Please, install python')
try:
print("\n=================='Shpinx-build'=============================\n")
os.system('''%(program)s''' % {'program': sphinxCmd})
except:
print ('Please, install sphinx')
if not DOCUTILS:
print('\nNo docutils support, cannot use -m/--man and -o/--odt arguments.')
def main():
"""
The utility for handling documentation stuff.
What is need by Gramps, nothing more.
"""
parser = ArgumentParser(
description='This program aims to handle documentation'
' and realted translated versions.',
)
parser.add_argument("-t", "--test",
action="store_true", dest="test", default=True,
help="test if 'python' and 'sphinx' are properly installed")
parser.add_argument("-b", "--build",
action="store_true", dest="build", default=False,
help="build man documentation (via sphinx-build)")
parser.add_argument("-m", "--man",
action="store_true", dest="man", default=False,
help="build man documentation (via docutils)")
parser.add_argument("-o", "--odt",
action="store_true", dest="odt", default=False,
help="build odt documentation (via docutils)")
args = parser.parse_args()
if args.test:
tests()
if args.build:
build()
if args.man and DOCUTILS:
man()
if args.odt and DOCUTILS:
odt()
def build():
"""
Build documentation.
"""
# testing stage
os.system('''%(program)s -b html . _build/html''' % {'program': sphinxCmd})
os.system('''%(program)s -b htmlhelp . _build/htmlhelp''' % {'program': sphinxCmd})
if DOCUTILS:
os.system('''%(program)s -b man . .''' % {'program': sphinxCmd})
os.system('''%(program)s -b text . _build/text''' % {'program': sphinxCmd})
os.system('''%(program)s -b changes . _build/changes''' % {'program': sphinxCmd})
#os.system('''%(program)s -b linkcheck . _build/linkcheck''' % {'program': sphinxCmd})
os.system('''%(program)s -b gettext . _build/gettext''' % {'program': sphinxCmd})
for lang in LANGUAGES:
os.system('''%(program)s -b html -D language="%(lang)s" master_doc="%(lang)s" %(lang)s %(lang)s'''
% {'lang': lang, 'program': sphinxCmd})
os.system('''%(program)s -b htmlhelp -D language="%(lang)s" master_doc="%(lang)s" %(lang)s %(lang)s'''
% {'lang': lang, 'program': sphinxCmd})
if DOCUTILS:
os.system('''%(program)s -b man %(lang)s %(lang)s'''
% {'lang': lang, 'program': sphinxCmd})
os.system('''%(program)s -b text -D language="%(lang)s" master_doc="%(lang)s" %(lang)s %(lang)s'''
% {'lang': lang, 'program': sphinxCmd})
# for update/migration
os.system('''%(program)s -b gettext -D language="%(lang)s" master_doc="%(lang)s" . _build/gettext/%(lang)s'''
% {'lang': lang, 'program': sphinxCmd})
def man():
"""
man file generation via docutils (python)
from docutils.core import publish_cmdline, default_description
from docutils.writers import manpage
"""
os.system('''rst2man en.rst gramps.1''')
for lang in LANGUAGES:
os.system('''rst2man %(lang)s/%(lang)s.rst -l %(lang)s %(lang)s/gramps.1'''
% {'lang': lang})
def odt():
"""
odt file generation via docutils (python)
from docutils.core import publish_cmdline_to_binary, default_description
from docutils.writers.odf_odt import Writer, Reader
"""
os.system('''rst2odt en.rst gramps.odt''')
for lang in LANGUAGES:
os.system('''rst2odt %(lang)s/%(lang)s.rst -l %(lang)s %(lang)s/gramps.odt'''
% {'lang': lang})
if __name__ == "__main__":
main()

17
debian/README.Debian vendored
View File

@ -3,16 +3,9 @@ gramps for Debian
This is the Debian package of GRAMPS.
Regarding the extra dependencies:
If you do not install python-reportlab (gramps Recommends it be
installed) then you will be able to create usable PDF files only if
your database contains solely latin (iso-8859-1) characters. Reportlab
will generate PDF files containing non-latin characters although they
are quite large as the font must be included in the file.
Recommends: graphviz
Enable creation of graphs
Recommends: python-gtkmozembed
Recommends: python-webkit
Enable html rendering for Geographic view and Web view. If both
are installed webkit will be used. python-gtkmozembed may be more
stable.
Suggests: ttf-freefont
Allows more fonts in reports
Suggests: python-gtkspell python-enchant
allows spell checking in the notes. Both need to be installed.

263
debian/changelog vendored
View File

@ -1,271 +1,20 @@
gramps (3.3.0-1) lucid; urgency=low
gramps (3.0.0-1) gutsy; urgency=low
* New upstream release
-- Stephane Charette <stephanecharette@gmail.com> Sun, 12 Jun 2011 02:22:02 -0700
-- Stephane Charette <stephanecharette@gmail.com> Mon, 31 Mar 2008 19:42:05 -0700
gramps (3.2.0-0beta1) unstable; urgency=low
* New upstream release
* works with gtk 2.19. Closes: #566958
-- James A. Treacy <treacy@debian.org> Fri, 05 Mar 2010 14:05:39 -0500
gramps (3.1.3-2) unstable; urgency=low
* Switch to dpkg-source 3.0 (quilt) format
-- James A. Treacy <treacy@debian.org> Tue, 05 Jan 2010 20:04:30 -0500
gramps (3.1.3-1) unstable; urgency=low
gramps (2.90.0-0beta) unstable; urgency=low
* New upstream release
-- James A. Treacy <treacy@debian.org> Sun, 06 Dec 2009 13:46:48 -0500
-- Stephane Charette <stephanecharette@gmail.com> Wed, 16 Jan 2008 21:45:00 -0800
gramps (3.1.2-2) unstable; urgency=low
* allow python >= 2.5. Closes: #547150
* fix Relationship Graph to use new format for URLs. Closes: #532559
* Web report creation fixed. Closes: #537355
-- James A. Treacy <treacy@debian.org> Tue, 17 Nov 2009 11:38:43 -0500
gramps (3.1.2-1.1) unstable; urgency=low
* Non-maintainer upload.
* debian/control: drop Recommends on python-gnome2-desktop: it is now
gone and none of its modules are used anyhow (Closes: #541560)
-- Stefano Zacchiroli <zack@debian.org> Thu, 08 Oct 2009 13:52:35 +0200
gramps (3.1.2-1) unstable; urgency=low
* New upstream release.
* Replace Recommends on python-gnome2-extras with python-gtkspell
* Do not create the directory /etc/gconf/schemas/. Closes: Bug#525683
-- James A. Treacy <treacy@debian.org> Sun, 07 Jun 2009 14:01:16 -0400
gramps (3.1.1-1) unstable; urgency=low
* New upstream release.
-- James A. Treacy <treacy@debian.org> Tue, 10 Mar 2009 09:26:52 -0400
gramps (3.1.0-1) unstable; urgency=low
* New upstream release.
* link /usr/share/common-licenses/GPL-2 from /usr/share/gramps/COPYING
so gramps can find the file.
-- James A. Treacy <treacy@debian.org> Sat, 07 Mar 2009 22:03:09 -0500
gramps (3.0.4-1) unstable; urgency=low
* New upstream version. Closes: #506621, #506818
-- James A. Treacy <treacy@debian.org> Sun, 07 Dec 2008 21:39:55 -0500
gramps (3.0.3-1) unstable; urgency=low
* New upstream version
-- James A. Treacy <treacy@debian.org> Mon, 20 Oct 2008 20:43:35 -0400
gramps (3.0.2-1) unstable; urgency=low
* New upstream version
-- James A. Treacy <treacy@debian.org> Sat, 27 Sep 2008 17:25:09 -0400
gramps (3.0.1-2) unstable; urgency=low
* Remove dependency on gnome-doc-utils and scrollkeeper
* Disable spell checking in src/Spell.py due to the spell checker
crashing. Closes: #492212
Spell checking will be reenabled once the offending package is
identified and fixed.
-- James A. Treacy <treacy@debian.org> Fri, 29 Aug 2008 11:09:04 -0400
gramps (3.0.1-1) unstable; urgency=low
* New upstream version
-- James A. Treacy <treacy@debian.org> Mon, 19 May 2008 09:38:28 -0400
gramps (3.0.0-6) unstable; urgency=low
* Fix typo in _EditChildRef.py which can cause gramps to crash. Closes: #476163
-- James A. Treacy <treacy@debian.org> Tue, 15 Apr 2008 23:37:04 -0400
gramps (3.0.0-5) unstable; urgency=low
* Remove gtkspell Recommends as it is now provided by python-gnome2-extras.
Closes: Bug#474755
-- James A. Treacy <treacy@debian.org> Mon, 07 Apr 2008 17:25:18 -0400
gramps (3.0.0-4) unstable; urgency=low
* Fix the binary package python dependency properly. A recent python
(>= 2.4.4-6) is needed to ensure python2.5 is supported properly.
Closes: #474056
-- James A. Treacy <treacy@debian.org> Thu, 03 Apr 2008 09:46:28 -0400
gramps (3.0.0-3) unstable; urgency=low
* Build-Depends on Python2.5. Closes: Bug#473946, #474056
-- James A. Treacy <treacy@debian.org> Wed, 02 Apr 2008 08:28:27 -0400
gramps (3.0.0-2) unstable; urgency=low
* Explicitly require python version >= 2.5
-- James A. Treacy <treacy@debian.org> Wed, 26 Mar 2008 09:34:25 -0400
gramps (3.0.0-1) unstable; urgency=low
* New upstream release. Closes: #472681
-- James A. Treacy <treacy@debian.org> Tue, 25 Mar 2008 09:35:00 -0400
gramps (2.2.10-2) unstable; urgency=low
* Remove build dependency on python-xml. Closes: Bug#468625
-- James A. Treacy <treacy@debian.org> Fri, 29 Feb 2008 13:30:11 -0500
gramps (2.2.10-1) unstable; urgency=low
* New upstream release
* Added dh_icons to debian/rules. Closes: #454761
* Remove version from scrollkeeper dependency. Closes: #456600
* Fixed typos in description. Closes: #433559
-- James A. Treacy <treacy@debian.org> Mon, 14 Jan 2008 09:57:25 -0500
gramps (2.2.9-2) unstable; urgency=low
* Move debhelper to Build-Depends. Closes: #447948
-- James A. Treacy <treacy@debian.org> Wed, 24 Oct 2007 20:03:36 -0400
gramps (2.2.9-1) unstable; urgency=low
gramps (2.1.6-1) unstable; urgency=low
* New upstream release
-- James A. Treacy <treacy@debian.org> Thu, 18 Oct 2007 13:14:30 -0400
gramps (2.2.8-2) unstable; urgency=low
* Work around a bug in gnome-python-extras which caused a deallocation
of the TextView in the check if a spell checker is present.
Closes: #445864
-- James A. Treacy <treacy@debian.org> Tue, 09 Oct 2007 17:26:54 -0400
gramps (2.2.8-1) unstable; urgency=low
* New Upstream version
* Misleading error message changed. Closes: #418033
-- James A. Treacy <treacy@debian.org> Mon, 28 May 2007 21:00:51 -0400
gramps (2.2.7-2) unstable; urgency=low
* Added dependency on librsvg2-common
-- James A. Treacy <treacy@debian.org> Mon, 23 Apr 2007 19:32:00 -0400
gramps (2.2.7-1) unstable; urgency=low
* New upstream version
-- James A. Treacy <treacy@debian.org> Sun, 22 Apr 2007 20:08:55 -0400
gramps (2.2.6-1) unstable; urgency=low
* New upstream version
-- James A. Treacy <treacy@debian.org> Mon, 29 Jan 2007 20:12:05 -0500
gramps (2.2.5-0rc1-1) unstable; urgency=low
* rc1 of 2.2.5
-- James A. Treacy <treacy@debian.org> Thu, 25 Jan 2007 23:04:24 -0500
gramps (2.2.4-1) unstable; urgency=low
* New upstream release
-- James A. Treacy <treacy@debian.org> Wed, 27 Dec 2006 18:04:11 -0500
gramps (2.2.3-1) unstable; urgency=low
* New upstream release
-- James A. Treacy <treacy@debian.org> Mon, 27 Nov 2006 00:27:23 -0500
gramps (2.2.2-2) unstable; urgency=low
* call dh_desktop in debian/rules so .desktop file is registered. Closes: Bug#398423
-- James A. Treacy <treacy@debian.org> Mon, 13 Nov 2006 20:26:00 -0500
gramps (2.2.2-1) unstable; urgency=low
* Bumped upstream version number. 2.2.1-3 and -4 should have been 2.2.2
-- James A. Treacy <treacy@debian.org> Sat, 4 Nov 2006 16:34:47 -0500
gramps (2.2.1-4) unstable; urgency=low
* add missing Build-Depends-Indep. Closes: #396874
-- James A. Treacy <treacy@debian.org> Fri, 3 Nov 2006 11:03:35 -0500
gramps (2.2.1-3) unstable; urgency=low
* New Upstream release
-- James A. Treacy <treacy@debian.org> Fri, 3 Nov 2006 08:07:38 -0500
gramps (2.2.1-2) unstable; urgency=low
* Upload to sid
-- James A. Treacy <treacy@debian.org> Wed, 1 Nov 2006 20:50:28 -0500
gramps (2.2.1-1) experimental; urgency=low
* New upstream release
-- James A. Treacy <treacy@debian.org> Mon, 30 Oct 2006 10:32:43 -0500
gramps (2.1.95-1) experimental; urgency=low
* Beta release of version 2.2
-- James A. Treacy <treacy@debian.org> Tue, 29 Aug 2006 11:40:08 -0400
gramps (2.1.90-1) experimental; urgency=low
* Beta release of version 2.2
-- James A. Treacy <treacy@debian.org> Tue, 25 Jul 2006 00:18:15 -0400
gramps (2.0.11-2) unstable; urgency=low
* Complies with new python policy
-- James A. Treacy <treacy@debian.org> Wed, 5 Jul 2006 14:47:56 -0400
-- Alex Roitman <shura@gramps-project.org> Thu, 22 Jun 2006 13:28:14 -0700
gramps (2.0.11-1) unstable; urgency=low

2
debian/compat vendored
View File

@ -1 +1 @@
7
4

36
debian/control vendored
View File

@ -1,27 +1,23 @@
Source: gramps
Section: gnome
Priority: optional
Maintainer: Stéphane Charette <stephanecharette@gmail.com>
Build-Depends-Indep: libxml-parser-perl, python-gtk2, gettext, python-central (>= 0.5.6), python, intltool
Build-Depends: debhelper (>= 7)
Standards-Version: 3.8.3
Homepage: http://www.gramps-project.org/
XS-Python-Version: >=2.5
Maintainer: James A. Treacy <treacy@debian.org>
Build-Depends-Indep: debhelper (>=5.0.37.2), python-xml, python-gnome2, python-glade2, scrollkeeper, libglib2.0-dev, build-essential, gnome-doc-utils, intltool, xsltproc, python-central (>= 0.4.17)
Standards-Version: 3.6.2
XS-Python-Version: current
Package: gramps
Architecture: all
Depends: ${python:Depends}, librsvg2-common, python-gtk2, python-pyexiv2, xdg-utils, graphviz, python-osmgpsmap ${misc:Depends}
Replaces: gramps-manual, gramps-extending-doc
Conflicts: gramps-manual, gramps-extending-doc, gramps-common, python-gtk-1.2
Recommends:
Suggests: ttf-freefont, python-enchant, python-gtkspell
Description: Genealogical research program
GRAMPS is an Open Source genealogy program written in Python, using
the GTK/GNOME interface. It is an extremely flexible program fitting
the needs for both the amateur genealogist and serious genealogical
researcher.
GRAMPS has the ability to import GEDCOM files exported from many
proprietary genealogy programs and can produce a large number of
reports in many popular formats.
XB-Python-Version: ${python:Versions}
Depends: ${python:Depends}, python-gnome2, python-glade2, ${misc:Depends}
Replaces: gramps-manual, gramps-extending-doc, gramps-help
Conflicts: gramps-manual, gramps-extending-doc, gramps-common
Recommends: graphviz, ttf-freefont, python-reportlab, python-gnome2-extras
Description: Genealogical Research and Analysis Management Program
GRAMPS, the Genealogical Research and Analysis Management Programming
System, is an Open Source genealogy program written in Python, using
the GTK/GNOME interface.
GRAMPS has the ability to import GEDCOM files that are used in such
programs as FamilyTree Maker for Windows and can produce reports
in various formats such as the popular ABIWord and OpenOffice.org
formats as well as HTML and PDF.

1
debian/gramps.dirs vendored
View File

@ -1,2 +1 @@
usr/share/pixmaps
usr/share/mime/packages

3
debian/gramps.files vendored
View File

@ -1,3 +0,0 @@
/usr/bin/
/usr/share/
/etc

2
debian/gramps.menu vendored
View File

@ -1,3 +1,3 @@
?package(gramps):needs="X11" section="Applications/Office"\
?package(gramps):needs="X11" section="Apps/Tools"\
title="gramps" command="/usr/bin/gramps"\
icon="/usr/share/pixmaps/gramps.xpm"

1
debian/pycompat vendored
View File

@ -1 +0,0 @@
2

61
debian/rules vendored
View File

@ -4,68 +4,71 @@ build: build-stamp
build-stamp:
dh_testdir
#./autogen.sh --prefix=/usr --mandir=\$${prefix}/share/man --sysconfdir=/etc
./configure --enable-packager-mode --prefix=/usr --mandir=\$${prefix}/share/man --sysconfdir=/etc
# ./configure --prefix=`pwd`/debian/tmp/usr --mandir=\$${prefix}/share/man
./configure \
--enable-packager-mode \
--disable-scrollkeeper \
--prefix=/usr \
--mandir=\$${prefix}/share/man \
--sysconfdir=/etc
$(MAKE)
# $(MAKE) html
touch build-stamp
clean:
dh_testdir
dh_testroot
-rm -f build-stamp
# [ ! -f Makefile ] || $(MAKE) distclean
# -rm -f src/*.pyo src/*/*.pyo
# -rm -f config.status config.log
-$(MAKE) clean
-rm -f src/*.pyo src/*/*.pyo src/*/*/*.pyo src/*/*/*/*.pyo
-rm -f config.status config.log
dh_auto_clean
dh_clean
install: build
dh_testdir
dh_testroot
dh_prep
dh_clean -k
dh_installdirs
# Add here commands to install the package into debian/tmp.
# GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1
GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1
$(MAKE) install DESTDIR=`pwd`/debian/gramps
-rm -f debian/gramps/usr/share/gramps/COPYING
ln -s /usr/share/common-licenses/GPL-2 debian/gramps/usr/share/gramps/COPYING
-rm -rf debian/gramps/usr/var
# cp src/data/gramps.xml debian/gramps/usr/share/mime/packages
# Remove help-related dirs, they will go into gramps-help package
-rm -rf debian/gramps/usr/share/gnome
-rm -rf debian/gramps/usr/share/omf
# Remove byte-compiled python files
-find debian/gramps/usr/share/ -name "*.pyo" -exec rm -f '{}' ';'
# Copy icon file
cp debian/gramps.xpm debian/gramps/usr/share/pixmaps/
# cp src/gramps.xpm debian/tmp/usr/share/pixmaps/
# cp src/images/gramps.svg debian/gramps/usr/share/pixmaps/
# chmod 644 debian/gramps/usr/share/pixmaps/gramps.svg
#cp src/data/gramps.svg debian/gramps/usr/share/pixmaps/
#chmod 644 debian/gramps/usr/share/pixmaps/gramps.svg
# Instal gramps-help things
#$(MAKE) -C help install DESTDIR=`pwd`/debian/gramps-help
# Build architecture-independent files here.
binary-indep: build install
dh_testdir
dh_testroot
dh_installdocs FAQ
dh_installmenu
# dh_installman
dh_installdocs
dh_installmenu --package=gramps
dh_installman --package=gramps
dh_installmime -i
# dh_installchangelogs ChangeLog
dh_installchangelogs
dh_icons
# dh_movefiles -i
# dh_gconf -i
dh_link -i
dh_installchangelogs --package=gramps ChangeLog
#dh_installchangelogs --package=gramps-help help/ChangeLog
dh_gconf --package=gramps
#dh_scrollkeeper --package=gramps-help
dh_compress -i
dh_fixperms -i
dh_pycentral -i
dh_installdeb -i
dh_python --package=gramps
dh_installdeb -i
dh_gencontrol -i
dh_md5sums -i
dh_builddeb -i
# Build architecture-dependent files here.
binary-arch: build install

View File

@ -1,88 +0,0 @@
# Makefile for Sphinx documentation
#
# You can set these variables from the command line.
SPHINXOPTS =
SPHINXBUILD = sphinx-build
PAPER =
# Internal variables.
PAPEROPT_a4 = -D latex_paper_size=a4
PAPEROPT_letter = -D latex_paper_size=letter
ALLSPHINXOPTS = -d _build/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
.PHONY: help clean html dirhtml pickle json htmlhelp qthelp latex changes linkcheck doctest
help:
@echo "Please use \`make <target>' where <target> is one of"
@echo " html to make standalone HTML files"
@echo " dirhtml to make HTML files named index.html in directories"
@echo " pickle to make pickle files"
@echo " json to make JSON files"
@echo " htmlhelp to make HTML files and a HTML help project"
@echo " qthelp to make HTML files and a qthelp project"
@echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter"
@echo " changes to make an overview of all changed/added/deprecated items"
@echo " linkcheck to check all external links for integrity"
@echo " doctest to run all doctests embedded in the documentation (if enabled)"
clean:
-rm -rf _build/*
html:
$(SPHINXBUILD) -b html $(ALLSPHINXOPTS) _build/html
@echo
@echo "Build finished. The HTML pages are in _build/html."
dirhtml:
$(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) _build/dirhtml
@echo
@echo "Build finished. The HTML pages are in _build/dirhtml."
pickle:
$(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) _build/pickle
@echo
@echo "Build finished; now you can process the pickle files."
json:
$(SPHINXBUILD) -b json $(ALLSPHINXOPTS) _build/json
@echo
@echo "Build finished; now you can process the JSON files."
htmlhelp:
$(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) _build/htmlhelp
@echo
@echo "Build finished; now you can run HTML Help Workshop with the" \
".hhp project file in _build/htmlhelp."
qthelp:
$(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) _build/qthelp
@echo
@echo "Build finished; now you can run "qcollectiongenerator" with the" \
".qhcp project file in _build/qthelp, like this:"
@echo "# qcollectiongenerator _build/qthelp/Gramps.qhcp"
@echo "To view the help file:"
@echo "# assistant -collectionFile _build/qthelp/Gramps.qhc"
latex:
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) _build/latex
@echo
@echo "Build finished; the LaTeX files are in _build/latex."
@echo "Run \`make all-pdf' or \`make all-ps' in that directory to" \
"run these through (pdf)latex."
changes:
$(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) _build/changes
@echo
@echo "The overview file is in _build/changes."
linkcheck:
$(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) _build/linkcheck
@echo
@echo "Link check complete; look for any errors in the above output " \
"or in _build/linkcheck/output.txt."
doctest:
$(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) _build/doctest
@echo "Testing of doctests in the sources finished, look at the " \
"results in _build/doctest/output.txt."

View File

@ -1,72 +0,0 @@
Installation and building the docs
==================================
You need to install sphinx. Assuming you have installed the python setuptools, just do:
sudo easy_install sphinx
Once installed, go to the docs directory, and do:
make html
Which will produce the html output in docs/_build/html
Documentation Guidelines
=======================
Doc strings in python files should be written in reStructured text: http://docutils.sourceforge.net/docs/user/rst/quickref.html
The typical docstring for GRAMPS should look like this:
"""Brief synopsis
This is a longer explanation, which may include *italics* or **bold**, or
a link to another method :meth:`~gen.lib.person.Person.get_handle`
Then, you need to provide optional subsection in this order (just to be
consistent and have a uniform documentation, nothing prevent you to switch
the order).
:param arg1: the first value
:type arg1: int or float or :class:`~gen.lib.baseobj.BaseObject`
:param arg2: the second value
:type arg2: int or float
:param arg3: the third value
:returns: arg1/arg2 +arg3
:rtype: float, this is the return type
:Examples:
>>> import template
>>> a = MainClass()
>>> a.function2(1,1,1)
2
:note:
can be useful to emphasize
important feature
:See Also:
:class:`MainClass1`
:Warnings:
arg2 must be non-zero.
:Todo:
check that arg2 is non zero.
"""
For a class, use :cvar variable: for class variable, :ivar variable: for instance class
variable, .. attribute:: attribute: for attributes, ....
See http://sphinx.pocoo.org/markup/desc.html and http://sphinx.pocoo.org/markup/inline.html
Tips and Tricks
===============
Change in many files something:
perl -pi -w -e "s/L{PersonRef}/:class:\`\~gen.lib.personref.PersonRef\`/g;" *.py
here L{PersonRef} is changed in :class:`~gen.lib.personref.PersonRef
`

View File

@ -1,47 +0,0 @@
##################
Code Documentation
##################
*GRAMPS* provides several general API. The most important is the *gen* module, providing access to all code that can be of interest outside of the GRAMPS program.
The :mod:`gen` Module
=======================
.. automodule:: gen
Contents:
.. toctree::
:maxdepth: 2
gen/gen_lib
gen/gen
gen/gen_db
gen/gen_display
gen/gen_plug
gen/gen_proxy
gen/gen_utils
The GRAMPS Application
========================
Contents:
.. toctree::
:maxdepth: 2
corecli/cli
coregui/gui
date
relationship
simple
Usefull snippets
===================
Contents:
.. toctree::
:maxdepth: 2
html

View File

@ -1,202 +0,0 @@
# -*- coding: utf-8 -*-
#
# Gramps documentation build configuration file, created by
# sphinx-quickstart on Sat Jun 20 00:07:37 2009.
#
# This file is execfile()d with the current directory set to its containing dir.
#
# Note that not all possible configuration values are present in this
# autogenerated file.
#
# All configuration values have a default; values that are commented out
# serve to show the default.
import sys, os
# If extensions (or modules to document with autodoc) are in another directory,
# add these directories to sys.path here. If the directory is relative to the
# documentation root, use os.path.abspath to make it absolute, like shown here.
#sys.path.append(os.path.abspath('.'))
#documentation in root/docs, allow import from root/src where GRAMPS modules life
sourcedir = (os.path.abspath('.')).split(os.sep)[:-1] + ['gramps']
sys.path.append((os.sep).join(sourcedir))
#make it possible to add plugins --> walk the plugin dir and add to sys.path.append
for (dirpath, dirnames, filenames) in os.walk((os.sep).join(sourcedir + ['plugins'])):
# add the directory to the python search path
sys.path.append(dirpath)
# -- General configuration -----------------------------------------------------
# Add any Sphinx extension module names here, as strings. They can be extensions
# coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
extensions = ['sphinx.ext.autodoc', 'sphinx.ext.todo', 'sphinx.ext.coverage']
# Add any paths that contain templates here, relative to this directory.
templates_path = ['_templates']
# The suffix of source filenames.
source_suffix = '.rst'
# The encoding of source files.
#source_encoding = 'utf-8'
# The master toctree document.
master_doc = 'index'
# General information about the project.
project = u'Gramps'
copyright = u'2012, The Gramps Project'
# The version info for the project you're documenting, acts as replacement for
# |version| and |release|, also used in various other places throughout the
# built documents.
#
# The short X.Y version.
version = '4.0'
# The full version, including alpha/beta/rc tags.
release = '4.0.0'
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
#language = None
# There are two options for replacing |today|: either, you set today to some
# non-false value, then it is used:
#today = ''
# Else, today_fmt is used as the format for a strftime call.
#today_fmt = '%B %d, %Y'
# List of documents that shouldn't be included in the build.
#unused_docs = []
# List of directories, relative to source directory, that shouldn't be searched
# for source files.
exclude_trees = ['_build']
# The reST default role (used for this markup: `text`) to use for all documents.
#default_role = None
# If true, '()' will be appended to :func: etc. cross-reference text.
#add_function_parentheses = True
# If true, the current module name will be prepended to all description
# unit titles (such as .. function::).
#add_module_names = True
# If true, sectionauthor and moduleauthor directives will be shown in the
# output. They are ignored by default.
#show_authors = False
# The name of the Pygments (syntax highlighting) style to use.
pygments_style = 'sphinx'
# A list of ignored prefixes for module index sorting.
#modindex_common_prefix = []
# -- Options for HTML output ---------------------------------------------------
# The theme to use for HTML and HTML Help pages. Major themes that come with
# Sphinx are currently 'default' and 'sphinxdoc'.
html_theme = 'default'
# Theme options are theme-specific and customize the look and feel of a theme
# further. For a list of options available for each theme, see the
# documentation.
#html_theme_options = {}
# Add any paths that contain custom themes here, relative to this directory.
#html_theme_path = []
# The name for this set of Sphinx documents. If None, it defaults to
# "<project> v<release> documentation".
#html_title = None
# A shorter title for the navigation bar. Default is the same as html_title.
#html_short_title = None
# The name of an image file (relative to this directory) to place at the top
# of the sidebar.
#html_logo = None
# The name of an image file (within the static path) to use as favicon of the
# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32
# pixels large.
#html_favicon = None
# Add any paths that contain custom static files (such as style sheets) here,
# relative to this directory. They are copied after the builtin static files,
# so a file named "default.css" will overwrite the builtin "default.css".
html_static_path = ['_static']
# If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
# using the given strftime format.
#html_last_updated_fmt = '%b %d, %Y'
# If true, SmartyPants will be used to convert quotes and dashes to
# typographically correct entities.
#html_use_smartypants = True
# Custom sidebar templates, maps document names to template names.
#html_sidebars = {}
# Additional templates that should be rendered to pages, maps page names to
# template names.
#html_additional_pages = {}
# If false, no module index is generated.
#html_use_modindex = True
# If false, no index is generated.
#html_use_index = True
# If true, the index is split into individual pages for each letter.
#html_split_index = False
# If true, links to the reST sources are added to the pages.
#html_show_sourcelink = True
# If true, an OpenSearch description file will be output, and all pages will
# contain a <link> tag referring to it. The value of this option must be the
# base URL from which the finished HTML is served.
#html_use_opensearch = ''
# If nonempty, this is the file name suffix for HTML files (e.g. ".xhtml").
#html_file_suffix = ''
# Output file base name for HTML help builder.
htmlhelp_basename = 'Grampsdoc'
# -- Options for LaTeX output --------------------------------------------------
# The paper size ('letter' or 'a4').
#latex_paper_size = 'letter'
# The font size ('10pt', '11pt' or '12pt').
#latex_font_size = '10pt'
# Grouping the document tree into LaTeX files. List of tuples
# (source start file, target name, title, author, documentclass [howto/manual]).
latex_documents = [
('index', 'Gramps.tex', u'Gramps Documentation',
u'The Gramps Project', 'manual'),
]
# The name of an image file (relative to this directory) to place at the top of
# the title page.
#latex_logo = None
# For "manual" documents, if this is true, then toplevel headings are parts,
# not chapters.
#latex_use_parts = False
# Additional stuff for the LaTeX preamble.
#latex_preamble = ''
# Documents to append as an appendix to all manuals.
#latex_appendices = []
# If false, no module index is generated.
#latex_use_modindex = True

View File

@ -1,54 +0,0 @@
##########################
The :mod:`cli` Module
##########################
.. automodule:: cli
*****************************
Argument Handler
*****************************
.. automodule:: cli.arghandler
.. autoclass:: ArgHandler
:members:
:undoc-members:
:show-inheritance:
*****************************
Argument Parser
*****************************
.. automodule:: cli.argparser
.. autoclass:: ArgParser
:members:
:undoc-members:
:show-inheritance:
*****************************
CLI DB manager
*****************************
.. automodule:: cli.clidbman
.. autoclass:: CLIDbManager
:members:
:undoc-members:
:show-inheritance:
*****************************
Gramps CLI
*****************************
.. automodule:: cli.grampscli
.. autoclass:: CLIDbLoader
:members:
:undoc-members:
:show-inheritance:
.. autoclass:: CLIManager
:members:
:undoc-members:
:show-inheritance:
*****************************
User
*****************************
.. automodule:: cli.user
.. autoclass:: User
:members:
:undoc-members:
:show-inheritance:

View File

@ -1,224 +0,0 @@
##########################
The :mod:`gramps.gui` Module
##########################
.. automodule:: gramps.gui
*****************************
Gramps
*****************************
.. automodule:: gramps.gui.grampsgui
.. autoclass:: Gramps
:members:
:undoc-members:
:show-inheritance:
*****************************
About Dialog
*****************************
.. automodule:: gramps.gui.aboutdialog
.. autoclass:: AuthorParser
:members:
:undoc-members:
:show-inheritance:
.. autoclass:: GrampsAboutDialog
:members:
:undoc-members:
:show-inheritance:
*****************************
Base Sidebar
*****************************
.. automodule:: gramps.gui.basesidebar
.. autoclass:: BaseSidebar
:members:
:undoc-members:
:show-inheritance:
*****************************
Column Order
*****************************
.. automodule:: gramps.gui.columnorder
.. autoclass:: ColumnOrder
:members:
:undoc-members:
:show-inheritance:
*****************************
Configuration
*****************************
.. automodule:: gramps.gui.configure
.. autoclass:: ConfigureDialog
:members:
:undoc-members:
:show-inheritance:
.. autoclass:: DisplayNameEditor
:members:
:undoc-members:
:show-inheritance:
.. autoclass:: GrampsPreferences
:members:
:undoc-members:
:show-inheritance:
*****************************
GUI Element (DB)
*****************************
.. automodule:: gramps.gui.dbguielement
.. autoclass:: DbGUIElement
:members:
:undoc-members:
:show-inheritance:
*****************************
DB Loader
*****************************
.. automodule:: gramps.gui.dbloader
.. autoclass:: DbLoader
:members:
:undoc-members:
:show-inheritance:
.. autoclass:: GrampsFormatWidget
:members:
:undoc-members:
:show-inheritance:
*****************************
DB Manager
*****************************
.. automodule:: gramps.gui.dbman
.. autoclass:: DbManager
:members:
:undoc-members:
:show-inheritance:
*****************************
Filter Editor
*****************************
.. automodule:: gramps.gui.editors.filtereditor
.. autoclass:: EditFilter
:members:
:undoc-members:
:show-inheritance:
.. autoclass:: EditRule
:members:
:undoc-members:
:show-inheritance:
.. autoclass:: FilterEditor
:members:
:undoc-members:
:show-inheritance:
.. autoclass:: MyBoolean
:members:
:undoc-members:
:show-inheritance:
.. autoclass:: MyEntry
:members:
:undoc-members:
:show-inheritance:
.. autoclass:: MyFilters
:members:
:undoc-members:
:show-inheritance:
.. autoclass:: MyID
:members:
:undoc-members:
:show-inheritance:
.. autoclass:: MyInteger
:members:
:undoc-members:
:show-inheritance:
.. autoclass:: MyLesserEqualGreater
:members:
:undoc-members:
:show-inheritance:
.. autoclass:: MyList
:members:
:undoc-members:
:show-inheritance:
.. autoclass:: MyPlaces
:members:
:undoc-members:
:show-inheritance:
.. autoclass:: MySelect
:members:
:undoc-members:
:show-inheritance:
.. autoclass:: MySource
:members:
:undoc-members:
:show-inheritance:
.. autoclass:: ShowResults
:members:
:undoc-members:
:show-inheritance:
*****************************
Gramps Bar
*****************************
.. automodule:: gramps.gui.grampsbar
.. autoclass:: DetachedWindow
:members:
:undoc-members:
:show-inheritance:
.. autoclass:: GrampsBar
:members:
:undoc-members:
:show-inheritance:
.. autoclass:: TabGramplet
:members:
:undoc-members:
:show-inheritance:
*****************************
Navigator
*****************************
.. automodule:: gramps.gui.navigator
.. autoclass:: Navigator
:members:
:undoc-members:
:show-inheritance:
*****************************
Plugins Manager
*****************************
.. automodule:: gramps.gui.pluginmanager
.. autoclass:: GuiPluginManager
:members:
:undoc-members:
:show-inheritance:
*****************************
User
*****************************
.. automodule:: gramps.gui.user
.. autoclass:: User
:members:
:undoc-members:
:show-inheritance:
*****************************
Utils
*****************************
.. automodule:: gramps.gui.utils
.. autoclass:: CLIDialog
:members:
:undoc-members:
:show-inheritance:
.. autoclass:: CLIVbox
:members:
:undoc-members:
:show-inheritance:
.. autoclass:: ProgressMeter
:members:
:undoc-members:
:show-inheritance:
*****************************
Views Manager
*****************************
.. automodule:: gramps.gui.viewmanager
.. autoclass:: ViewManager
:members:
:undoc-members:
:show-inheritance:

View File

@ -1,279 +0,0 @@
#########################################
The :class:`Date Handler` Classes
#########################################
DateParser
====================================
.. automodule:: gen.datehandler._dateparser
.. autoclass:: DateParser
:members:
:undoc-members:
:show-inheritance:
DateDisplay
====================================
.. automodule:: gen.datehandler._datedisplay
.. autoclass:: DateDisplay
:members:
:undoc-members:
:show-inheritance:
.. autoclass:: DateDisplayEn
:members:
:undoc-members:
:show-inheritance:
DateUtils
====================================
.. automodule:: gen.datehandler._dateutils
:members:
:undoc-members:
:show-inheritance:
DateHandler
====================================
.. automodule:: gen.datehandler._datehandler
:members:
:undoc-members:
:show-inheritance:
Localized Date Handlers
====================================
*****************************
DateHandler (Bulgarian)
*****************************
.. autoclass:: gen.datehandler._date_bg.DateParserBG
:members:
:undoc-members:
:show-inheritance:
.. autoclass:: gen.datehandler._date_bg.DateDisplayBG
:members:
:undoc-members:
:show-inheritance:
*****************************
DateHandler (Catalan)
*****************************
.. autoclass:: gen.datehandler._date_ca.DateParserCA
:members:
:undoc-members:
:show-inheritance:
.. autoclass:: gen.datehandler._date_ca.DateDisplayCA
:members:
:undoc-members:
:show-inheritance:
*****************************
DateHandler (Czech)
*****************************
.. autoclass:: gen.datehandler._date_cs.DateParserCZ
:members:
:undoc-members:
:show-inheritance:
.. autoclass:: gen.datehandler._date_cs.DateDisplayCZ
:members:
:undoc-members:
:show-inheritance:
*****************************
DateHandler (German)
*****************************
.. autoclass:: gen.datehandler._date_de.DateParserDE
:members:
:undoc-members:
:show-inheritance:
.. autoclass:: gen.datehandler._date_de.DateDisplayDE
:members:
:undoc-members:
:show-inheritance:
*****************************
DateHandler (Spanish)
*****************************
.. autoclass:: gen.datehandler._date_es.DateParserES
:members:
:undoc-members:
:show-inheritance:
.. autoclass:: gen.datehandler._date_es.DateDisplayES
:members:
:undoc-members:
:show-inheritance:
*****************************
DateHandler (Finnish)
*****************************
.. autoclass:: gen.datehandler._date_fi.DateParserFI
:members:
:undoc-members:
:show-inheritance:
.. autoclass:: gen.datehandler._date_fi.DateDisplayFI
:members:
:undoc-members:
:show-inheritance:
*****************************
DateHandler (French)
*****************************
.. autoclass:: gen.datehandler._date_fr.DateParserFR
:members:
:undoc-members:
:show-inheritance:
.. autoclass:: gen.datehandler._date_fr.DateDisplayFR
:members:
:undoc-members:
:show-inheritance:
*****************************
DateHandler (Croatian)
*****************************
.. autoclass:: gen.datehandler._date_hr.DateParserHR
:members:
:undoc-members:
:show-inheritance:
.. autoclass:: gen.datehandler._date_hr.DateDisplayHR
:members:
:undoc-members:
:show-inheritance:
*****************************
DateHandler (Italian)
*****************************
.. autoclass:: gen.datehandler._date_it.DateParserIT
:members:
:undoc-members:
:show-inheritance:
.. autoclass:: gen.datehandler._date_it.DateDisplayIT
:members:
:undoc-members:
:show-inheritance:
*****************************
DateHandler (Lituanian)
*****************************
.. autoclass:: gen.datehandler._date_lt.DateParserLT
:members:
:undoc-members:
:show-inheritance:
.. autoclass:: gen.datehandler._date_lt.DateDisplayLT
:members:
:undoc-members:
:show-inheritance:
*****************************
DateHandler (Norwegian)
*****************************
.. autoclass:: gen.datehandler._date_nb.DateParserNb
:members:
:undoc-members:
:show-inheritance:
.. autoclass:: gen.datehandler._date_nb.DateDisplayNb
:members:
:undoc-members:
:show-inheritance:
*****************************
DateHandler (Dutch)
*****************************
.. autoclass:: gen.datehandler._date_nl.DateParserNL
:members:
:undoc-members:
:show-inheritance:
.. autoclass:: gen.datehandler._date_nl.DateDisplayNL
:members:
:undoc-members:
:show-inheritance:
*****************************
DateHandler (Polish)
*****************************
.. autoclass:: gen.datehandler._date_pl.DateParserPL
:members:
:undoc-members:
:show-inheritance:
.. autoclass:: gen.datehandler._date_pl.DateDisplayPL
:members:
:undoc-members:
:show-inheritance:
*****************************
DateHandler (Portuguese)
*****************************
.. autoclass:: gen.datehandler._date_pt.DateParserPT
:members:
:undoc-members:
:show-inheritance:
.. autoclass:: gen.datehandler._date_pt.DateDisplayPT
:members:
:undoc-members:
:show-inheritance:
*****************************
DateHandler (Russian)
*****************************
.. autoclass:: gen.datehandler._date_ru.DateParserRU
:members:
:undoc-members:
:show-inheritance:
.. autoclass:: gen.datehandler._date_ru.DateDisplayRU
:members:
:undoc-members:
:show-inheritance:
*****************************
DateHandler (Slovak)
*****************************
.. autoclass:: gen.datehandler._date_sk.DateParserSK
:members:
:undoc-members:
:show-inheritance:
.. autoclass:: gen.datehandler._date_sk.DateDisplaySK
:members:
:undoc-members:
:show-inheritance:
*****************************
DateHandler (Slovenian)
*****************************
.. autoclass:: gen.datehandler._date_sl.DateParserSL
:members:
:undoc-members:
:show-inheritance:
.. autoclass:: gen.datehandler._date_sl.DateDisplaySL
:members:
:undoc-members:
:show-inheritance:
*****************************
DateHandler (Serbian)
*****************************
.. autoclass:: gen.datehandler._date_sr.DateParserSR
:members:
:undoc-members:
:show-inheritance:
.. autoclass:: gen.datehandler._date_sr.DateDisplaySR_latin
:members:
:undoc-members:
:show-inheritance:
*****************************
DateHandler (Swedish)
*****************************
.. autoclass:: gen.datehandler._date_sv.DateParserSv
:members:
:undoc-members:
:show-inheritance:
.. autoclass:: gen.datehandler._date_sv.DateDisplaySv
:members:
:undoc-members:
:show-inheritance:
#########################################
The :class:`Date Edition` Classes
#########################################
DateEdit
====================================
.. automodule:: gramps.gui.editors.editdate
:members:
:undoc-members:
:show-inheritance:

View File

@ -1,4 +0,0 @@
Developer Guide
===============
Please consult the API documentation, and the development part of `our wiki <http://gramps-project.org>`_\ .

View File

@ -1,77 +0,0 @@
##########################
The :mod:`gen` Module
##########################
.. automodule:: gen
*****************************
Database State
*****************************
.. automodule:: gen.dbstate
.. autoclass:: DbState
:members:
:undoc-members:
:show-inheritance:
*****************************
Errors
*****************************
.. automodule:: gen.errors
.. autoclass:: DatabaseError
:members:
:undoc-members:
:show-inheritance:
.. autoclass:: DateError
:members:
:undoc-members:
:show-inheritance:
.. autoclass:: DbError
:members:
:undoc-members:
:show-inheritance:
TODO
*****************************
Recent Files
*****************************
.. automodule:: gen.recentfiles
.. autoclass:: RecentFiles
:members:
:undoc-members:
:show-inheritance:
.. autoclass:: RecentItem
:members:
:undoc-members:
:show-inheritance:
.. autoclass:: RecentParser
:members:
:undoc-members:
:show-inheritance:
*****************************
Sort
*****************************
.. automodule:: gen.sort
.. autoclass:: Sort
:members:
:undoc-members:
:show-inheritance:
*****************************
Update callback
*****************************
.. automodule:: gen.updatecallback
.. autoclass:: UpdateCallback
:members:
:undoc-members:
:show-inheritance:
*****************************
User
*****************************
.. automodule:: gen.user
.. autoclass:: User
:members:
:undoc-members:
:show-inheritance:

View File

@ -1,78 +0,0 @@
##########################
The :mod:`gen.db` Module
##########################
.. automodule:: gen.db
GrampsDbBase
====================================
.. automodule:: gen.db.base
:members:
:undoc-members:
:show-inheritance:
GrampsDbRead
====================================
.. automodule:: gen.db.read
:members:
:show-inheritance:
GrampsDbWrite
====================================
.. automodule:: gen.db.write
:members:
:undoc-members:
:show-inheritance:
GrampsCursor
====================================
.. automodule:: gen.db.cursor
:members:
:undoc-members:
:show-inheritance:
BSDDBtxn
====================================
.. automodule:: gen.db.bsddbtxn
:members:
:undoc-members:
:show-inheritance:
GrampsDbTxn
====================================
.. automodule:: gen.db.txn
:members:
:undoc-members:
:show-inheritance:
GrampsDbUndo
====================================
.. automodule:: gen.db.undoredo
:members:
:undoc-members:
:show-inheritance:
DbConst
====================================
.. automodule:: gen.db.dbconst
:members:
GrampsDbException
====================================
.. automodule:: gen.db.exceptions
:members:
:undoc-members:
:show-inheritance:
Upgrade utilities
====================================
.. automodule:: gen.db.upgrade
:members:
:undoc-members:
Backup
====================================
.. automodule:: gen.db.backup
:members:
:undoc-members:
:show-inheritance:

View File

@ -1,12 +0,0 @@
#############################
The :mod:`gen.display` Module
#############################
.. automodule:: gen.display
Name
====================================
.. automodule:: gen.display.name
:members:
:undoc-members:
:show-inheritance:

View File

@ -1,528 +0,0 @@
##########################
The :mod:`gen.lib` Module
##########################
.. automodule:: gen.lib
*****************************
Base objects
*****************************
BaseObject
====================================
.. automodule:: gen.lib.baseobj
.. autoclass:: gen.lib.baseobj.BaseObject
:members:
:undoc-members:
:show-inheritance:
AddressBase
====================================
.. automodule:: gen.lib.addressbase
.. autoclass:: AddressBase
:members:
:undoc-members:
:show-inheritance:
AttributeBase
====================================
.. automodule:: gen.lib.attrbase
.. autoclass:: AttributeBase
:members:
:undoc-members:
:show-inheritance:
CitationBase
====================================
.. automodule:: gen.lib.citationbase
.. autoclass:: CitationBase
:members:
:undoc-members:
:show-inheritance:
DateBase
====================================
.. automodule:: gen.lib.datebase
.. autoclass:: DateBase
:members:
:undoc-members:
:show-inheritance:
LdsOrdBase
====================================
.. automodule:: gen.lib.ldsordbase
.. autoclass:: LdsOrdBase
:members:
:undoc-members:
:show-inheritance:
LocationBase
====================================
.. automodule:: gen.lib.locationbase
.. autoclass:: LocationBase
:members:
:undoc-members:
:show-inheritance:
MediaBase
====================================
.. automodule:: gen.lib.mediabase
.. autoclass:: MediaBase
:members:
:undoc-members:
:show-inheritance:
NoteBase
====================================
.. automodule:: gen.lib.notebase
.. autoclass:: NoteBase
:members:
:undoc-members:
:show-inheritance:
PlaceBase
====================================
.. automodule:: gen.lib.placebase
.. autoclass:: PlaceBase
:members:
:undoc-members:
:show-inheritance:
PrivacyBase
====================================
.. automodule:: gen.lib.privacybase
.. autoclass:: PrivacyBase
:members:
:undoc-members:
:show-inheritance:
RefBase
====================================
.. automodule:: gen.lib.refbase
.. autoclass:: RefBase
:members:
:undoc-members:
:show-inheritance:
SurnameBase
====================================
.. automodule:: gen.lib.surnamebase
.. autoclass:: SurnameBase
:members:
:undoc-members:
:show-inheritance:
TagBase
====================================
.. automodule:: gen.lib.tagbase
.. autoclass:: TagBase
:members:
:undoc-members:
:show-inheritance:
UrlBase
====================================
.. automodule:: gen.lib.urlbase
.. autoclass:: UrlBase
:members:
:undoc-members:
:show-inheritance:
*****************************
Primary objects
*****************************
BasicPrimaryObject
====================================
.. automodule:: gen.lib.primaryobj
.. autoclass:: BasicPrimaryObject
:members:
:undoc-members:
:show-inheritance:
PrimaryObject
====================================
.. autoclass:: PrimaryObject
:members:
:undoc-members:
:show-inheritance:
Person
====================================
.. automodule:: gen.lib.person
.. autoclass:: Person
:members:
:undoc-members:
:show-inheritance:
Family
====================================
.. automodule:: gen.lib.family
.. autoclass:: Family
:members:
:undoc-members:
:show-inheritance:
Event
====================================
.. automodule:: gen.lib.event
.. autoclass:: Event
:members:
:undoc-members:
:show-inheritance:
Place
====================================
.. automodule:: gen.lib.place
.. autoclass:: Place
:members:
:undoc-members:
:show-inheritance:
Source
====================================
.. automodule:: gen.lib.src
.. autoclass:: Source
:members:
:undoc-members:
:show-inheritance:
Citation
====================================
.. automodule:: gen.lib.citation
.. autoclass:: Citation
:members:
:undoc-members:
:show-inheritance:
Media Object
====================================
.. automodule:: gen.lib.mediaobj
.. autoclass:: MediaObject
:members:
:undoc-members:
:show-inheritance:
Repository
====================================
.. automodule:: gen.lib.repo
.. autoclass:: Repository
:members:
:undoc-members:
:show-inheritance:
Note
====================================
.. automodule:: gen.lib.note
.. autoclass:: Note
:members:
:undoc-members:
:show-inheritance:
*****************************
Secondary objects
*****************************
Secondary Object
====================================
.. automodule:: gen.lib.secondaryobj
.. autoclass:: SecondaryObject
:members:
:undoc-members:
:show-inheritance:
Address
====================================
.. automodule:: gen.lib.address
.. autoclass:: Address
:members:
:undoc-members:
:show-inheritance:
Attribute
====================================
.. automodule:: gen.lib.attribute
.. autoclass:: Attribute
:members:
:undoc-members:
:show-inheritance:
LdsOrd
====================================
.. automodule:: gen.lib.ldsord
.. autoclass:: LdsOrd
:members:
:undoc-members:
:show-inheritance:
Location
====================================
.. automodule:: gen.lib.location
.. autoclass:: Location
:members:
:undoc-members:
:show-inheritance:
Name
====================================
.. automodule:: gen.lib.name
.. autoclass:: Name
:members:
:undoc-members:
:show-inheritance:
Surname
====================================
.. automodule:: gen.lib.surname
.. autoclass:: Surname
:members:
:undoc-members:
:show-inheritance:
Url
====================================
.. automodule:: gen.lib.url
.. autoclass:: Url
:members:
:undoc-members:
:show-inheritance:
*****************************
Reference objects
*****************************
ChildRef
====================================
.. automodule:: gen.lib.childref
.. autoclass:: ChildRef
:members:
:undoc-members:
:show-inheritance:
EventRef
====================================
.. automodule:: gen.lib.eventref
.. autoclass:: EventRef
:members:
:undoc-members:
:show-inheritance:
MediaRef
====================================
.. automodule:: gen.lib.mediaref
.. autoclass:: MediaRef
:members:
:undoc-members:
:show-inheritance:
PersonRef
====================================
.. automodule:: gen.lib.personref
.. autoclass:: PersonRef
:members:
:undoc-members:
:show-inheritance:
RepoRef
====================================
.. automodule:: gen.lib.reporef
.. autoclass:: RepoRef
:members:
:undoc-members:
:show-inheritance:
*****************************
Table object
*****************************
Table object
====================================
.. automodule:: gen.lib.tableobj
:members:
:undoc-members:
:show-inheritance:
*****************************
Date objects
*****************************
.. automodule:: gen.lib.date
Date
====================================
.. autoclass:: Date
:members:
:undoc-members:
:show-inheritance:
Span
====================================
.. autoclass:: Span
:members:
:undoc-members:
:show-inheritance:
DateError
====================================
.. autoexception:: DateError
*****************************
Text objects
*****************************
StyledTextTag
===================
.. automodule:: gen.lib.styledtexttag
.. autoclass:: StyledTextTag
:members:
:undoc-members:
:show-inheritance:
StyledText
===========
.. automodule:: gen.lib.styledtext
.. autoclass:: StyledText
:members:
:undoc-members:
:show-inheritance:
*****************************
Meta data
*****************************
GenderStats
============
.. automodule:: gen.lib.genderstats
.. autoclass:: GenderStats
:members:
:undoc-members:
:show-inheritance:
Researcher
===========
.. automodule:: gen.lib.researcher
.. autoclass:: Researcher
:members:
:undoc-members:
:show-inheritance:
*****************************
Type classes
*****************************
.. automodule:: gen.lib.grampstype
.. autoclass:: GrampsTypeMeta
:members:
:undoc-members:
:show-inheritance:
GrampsType
===========
.. autoclass:: GrampsType
:members:
:undoc-members:
:show-inheritance:
AttributeType
=============
.. automodule:: gen.lib.attrtype
:members:
:undoc-members:
:show-inheritance:
ChildRefType
=============
.. automodule:: gen.lib.childreftype
:members:
:undoc-members:
:show-inheritance:
EventType
===========
.. automodule:: gen.lib.eventtype
.. autoclass:: EventType
:members:
:undoc-members:
:show-inheritance:
EventRoleType
==============
.. automodule:: gen.lib.eventroletype
:members:
:undoc-members:
:show-inheritance:
FamilyRelType
=============
.. automodule:: gen.lib.familyreltype
:members:
:undoc-members:
:show-inheritance:
MarkerType
==========
.. automodule:: gen.lib.markertype
:members:
:undoc-members:
:show-inheritance:
NameType
===========
.. automodule:: gen.lib.nametype
:members:
:undoc-members:
:show-inheritance:
NameOriginType
==============
.. automodule:: gen.lib.nameorigintype
:members:
:undoc-members:
:show-inheritance:
NoteType
=========
.. automodule:: gen.lib.notetype
:members:
:undoc-members:
:show-inheritance:
RepositoryType
==============
.. automodule:: gen.lib.repotype
:members:
:undoc-members:
:show-inheritance:
SourceMediaType
================
.. automodule:: gen.lib.srcmediatype
:members:
:undoc-members:
:show-inheritance:
StyledTextTagType
==================
.. automodule:: gen.lib.styledtexttagtype
:members:
:undoc-members:
:show-inheritance:
UrlType
========
.. automodule:: gen.lib.urltype
:members:
:undoc-members:
:show-inheritance:
*****************************
Privacy
*****************************
PrivateSourceNote
============
.. automodule:: gen.lib.privsrcnote
.. autoclass:: PrivateSourceNote
:members:
:undoc-members:
:show-inheritance:

View File

@ -1,241 +0,0 @@
############################
The :mod:`gen.plug` Module
############################
.. automodule:: gen.plug
Plugin
====================================
.. automodule:: gen.plug._plugin
:members:
:undoc-members:
:show-inheritance:
BaseManager
====================================
.. automodule:: gen.plug._manager
:members:
:undoc-members:
:show-inheritance:
Export
====================================
.. automodule:: gen.plug._export
:members:
:undoc-members:
:show-inheritance:
Gramplet
====================================
.. automodule:: gen.plug._gramplet
:members:
:undoc-members:
:show-inheritance:
Import
====================================
.. automodule:: gen.plug._import
:members:
:undoc-members:
:show-inheritance:
Menu
====================================
.. automodule:: gen.plug.menu._menu
:members:
:undoc-members:
:show-inheritance:
.. automodule:: gen.plug.menu._boolean
:members:
:undoc-members:
:show-inheritance:
.. automodule:: gen.plug.menu._booleanlist
:members:
:undoc-members:
:show-inheritance:
.. automodule:: gen.plug.menu._color
:members:
:undoc-members:
:show-inheritance:
.. automodule:: gen.plug.menu._destination
:members:
:undoc-members:
:show-inheritance:
.. automodule:: gen.plug.menu._enumeratedlist
:members:
:undoc-members:
:show-inheritance:
.. automodule:: gen.plug.menu._family
:members:
:undoc-members:
:show-inheritance:
.. automodule:: gen.plug.menu._filter
:members:
:undoc-members:
:show-inheritance:
.. automodule:: gen.plug.menu._media
:members:
:undoc-members:
:show-inheritance:
.. automodule:: gen.plug.menu._note
:members:
:undoc-members:
:show-inheritance:
.. automodule:: gen.plug.menu._number
:members:
:undoc-members:
:show-inheritance:
.. automodule:: gen.plug.menu._option
:members:
:undoc-members:
:show-inheritance:
.. automodule:: gen.plug.menu._person
:members:
:undoc-members:
:show-inheritance:
.. automodule:: gen.plug.menu._personlist
:members:
:undoc-members:
:show-inheritance:
.. automodule:: gen.plug.menu._placelist
:members:
:undoc-members:
:show-inheritance:
.. automodule:: gen.plug.menu._string
:members:
:undoc-members:
:show-inheritance:
.. automodule:: gen.plug.menu._style
:members:
:undoc-members:
:show-inheritance:
.. automodule:: gen.plug.menu._surnamecolor
:members:
:undoc-members:
:show-inheritance:
.. automodule:: gen.plug.menu._text
:members:
:undoc-members:
:show-inheritance:
*****************************
Options
*****************************
.. automodule:: gen.plug._options
:members:
:undoc-members:
:show-inheritance:
Reports
====================================
.. automodule:: gen.plug.report._options
:members:
:undoc-members:
:show-inheritance:
.. automodule:: gen.plug.report._bibliography
:members:
:undoc-members:
:show-inheritance:
.. automodule:: gen.plug.report._constants
:members:
:undoc-members:
:show-inheritance:
.. automodule:: gen.plug.report.endnotes
:members:
:undoc-members:
:show-inheritance:
.. automodule:: gen.plug.report._paper
:members:
:undoc-members:
:show-inheritance:
.. automodule:: gen.plug.report._reportbase
:members:
:undoc-members:
:show-inheritance:
.. automodule:: gen.plug.report.utils
:members:
:undoc-members:
:show-inheritance:
*****************************
Docgen
*****************************
.. automodule:: gen.plug._docgenplugin
:members:
:undoc-members:
:show-inheritance:
*****************************
Generators
*****************************
.. automodule:: gen.plug.docgen.basedoc
:members:
:undoc-members:
:show-inheritance:
.. automodule:: gen.plug.docgen.drawdoc
:members:
:undoc-members:
:show-inheritance:
.. automodule:: gen.plug.docgen.fontscale
:members:
:undoc-members:
:show-inheritance:
.. automodule:: gen.plug.docgen.fontstyle
:members:
:undoc-members:
:show-inheritance:
.. automodule:: gen.plug.docgen.graphdoc
:members:
:undoc-members:
:show-inheritance:
.. automodule:: gen.plug.docgen.graphicstyle
:members:
:undoc-members:
:show-inheritance:
.. automodule:: gen.plug.docgen.paperstyle
:members:
:undoc-members:
:show-inheritance:
.. automodule:: gen.plug.docgen.paragraphstyle
:members:
:undoc-members:
:show-inheritance:
.. automodule:: gen.plug.docgen.stylesheet
:members:
:undoc-members:
:show-inheritance:
.. automodule:: gen.plug.docgen.tablestyle
:members:
:undoc-members:
:show-inheritance:
.. automodule:: gen.plug.docgen.textdoc
:members:
:undoc-members:
:show-inheritance:
*****************************
Doc Backend
*****************************
.. automodule:: gen.plug.docbackend.cairobackend
:members:
:undoc-members:
:show-inheritance:
.. automodule:: gen.plug.docbackend.docbackend
:members:
:undoc-members:
:show-inheritance:
Register
====================================
.. automodule:: gen.plug._pluginreg
:members:
:undoc-members:
:show-inheritance:
Utils
====================================
.. automodule:: gen.plug.utils
:members:
:undoc-members:
:show-inheritance:

View File

@ -1,40 +0,0 @@
############################
The :mod:`gen.proxy` Module
############################
.. automodule:: gen.proxy
Proxy Base
====================================
.. automodule:: gen.proxy.proxybase
:members:
:undoc-members:
:show-inheritance:
Filter
====================================
.. automodule:: gen.proxy.filter
:members:
:undoc-members:
:show-inheritance:
Living
====================================
.. automodule:: gen.proxy.living
:members:
:undoc-members:
:show-inheritance:
Private
====================================
.. automodule:: gen.proxy.private
:members:
:undoc-members:
:show-inheritance:
References
====================================
.. automodule:: gen.proxy.referencedbyselection
:members:
:undoc-members:
:show-inheritance:

View File

@ -1,78 +0,0 @@
############################
The :mod:`gen.utils` Module
############################
.. automodule:: gen.utils
Utils
====================================
.. automodule:: gen.utils.alive
:members:
:undoc-members:
:show-inheritance:
.. automodule:: gen.utils.callback
:members:
:undoc-members:
:show-inheritance:
.. automodule:: gen.utils.callman
:members:
:undoc-members:
:show-inheritance:
.. automodule:: gen.utils.cast
:members:
:undoc-members:
:show-inheritance:
.. automodule:: gen.utils.config
:members:
:undoc-members:
:show-inheritance:
.. automodule:: gen.utils.configmanager
:members:
:undoc-members:
:show-inheritance:
.. automodule:: gen.utils.db
:members:
:undoc-members:
:show-inheritance:
.. automodule:: gen.utils.file
:members:
:undoc-members:
:show-inheritance:
.. automodule:: gen.utils.id
:members:
:undoc-members:
:show-inheritance:
.. automodule:: gen.utils.image
:members:
:undoc-members:
:show-inheritance:
.. automodule:: gen.utils.keyword
:members:
:undoc-members:
:show-inheritance:
.. automodule:: gen.utils.lds
:members:
:undoc-members:
:show-inheritance:
.. automodule:: gen.utils.mactrans
:members:
:undoc-members:
:show-inheritance:
.. automodule:: gen.utils.place
:members:
:undoc-members:
:show-inheritance:
.. automodule:: gen.utils.string
:members:
:undoc-members:
:show-inheritance:
.. automodule:: gen.utils.trans
:members:
:undoc-members:
:show-inheritance:
.. automodule:: gen.utils.unknown
:members:
:undoc-members:
:show-inheritance:

View File

@ -1,11 +0,0 @@
##########################
The :class:`Html` Class
##########################
Contents:
.. automodule:: libhtml
.. autoclass:: Html
:members:
:undoc-members:
:show-inheritance:

View File

@ -1,24 +0,0 @@
.. Gramps documentation master file, created by
sphinx-quickstart on Sat Jun 20 00:07:37 2009.
You can adapt this file completely to your liking, but it should at least
contain the root `toctree` directive.
Welcome to Gramps's documentation!
==================================
Contents:
.. toctree::
:maxdepth: 2
user_guide
developer_guide
api
Indices and tables
==================
* :ref:`genindex`
* :ref:`modindex`
* :ref:`search`

View File

@ -1,132 +0,0 @@
#########################################
The :class:`RelationshipCalculator` Class
#########################################
.. automodule:: gen.relationship
.. autoclass:: RelationshipCalculator
:members:
:undoc-members:
:show-inheritance:
*****************************
Localized Handlers
*****************************
Relationship (Czech)
====================================
.. autoclass:: rel_cs.RelationshipCalculator
:members:
:undoc-members:
:show-inheritance:
Relationship (Danish)
====================================
.. autoclass:: rel_da.RelationshipCalculator
:members:
:undoc-members:
:show-inheritance:
Relationship (German)
====================================
.. autoclass:: rel_de.RelationshipCalculator
:members:
:undoc-members:
:show-inheritance:
Relationship (Spanish)
====================================
.. autoclass:: rel_es.RelationshipCalculator
:members:
:undoc-members:
:show-inheritance:
Relationship (Finnish)
====================================
.. autoclass:: rel_fi.RelationshipCalculator
:members:
:undoc-members:
:show-inheritance:
Relationship (French)
====================================
.. autoclass:: rel_fr.RelationshipCalculator
:members:
:undoc-members:
:show-inheritance:
Relationship (Croatian)
====================================
.. autoclass:: rel_hr.RelationshipCalculator
:members:
:undoc-members:
:show-inheritance:
Relationship (Hungarian)
====================================
.. autoclass:: rel_hu.RelationshipCalculator
:members:
:undoc-members:
:show-inheritance:
Relationship (Italian)
====================================
.. autoclass:: rel_it.RelationshipCalculator
:members:
:undoc-members:
:show-inheritance:
Relationship (Dutch)
====================================
.. autoclass:: rel_nl.RelationshipCalculator
:members:
:undoc-members:
:show-inheritance:
Relationship (Norwegian)
====================================
.. autoclass:: rel_no.RelationshipCalculator
:members:
:undoc-members:
:show-inheritance:
Relationship (Polish)
====================================
.. autoclass:: rel_pl.RelationshipCalculator
:members:
:undoc-members:
:show-inheritance:
Relationship (Portuguese)
====================================
.. autoclass:: rel_pt.RelationshipCalculator
:members:
:undoc-members:
:show-inheritance:
Relationship (Russian)
====================================
.. autoclass:: rel_ru.RelationshipCalculator
:members:
:undoc-members:
:show-inheritance:
Relationship (Slovak)
====================================
.. autoclass:: rel_sk.RelationshipCalculator
:members:
:undoc-members:
:show-inheritance:
Relationship (Slovenian)
====================================
.. autoclass:: rel_sl.RelationshipCalculator
:members:
:undoc-members:
:show-inheritance:
Relationship (Swedish)
====================================
.. autoclass:: rel_sv.RelationshipCalculator
:members:
:undoc-members:
:show-inheritance:

View File

@ -1,26 +0,0 @@
###########################
The :class:`Simple` Classes
###########################
.. automodule:: gen.simple
Simple Access
====================================
.. automodule:: gen.simple._simpleaccess
:members:
:undoc-members:
:show-inheritance:
Simple Doc
====================================
.. automodule:: gen.simple._simpledoc
:members:
:undoc-members:
:show-inheritance:
Simple Table
====================================
.. automodule:: gen.simple._simpletable
:members:
:undoc-members:
:show-inheritance:

View File

@ -1,109 +0,0 @@
#! /usr/bin/env python
#
# update_po - a gramps tool to update translations
#
# Copyright (C) 2006-2006 Kees Bakker
# Copyright (C) 2006 Brian Matherly
# Copyright (C) 2008 Stephen George
# Copyright (C) 2012
#
# 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
"""
update_doc.py for Gramps API(s) documentation.
Examples:
python update_doc.py -t
Tests if 'sphinx' and 'python' are well configured.
"""
from __future__ import print_function
import os
import sys
from argparse import ArgumentParser
# You can set these variables from the command line.
SPHINXBUILD = 'sphinx-build'
if sys.platform == 'win32':
pythonCmd = os.path.join(sys.prefix, 'bin', 'python.exe')
sphinxCmd = os.path.join(sys.prefix, 'bin', 'sphinx-build.exe')
elif sys.platform == 'linux2' or os.name == 'darwin':
pythonCmd = os.path.join(sys.prefix, 'bin', 'python')
sphinxCmd = SPHINXBUILD
else:
print ("ERROR: unknown system, don't know sphinx, ... commands")
sys.exit(0)
def tests():
"""
Testing installed programs.
We made tests (-t flag) by displaying versions of tools if properly
installed. Cannot run all commands without 'sphinx' and 'python'.
"""
try:
print("\n=================='python'=============================\n")
os.system('''%(program)s -V''' % {'program': pythonCmd})
except:
print ('Please, install python')
try:
print("\n=================='Shpinx-build'=============================\n")
os.system('''%(program)s''' % {'program': sphinxCmd})
except:
print ('Please, install sphinx')
def main():
"""
The utility for handling documentation stuff.
What is need by Gramps, nothing more.
"""
parser = ArgumentParser(
description='This program aims to handle manual'
' and translated version.',
)
parser.add_argument("-t", "--test",
action="store_true", dest="test", default=True,
help="test if 'python' and 'sphinx' are properly installed")
parser.add_argument("-b", "--build",
action="store_true", dest="build", default=True,
help="build documentation")
args = parser.parse_args()
if args.test:
tests()
if args.build:
build()
def build():
"""
Build documentation.
"""
# testing stage
os.system('''%(program)s -b html . _build/html''' % {'program': sphinxCmd})
os.system('''%(program)s -b changes . _build/changes''' % {'program': sphinxCmd})
os.system('''%(program)s -b linkcheck . _build/linkcheck''' % {'program': sphinxCmd})
if __name__ == "__main__":
main()

View File

@ -1,4 +0,0 @@
User Guide
==========
Please consult the manual which you find on `our wiki <http://www.gramps-project.org/wiki/index.php?title=User_manual>`_\ .

1
example/Makefile.am Normal file
View File

@ -0,0 +1 @@
SUBDIRS = gramps

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,12 @@
# This is the src/data/templates level Makefile
pkgdata_DATA = \
data.gramps\
O0.jpg\
O1.jpg\
O2.jpg\
O3.jpg\
O4.jpg\
O5.jpg
pkgdatadir = ${datadir}/@PACKAGE@/example
EXTRA_DIST = ${pkgdata_DATA}

Binary file not shown.

File diff suppressed because it is too large Load Diff

316
gramps-autogen.sh Executable file
View File

@ -0,0 +1,316 @@
#!/bin/sh
# Run this to generate all the initial makefiles, etc.
# $Id$
#name of package
PKG_NAME=${PKG_NAME:-Package}
srcdir=${srcdir:-.}
# default version requirements ...
REQUIRED_AUTOCONF_VERSION=${REQUIRED_AUTOCONF_VERSION:-2.53}
REQUIRED_AUTOMAKE_VERSION=${REQUIRED_AUTOMAKE_VERSION:-1.4}
REQUIRED_GLIB_GETTEXT_VERSION=${REQUIRED_GLIB_GETTEXT_VERSION:-2.2.0}
REQUIRED_INTLTOOL_VERSION=${REQUIRED_INTLTOOL_VERSION:-0.25}
# a list of required m4 macros. Package can set an initial value
REQUIRED_M4MACROS=${REQUIRED_M4MACROS:-}
FORBIDDEN_M4MACROS=${FORBIDDEN_M4MACROS:-}
# Not all echo versions allow -n, so we check what is possible. This test is
# based on the one in autoconf.
case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
*c*,-n*) ECHO_N= ;;
*c*,* ) ECHO_N=-n ;;
*) ECHO_N= ;;
esac
# some terminal codes ...
boldface="`tput bold 2>/dev/null`"
normal="`tput sgr0 2>/dev/null`"
printbold() {
echo $ECHO_N "$boldface"
echo "$@"
echo $ECHO_N "$normal"
}
printerr() {
echo "$@" >&2
}
autogen_options ()
{
if test "x$1" = "x"; then
return 0
fi
printbold "Checking command line options..."
while test "x$1" != "x" ; do
optarg=`expr "x$1" : 'x[^=]*=\(.*\)'`
case "$1" in
--noconfigure)
NOCONFIGURE=defined
AUTOGEN_EXT_OPT="$AUTOGEN_EXT_OPT --noconfigure"
echo " configure run disabled"
shift
;;
--nocheck)
AUTOGEN_EXT_OPT="$AUTOGEN_EXT_OPT --nocheck"
NOCHECK=defined
echo " autotools version check disabled"
shift
;;
--debug)
DEBUG=defined
AUTOGEN_EXT_OPT="$AUTOGEN_EXT_OPT --debug"
echo " debug output enabled"
shift
;;
-h|--help)
echo "autogen.sh (autogen options) -- (configure options)"
echo "autogen.sh help options: "
echo " --noconfigure don't run the configure script"
# echo " --nocheck don't do version checks"
echo " --debug debug the autogen process"
echo
echo " --with-autoconf PATH use autoconf in PATH"
echo " --with-automake PATH use automake in PATH"
echo
echo "Any argument either not in the above list or after a '--' will be "
echo "passed to ./configure."
exit 1
;;
--with-automake=*)
AUTOMAKE=$optarg
echo " using alternate automake in $optarg"
CONFIGURE_DEF_OPT="$CONFIGURE_DEF_OPT --with-automake=$AUTOMAKE"
shift
;;
--with-autoconf=*)
AUTOCONF=$optarg
echo " using alternate autoconf in $optarg"
CONFIGURE_DEF_OPT="$CONFIGURE_DEF_OPT --with-autoconf=$AUTOCONF"
shift
;;
--) shift ; break ;;
*)
echo " passing argument $1 to configure"
CONFIGURE_EXT_OPT="$CONFIGURE_EXT_OPT $1"
shift
;;
esac
done
for arg do CONFIGURE_EXT_OPT="$CONFIGURE_EXT_OPT $arg"; done
if test ! -z "$CONFIGURE_EXT_OPT"
then
echo " options passed to configure: $CONFIGURE_EXT_OPT"
fi
}
# Usage:
# compare_versions MIN_VERSION ACTUAL_VERSION
# returns true if ACTUAL_VERSION >= MIN_VERSION
compare_versions() {
ch_min_version=$1
ch_actual_version=$2
ch_status=0
IFS="${IFS= }"; ch_save_IFS="$IFS"; IFS="."
set $ch_actual_version
for ch_min in $ch_min_version; do
ch_cur=`echo $1 | sed 's/[^0-9].*$//'`; shift # remove letter suffixes
if [ -z "$ch_min" ]; then break; fi
if [ -z "$ch_cur" ]; then ch_status=1; break; fi
if [ $ch_cur -gt $ch_min ]; then break; fi
if [ $ch_cur -lt $ch_min ]; then ch_status=1; break; fi
done
IFS="$ch_save_IFS"
return $ch_status
}
# Usage:
# version_check PACKAGE VARIABLE CHECKPROGS MIN_VERSION SOURCE
# checks to see if the package is available
version_check() {
vc_package=$1
vc_variable=$2
vc_checkprogs=$3
vc_min_version=$4
vc_source=$5
vc_status=1
vc_checkprog=`eval echo "\\$$vc_variable"`
if [ -n "$vc_checkprog" ]; then
printbold "using $vc_checkprog for $vc_package"
return 0
fi
if test "x$vc_package" = "xautomake" -a "x$vc_min_version" = "x1.4"; then
vc_comparator="="
else
vc_comparator=">="
fi
printbold "Checking for $vc_package $vc_comparator $vc_min_version..."
for vc_checkprog in $vc_checkprogs; do
echo $ECHO_N " testing $vc_checkprog... "
if $vc_checkprog --version < /dev/null > /dev/null 2>&1; then
vc_actual_version=`$vc_checkprog --version | head -n 1 | \
sed 's/^.*[ ]\([0-9.]*[a-z]*\).*$/\1/'`
if compare_versions $vc_min_version $vc_actual_version; then
echo "found $vc_actual_version"
# set variables
eval "$vc_variable=$vc_checkprog; \
${vc_variable}_VERSION=$vc_actual_version"
vc_status=0
break
else
echo "too old (found version $vc_actual_version)"
fi
else
echo "not found."
fi
done
if [ "$vc_status" != 0 ]; then
printerr "***Error***: You must have $vc_package $vc_comparator $vc_min_version installed"
printerr " to build $PKG_NAME. Download the appropriate package for"
printerr " from your distribution or get the source tarball at"
printerr " $vc_source"
printerr
fi
return $vc_status
}
debug ()
# print out a debug message if DEBUG is a defined variable
{
if test ! -z "$DEBUG"
then
echo "DEBUG: $1"
fi
}
# Usage:
# require_m4macro filename.m4
# adds filename.m4 to the list of required macros
require_m4macro() {
case "$REQUIRED_M4MACROS" in
$1\ * | *\ $1\ * | *\ $1) ;;
*) REQUIRED_M4MACROS="$REQUIRED_M4MACROS $1" ;;
esac
}
forbid_m4macro() {
case "$FORBIDDEN_M4MACROS" in
$1\ * | *\ $1\ * | *\ $1) ;;
*) FORBIDDEN_M4MACROS="$FORBIDDEN_M4MACROS $1" ;;
esac
}
# Usage:
# add_to_cm_macrodirs dirname
# Adds the dir to $cm_macrodirs, if it's not there yet.
add_to_cm_macrodirs() {
case $cm_macrodirs in
"$1 "* | *" $1 "* | *" $1") ;;
*) cm_macrodirs="$cm_macrodirs $1";;
esac
}
# Usage:
# check_m4macros
# Checks that all the requested macro files are in the aclocal macro path
# Uses REQUIRED_M4MACROS and ACLOCAL variables.
check_m4macros() {
# construct list of macro directories
cm_macrodirs=`$ACLOCAL --print-ac-dir`
# aclocal also searches a version specific dir, eg. /usr/share/aclocal-1.9
# but it contains only Automake's own macros, so we can ignore it.
# Read the dirlist file, supported by Automake >= 1.7.
if compare_versions 1.7 $AUTOMAKE_VERSION && [ -s $cm_macrodirs/dirlist ]; then
cm_dirlist=`sed 's/[ ]*#.*//;/^$/d' $cm_macrodirs/dirlist`
if [ -n "$cm_dirlist" ] ; then
for cm_dir in $cm_dirlist; do
if [ -d $cm_dir ]; then
add_to_cm_macrodirs $cm_dir
fi
done
fi
fi
# Parse $ACLOCAL_FLAGS
set - $ACLOCAL_FLAGS
while [ $# -gt 0 ]; do
if [ "$1" = "-I" ]; then
add_to_cm_macrodirs "$2"
shift
fi
shift
done
cm_status=0
if [ -n "$REQUIRED_M4MACROS" ]; then
printbold "Checking for required M4 macros..."
# check that each macro file is in one of the macro dirs
for cm_macro in $REQUIRED_M4MACROS; do
cm_macrofound=false
for cm_dir in $cm_macrodirs; do
if [ -f "$cm_dir/$cm_macro" ]; then
cm_macrofound=true
break
fi
# The macro dir in Cygwin environments may contain a file
# called dirlist containing other directories to look in.
if [ -f "$cm_dir/dirlist" ]; then
for cm_otherdir in `cat $cm_dir/dirlist`; do
if [ -f "$cm_otherdir/$cm_macro" ]; then
cm_macrofound=true
break
fi
done
fi
done
if $cm_macrofound; then
:
else
printerr " $cm_macro not found"
cm_status=1
fi
done
fi
if [ -n "$FORBIDDEN_M4MACROS" ]; then
printbold "Checking for forbidden M4 macros..."
# check that each macro file is in one of the macro dirs
for cm_macro in $FORBIDDEN_M4MACROS; do
cm_macrofound=false
for cm_dir in $cm_macrodirs; do
if [ -f "$cm_dir/$cm_macro" ]; then
cm_macrofound=true
break
fi
done
if $cm_macrofound; then
printerr " $cm_macro found (should be cleared from macros dir)"
cm_status=1
fi
done
fi
if [ "$cm_status" != 0 ]; then
printerr "***Error***: some autoconf macros required to build $PKG_NAME"
printerr " were not found in your aclocal path, or some forbidden"
printerr " macros were found. Perhaps you need to adjust your"
printerr " ACLOCAL_FLAGS?"
printerr
fi
return $cm_status
}
toplevel_check()
{
srcfile=$1
test -f $srcfile || {
echo "You must run this script in the top-level $PKG_NAME directory"
exit 1
}
}

28
gramps.sh.in Normal file
View File

@ -0,0 +1,28 @@
#! /bin/sh
# @configure_input@
#
# Gramps - a GTK+/GNOME based genealogy program
#
# Copyright (C) 2000-2006 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
#
prefix=@prefix@
PACKAGE=@PACKAGE@
export GRAMPSDIR=@datadir@/@PACKAGE@
exec @PYTHON@ $GRAMPSDIR/gramps.py "$@"

View File

@ -1,30 +0,0 @@
#
# Gramps - a GTK+/GNOME based genealogy program
#
# Copyright (C) 2000-2007 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
#
# gen/__init__.py
# $Id$
#
"""
The core gramps module provides the different packages
Plugins are loaded dynamically, so they the plugin directory is not included
"""
__all__ = ["gen", "cli", "gui"]

View File

@ -1,26 +0,0 @@
# Gramps - a GTK+/GNOME based genealogy program
#
# Copyright (C) 2009 Benny Malengier
#
# 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$
"""
Package init for the cli package.
"""
# DO NOT IMPORT METHODS/CLASSES FROM src/gui HERE ! Only __all__

View File

@ -1,698 +0,0 @@
#
# Gramps - a GTK+/GNOME based genealogy program
#
# Copyright (C) 2000-2006 Donald N. Allingham, A. Roitman
# Copyright (C) 2007-2009 B. Malengier
# Copyright (C) 2008 Lukasz Rymarczyk
# Copyright (C) 2008 Raphael Ackermann
# Copyright (C) 2008 Brian G. Matherly
# Copyright (C) 2010 Jakim Friant
# Copyright (C) 2012 Doug Blank
# Copyright (C) 2012 Paul Franklin
#
# 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$
"""
Module responsible for handling the command line arguments for GRAMPS.
"""
#-------------------------------------------------------------------------
#
# Standard python modules
#
#-------------------------------------------------------------------------
from __future__ import print_function
import os
import sys
from gramps.gen.ggettext import gettext as _
#-------------------------------------------------------------------------
#
# gramps modules
#
#-------------------------------------------------------------------------
from gramps.gen.recentfiles import recent_files
from gramps.gen.utils.file import (rm_tempdir, get_empty_tempdir,
get_unicode_path_from_env_var)
from gramps.gen.db import DbBsddb
from .clidbman import CLIDbManager, NAME_FILE, find_locker_name
from gramps.gen.plug import BasePluginManager
from gramps.gen.plug.report import CATEGORY_BOOK, CATEGORY_CODE, BookList
from .plug import cl_report, cl_book
from .user import User
#-------------------------------------------------------------------------
#
# private functions
#
#-------------------------------------------------------------------------
def _split_options(options_str):
"""
Split the options for the action.
Rules:
* Entries in the list of options are separated by commas without
spaces between entries
* List values must be inclosed in brackets ("[" and "]")
* Entries within a list value are separated by commas
* Text values (as a value or as entries in a list) do not have to be
enclosed in quotes unless they include commas or quotation marks.
* Text containing double quotes must be contained in single quotes
* Text containing single quotes must be contained in double quotes
* Text cannot include both single and double quotes
Examples:
* Multiple options specified:
report -p 'name=ancestor_chart,father_disp=["$n born $b"]'
* Using text with commas and quotes:
title="This is some text with ,s and 's"
title='This is some text with ,s and "s'
* Using a list of text
textlist=[row1,row2,"row3 with ' and ,"]
"""
name = ""
value = ""
parsing_value = False
in_quotes = False
in_list = False
quote_type = ""
options_str_dict = {}
for char in options_str:
if not parsing_value:
# Parsing the name of the option
if char == "=":
#print char, "This value ends the name"
parsing_value = True
else:
#print char, "This value is part of the name"
name += char
else:
# Parsing the value of the option
if value == "" and char == '[':
#print char, "This character begins a list"
in_list = True
value += char
elif in_list == True and char == ']':
#print char, "This character ends the list"
in_list = False
value += char
elif not in_quotes and ( char == '"' or char == "'"):
#print char, "This character starts a quoted string"
in_quotes = True
quote_type = char
value += char
elif in_quotes and char == quote_type:
#print char, "This character ends a quoted string"
in_quotes = False
value += char
elif not in_quotes and not in_list and char == ",":
#print char, "This character ends the value of the option"
options_str_dict[name] = value
name = ""
value = ""
parsing_value = False
in_quotes = False
in_list = False
else:
#print char, "This character is part of the value"
value += char
if parsing_value and not in_quotes and not in_list:
# Add the last option
options_str_dict[name] = value
return options_str_dict
#-------------------------------------------------------------------------
# ArgHandler
#-------------------------------------------------------------------------
class ArgHandler(object):
"""
This class is responsible for the non GUI handling of commands.
The handler is passed a parser object, sanitizes it, and can execute the
actions requested working on a DbState.
"""
def __init__(self, dbstate, parser, sessionmanager,
errorfunc=None, gui=False):
self.dbstate = dbstate
self.sm = sessionmanager
self.errorfunc = errorfunc
self.gui = gui
if self.gui:
self.actions = []
self.list = False
self.list_more = False
self.open_gui = None
else:
self.actions = parser.actions
self.list = parser.list
self.list_more = parser.list_more
self.open_gui = parser.open_gui
self.imp_db_path = None
self.dbman = CLIDbManager(self.dbstate)
self.force_unlock = parser.force_unlock
self.cl = 0
self.imports = []
self.exports = []
self.open = self.__handle_open_option(parser.open, parser.create)
self.sanitize_args(parser.imports, parser.exports)
def __error(self, msg1, msg2=None):
"""
Output an error. Uses errorfunc if given, otherwise a simple print.
"""
if self.errorfunc:
self.errorfunc(msg1)
else:
# Need to convert to system file encoding before printing
# For non latin characters in path/file/user names
print(msg1.encode(sys.getfilesystemencoding()), file=sys.stderr)
if msg2 is not None:
print(msg2.encode(sys.getfilesystemencoding()), file=sys.stderr)
#-------------------------------------------------------------------------
# Argument parser: sorts out given arguments
#-------------------------------------------------------------------------
def sanitize_args(self, importlist, exportlist):
"""
Check the lists with open, exports, imports, and actions options.
"""
for (value, family_tree_format) in importlist:
self.__handle_import_option(value, family_tree_format)
for (value, family_tree_format) in exportlist:
self.__handle_export_option(value, family_tree_format)
def __handle_open_option(self, value, create):
"""
Handle the "-O" or "--open" and "-C" or "--create" options.
Only Family trees or a dir with a family tree can be opened.
If create is True, then create the tree if it doesn't exist.
"""
if value is None:
return None
value = get_unicode_path_from_env_var(value)
db_path = self.__deduce_db_path(value)
if db_path:
# We have a potential database path.
# Check if it is good.
if not self.check_db(db_path, self.force_unlock):
sys.exit(0)
if create:
self.__error( _("Error: Family tree '%s' already exists.\n"
"The '-C' option cannot be used.") % value)
sys.exit(0)
return db_path
elif create:
# create the tree here, and continue
db_path, title = self.dbman.create_new_db_cli(title=value)
return db_path
else:
self.__error( _('Error: Input family tree "%s" does not exist.\n'
"If GEDCOM, Gramps-xml or grdb, use the -i option "
"to import into a family tree instead.") % value)
sys.exit(0)
def __handle_import_option(self, value, family_tree_format):
"""
Handle the "-i" or "--import" option.
Only Files supported by a plugin can be imported, so not Family Trees.
"""
# Need to convert path/filename to unicode before opening
# For non latin characters in Windows path/file/user names
value = get_unicode_path_from_env_var(value)
fname = value
fullpath = os.path.abspath(os.path.expanduser(fname))
if fname != '-' and not os.path.exists(fullpath):
self.__error(_('Error: Import file %s not found.') % fname)
sys.exit(0)
if family_tree_format is None:
# Guess the file format based on the file extension.
# This will get the lower case extension without a period,
# or an empty string.
family_tree_format = os.path.splitext(fname)[-1][1:].lower()
pmgr = BasePluginManager.get_instance()
plugin_found = False
for plugin in pmgr.get_import_plugins():
if family_tree_format == plugin.get_extension():
plugin_found = True
if plugin_found:
self.imports.append((fname, family_tree_format))
else:
self.__error(_('Error: Unrecognized type: "%(format)s" for '
'import file: %(filename)s') %
{'format' : family_tree_format,
'filename' : fname})
sys.exit(0)
def __handle_export_option(self, value, family_tree_format):
"""
Handle the "-e" or "--export" option.
Note: this can only happen in the CLI version.
"""
if self.gui:
return
# Need to convert path/filename to unicode before opening
# For non latin characters in Windows path/file/user names
value = get_unicode_path_from_env_var(value)
fname = value
if fname == '-':
fullpath = '-'
else:
fullpath = os.path.abspath(os.path.expanduser(fname))
if os.path.exists(fullpath):
self.__error(_("WARNING: Output file already exists!\n"
"WARNING: It will be overwritten:\n %s") %
fullpath)
answer = None
while not answer:
try:
if sys.version_info[0] < 3:
ask = raw_input
else:
ask = input
ans = ask(_('OK to overwrite? (yes/no) ') \
.encode(sys.getfilesystemencoding()))
except EOFError:
print()
sys.exit(0)
if ans.upper() in ('Y', 'YES', _('YES').upper()):
self.__error( _("Will overwrite the existing file: %s")
% fullpath)
answer = "ok"
else:
sys.exit(0)
if family_tree_format is None:
# Guess the file format based on the file extension.
# This will get the lower case extension without a period,
# or an empty string.
family_tree_format = os.path.splitext(fname)[-1][1:].lower()
pmgr = BasePluginManager.get_instance()
plugin_found = False
for plugin in pmgr.get_export_plugins():
if family_tree_format == plugin.get_extension():
plugin_found = True
if plugin_found:
self.exports.append((fullpath, family_tree_format))
else:
self.__error(_("ERROR: Unrecognized format for export file %s")
% fname)
sys.exit(0)
def __deduce_db_path(self, db_name_or_path):
"""
Attempt to find a database path for the given parameter.
@return: The path to a Gramps DB
or None if a database can not be deduced.
"""
# First, check if this is the name of a family tree
db_path = self.dbman.get_family_tree_path(db_name_or_path)
if db_path is None:
# This is not a known database name.
# Check if the user provided a db path instead.
fullpath = os.path.abspath(os.path.expanduser(db_name_or_path))
if os.path.isdir(fullpath):
# The user provided a directory. Check if it is a valid tree.
name_file_path = os.path.join(fullpath, NAME_FILE)
if os.path.isfile(name_file_path):
db_path = fullpath
return db_path
#-------------------------------------------------------------------------
# Overall argument handler:
# sorts out the sequence and details of operations
#-------------------------------------------------------------------------
def handle_args_gui(self):
"""
method to handle the arguments that can be given for a GUI session.
Returns the filename of the family tree that should be opened if
user just passed a famtree or a filename
1/no options: a family tree can be given, if so, this name is
tested and returned. If a filename, it is imported
in a new db and name of new db returned
2/an open and/or import option can have been given, if so, this
is handled, and None is returned
"""
if self.open_gui:
# First check if a Gramps database was provided
# (either a database path or a database name)
db_path = self.__deduce_db_path(self.open_gui)
if not db_path:
# Apparently it is not a database. See if it is a file that
# can be imported.
db_path, title = self.dbman.import_new_db(self.open_gui, None)
if db_path:
# Test if not locked or problematic
if not self.check_db(db_path, self.force_unlock):
sys.exit(0)
# Add the file to the recent items
path = os.path.join(db_path, "name.txt")
try:
ifile = open(path)
title = ifile.readline().strip()
ifile.close()
except:
title = db_path
recent_files(db_path, title)
self.open = db_path
self.__open_action()
else:
sys.exit(0)
return db_path
# if not open_gui, parse any command line args. We can only have one
# open argument, and perhaps some import arguments
self.__open_action()
self.__import_action()
return None
def handle_args_cli(self, cleanup=True):
"""
Depending on the given arguments, import or open data, launch
session, write files, and/or perform actions.
@param: climan: the manager of a CLI session
@type: CLIManager object
"""
if self.list:
print(_('List of known family trees in your database path\n').\
encode(sys.getfilesystemencoding()))
for name, dirname in sorted(self.dbman.family_tree_list(),
key=lambda pair: pair[0].lower()):
print((_("%(full_DB_path)s with name \"%(f_t_name)s\"") % \
{'full_DB_path' : dirname,
'f_t_name' : name}).encode(sys.getfilesystemencoding()))
sys.exit(0)
if self.list_more:
print(_('Gramps Family Trees:').encode(sys.getfilesystemencoding()))
summary_list = self.dbman.family_tree_summary()
for summary in sorted(summary_list,
key=lambda sum: sum["Family tree"].lower()):
print(_("Family Tree \"%s\":").\
encode(sys.getfilesystemencoding()) % summary["Family tree"])
for item in sorted(summary):
if item != "Family tree":
print((" %s: %s" % (item, summary[item])).\
encode(sys.getfilesystemencoding()))
sys.exit(0)
self.__open_action()
self.__import_action()
for (action, op_string) in self.actions:
print(_("Performing action: %s.") % action, file=sys.stderr)
if op_string:
print(_("Using options string: %s") % op_string, file=sys.stderr)
self.cl_action(action, op_string)
for expt in self.exports:
# Need to convert path/filename to str before printing
# For non latin characters in Windows path/file/user names
fn = expt[0].encode(sys.getfilesystemencoding())
fmt = str(expt[1])
print(_("Exporting: file %(filename)s, "
"format %(format)s.") % \
{'filename' : fn,
'format' : fmt}, file=sys.stderr)
self.cl_export(expt[0], expt[1])
if cleanup:
self.cleanup()
print(_("Exiting."), file=sys.stderr)
sys.exit(0)
def cleanup(self):
print(_("Cleaning up."), file=sys.stderr)
# remove files in import db subdir after use
self.dbstate.db.close()
if self.imp_db_path:
rm_tempdir(self.imp_db_path)
def __import_action(self):
"""
Take action for all given import files. Note: Family trees are
not supported.
If a family tree is open, the import happens on top of it. If not
open, a new family tree is created, and the import done. If this
is CLI, the created tree is deleted at the end (as some action will
have happened that is now finished), if this is GUI, it is opened.
"""
if self.imports:
self.cl = bool(self.exports or self.actions or self.cl)
if not self.open:
# Create empty dir for imported database(s)
if self.gui:
self.imp_db_path, title = self.dbman.create_new_db_cli()
else:
self.imp_db_path = get_empty_tempdir("import_dbdir") \
.encode(sys.getfilesystemencoding())
newdb = DbBsddb()
newdb.write_version(self.imp_db_path)
try:
self.sm.open_activate(self.imp_db_path)
msg = _("Created empty family tree successfully")
print(msg, file=sys.stderr)
except:
print(_("Error opening the file."), file=sys.stderr)
print(_("Exiting..."), file=sys.stderr)
sys.exit(0)
for imp in self.imports:
fn = imp[0].encode(sys.getfilesystemencoding())
fmt = str(imp[1])
msg = _("Importing: file %(filename)s, format %(format)s.") % \
{'filename' : fn, 'format' : fmt}
print(msg, file=sys.stderr)
self.cl_import(imp[0], imp[1])
def __open_action(self):
"""
Take action on a family tree dir to open. It will be opened in the
session manager
"""
if self.open:
# Family Tree to open was given. Open it
# Then go on and process the rest of the command line arguments.
self.cl = bool(self.exports or self.actions)
# we load this file for use
try:
self.sm.open_activate(self.open)
print(_("Opened successfully!"), file=sys.stderr)
except:
print(_("Error opening the file."), file=sys.stderr)
print(_("Exiting..."), file=sys.stderr)
sys.exit(0)
def check_db(self, dbpath, force_unlock = False):
"""
Test a given family tree path if it can be opened.
"""
# Test if not locked or problematic
if force_unlock:
self.dbman.break_lock(dbpath)
if self.dbman.is_locked(dbpath):
self.__error((_("Database is locked, cannot open it!") + '\n' +
_(" Info: %s")) % find_locker_name(dbpath))
return False
if self.dbman.needs_recovery(dbpath):
self.__error( _("Database needs recovery, cannot open it!"))
return False
return True
#-------------------------------------------------------------------------
#
# Import handler
#
#-------------------------------------------------------------------------
def cl_import(self, filename, family_tree_format):
"""
Command-line import routine.
Try to import filename using the family_tree_format.
"""
pmgr = BasePluginManager.get_instance()
for plugin in pmgr.get_import_plugins():
if family_tree_format == plugin.get_extension():
import_function = plugin.get_import_function()
import_function(self.dbstate.db, filename, User())
if not self.cl:
if self.imp_db_path:
return self.sm.open_activate(self.imp_db_path)
else:
return self.sm.open_activate(self.open)
#-------------------------------------------------------------------------
#
# Export handler
#
#-------------------------------------------------------------------------
def cl_export(self, filename, family_tree_format):
"""
Command-line export routine.
Try to write into filename using the family_tree_format.
"""
pmgr = BasePluginManager.get_instance()
for plugin in pmgr.get_export_plugins():
if family_tree_format == plugin.get_extension():
export_function = plugin.get_export_function()
export_function(self.dbstate.db, filename, User(error=self.__error))
#-------------------------------------------------------------------------
#
# Action handler
#
#-------------------------------------------------------------------------
def cl_action(self, action, options_str):
"""
Command-line action routine. Try to perform specified action.
"""
pmgr = BasePluginManager.get_instance()
if action == "report":
try:
options_str_dict = _split_options(options_str)
except:
options_str_dict = {}
print(_("Ignoring invalid options string."), file=sys.stderr)
name = options_str_dict.pop('name', None)
_cl_list = pmgr.get_reg_reports(gui=False)
if name:
for pdata in _cl_list:
if name == pdata.id:
mod = pmgr.load_plugin(pdata)
if not mod:
#import of plugin failed
return
category = pdata.category
report_class = eval('mod.' + pdata.reportclass)
options_class = eval('mod.' + pdata.optionclass)
if category in (CATEGORY_BOOK, CATEGORY_CODE):
options_class(self.dbstate.db, name, category,
options_str_dict)
else:
cl_report(self.dbstate.db, name, category,
report_class, options_class,
options_str_dict)
return
# name exists, but is not in the list of valid report names
msg = _("Unknown report name.")
else:
msg = _("Report name not given. "
"Please use one of %(donottranslate)s=reportname") % \
{'donottranslate' : '[-p|--options] name'}
print(_("%s\n Available names are:") % msg, file=sys.stderr)
for pdata in sorted(_cl_list, key= lambda pdata: pdata.id.lower()):
# Print cli report name ([item[0]), GUI report name (item[4])
if len(pdata.id) <= 25:
print(" %s%s- %s" % ( pdata.id, " " * (26 - len(pdata.id)),
pdata.name.encode(sys.getfilesystemencoding())), file=sys.stderr)
else:
print(" %s\t- %s" % (pdata.id,
pdata.name.encode(sys.getfilesystemencoding())), file=sys.stderr)
elif action == "tool":
from gramps.gui.plug import tool
try:
options_str_dict = dict( [ tuple(chunk.split('=')) for
chunk in options_str.split(',') ] )
except:
options_str_dict = {}
print(_("Ignoring invalid options string."), file=sys.stderr)
name = options_str_dict.pop('name', None)
_cli_tool_list = pmgr.get_reg_tools(gui=False)
if name:
for pdata in _cli_tool_list:
if name == pdata.id:
mod = pmgr.load_plugin(pdata)
if not mod:
#import of plugin failed
return
category = pdata.category
tool_class = eval('mod.' + pdata.toolclass)
options_class = eval('mod.' + pdata.optionclass)
tool.cli_tool(self.dbstate, name, category, tool_class,
options_class, options_str_dict)
return
msg = _("Unknown tool name.")
else:
msg = _("Tool name not given. "
"Please use one of %(donottranslate)s=toolname.") % \
{'donottranslate' : '[-p|--options] name'}
print(_("%s\n Available names are:") % msg, file=sys.stderr)
for pdata in sorted(_cli_tool_list,
key=lambda pdata: pdata.id.lower()):
# Print cli report name ([item[0]), GUI report name (item[4])
if len(pdata.id) <= 25:
print(" %s%s- %s" % ( pdata.id, " " * (26 - len(pdata.id)),
pdata.name.encode(sys.getfilesystemencoding())), file=sys.stderr)
else:
print(" %s\t- %s" % (pdata.id,
pdata.name.encode(sys.getfilesystemencoding())), file=sys.stderr)
elif action == "book":
try:
options_str_dict = _split_options(options_str)
except:
options_str_dict = {}
print(_("Ignoring invalid options string."), file=sys.stderr)
name = options_str_dict.pop('name', None)
book_list = BookList('books.xml', self.dbstate.db)
if name:
if name in book_list.get_book_names():
cl_book(self.dbstate.db, name, book_list.get_book(name),
options_str_dict)
return
msg = _("Unknown book name.")
else:
msg = _("Book name not given. "
"Please use one of %(donottranslate)s=bookname.") % \
{'donottranslate' : '[-p|--options] name'}
print(_("%s\n Available names are:") % msg, file=sys.stderr)
for name in sorted(book_list.get_book_names()):
print(" %s" % name, file=sys.stderr)
else:
print(_("Unknown action: %s.") % action, file=sys.stderr)
sys.exit(0)

View File

@ -1,415 +0,0 @@
# -*- coding: utf-8 -*-
#
# Gramps - a GTK+/GNOME based genealogy program
#
# Copyright (C) 2000-2006 Donald N. Allingham, A. Roitman
# Copyright (C) 2007-2009 B. Malengier
# Copyright (C) 2008 Lukasz Rymarczyk
# Copyright (C) 2008 Raphael Ackermann
# Copyright (C) 2008 Brian G. Matherly
# Copyright (C) 2012 Doug Blank
# Copyright (C) 2012 Paul Franklin
#
# 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$
"""
Module responsible for handling the command line arguments for GRAMPS.
"""
#-------------------------------------------------------------------------
#
# Standard python modules
#
#-------------------------------------------------------------------------
from __future__ import print_function
import sys
import getopt
from gramps.gen.ggettext import gettext as _
import logging
#-------------------------------------------------------------------------
#
# gramps modules
#
#-------------------------------------------------------------------------
from gramps.gen.const import LONGOPTS, SHORTOPTS
from gramps.gen.config import config
from gramps.gen.utils.configmanager import safe_eval
from gramps.gen.utils.file import get_unicode_path_from_env_var
# Note: Make sure to edit const.py.in POPT_TABLE too!
_HELP = _("""
Usage: gramps.py [OPTION...]
--load-modules=MODULE1,MODULE2,... Dynamic modules to load
Help options
-?, --help Show this help message
--usage Display brief usage message
Application options
-O, --open=FAMILY_TREE Open family tree
-C, --create=FAMILY_TREE Create on open if new family tree
-i, --import=FILENAME Import file
-e, --export=FILENAME Export file
-f, --format=FORMAT Specify family tree format
-a, --action=ACTION Specify action
-p, --options=OPTIONS_STRING Specify options
-d, --debug=LOGGER_NAME Enable debug logs
-l List Family Trees
-L List Family Trees in Detail
-u, --force-unlock Force unlock of family tree
-s, --show Show config settings
-c, --config=[config.setting[:value]] Set config setting(s) and start Gramps
-v, --version Show versions
""")
_USAGE = _("""
Example of usage of Gramps command line interface
1. To import four databases (whose formats can be determined from their names)
and then check the resulting database for errors, one may type:
gramps -i file1.ged -i file2.gpkg -i ~/db3.gramps -i file4.wft -a tool -p name=check.
2. To explicitly specify the formats in the above example, append filenames with appropriate -f options:
gramps -i file1.ged -f gedcom -i file2.gpkg -f gramps-pkg -i ~/db3.gramps -f gramps-xml -i file4.wft -f wft -a tool -p name=check.
3. To record the database resulting from all imports, supply -e flag
(use -f if the filename does not allow Gramps to guess the format):
gramps -i file1.ged -i file2.gpkg -e ~/new-package -f gramps-pkg
4. To save any error messages of the above example into files outfile and errfile, run:
gramps -i file1.ged -i file2.dpkg -e ~/new-package -f gramps-pkg >outfile 2>errfile
5. To import three databases and start interactive Gramps session with the result:
gramps -i file1.ged -i file2.gpkg -i ~/db3.gramps
6. To open a database and, based on that data, generate timeline report in PDF format
putting the output into the my_timeline.pdf file:
gramps -O 'Family Tree 1' -a report -p name=timeline,off=pdf,of=my_timeline.pdf
7. To generate a summary of a database:
gramps -O 'Family Tree 1' -a report -p name=summary
8. Listing report options
Use the name=timeline,show=all to find out about all available options for the timeline report.
To find out details of a particular option, use show=option_name , e.g. name=timeline,show=off string.
To learn about available report names, use name=show string.
9. To convert a family tree on the fly to a .gramps xml file:
gramps -O 'Family Tree 1' -e output.gramps -f gramps-xml
10. To generate a web site into an other locale (in german):
LANGUAGE=de_DE; LANG=de_DE.UTF-8 gramps -O 'Family Tree 1' -a report -p name=navwebpage,target=/../de
11. Finally, to start normal interactive session type:
gramps
Note: These examples are for bash shell.
Syntax may be different for other shells and for Windows.
""")
#-------------------------------------------------------------------------
# ArgParser
#-------------------------------------------------------------------------
class ArgParser(object):
"""
This class is responsible for parsing the command line arguments (if any)
given to gramps, and determining if a GUI or a CLI session must be started.
The valid arguments are:
Possible:
1/ FAMTREE : Just the family tree (name or database dir)
2/ -O, --open=FAMTREE, Open of a family tree
3/ -i, --import=FILE, Import a family tree of any format understood
by an importer, optionally provide -f to indicate format
4/ -e, --export=FILE, export a family tree in required format,
optionally provide -f to indicate format
5/ -f, --format=FORMAT : format after a -i or -e option
6/ -a, --action: An action (possible: 'report', 'tool')
7/ -p, --options=OPTIONS_STRING : specify options
8/ -u, --force-unlock: A locked database can be unlocked by giving
this argument when opening it
If the filename (no flags) is specified, the interactive session is
launched using data from filename.
In this mode (filename, no flags), the rest of the arguments is ignored.
This is a mode suitable by default for GUI launchers, mime type handlers,
and the like
If no filename or -i option is given, a new interactive session (empty
database) is launched, since no data is given anyway.
If -O or -i option is given, but no -e or -a options are given, an
interactive session is launched with the FILE (specified with -i).
If both input (-O or -i) and processing (-e or -a) options are given,
interactive session will not be launched.
"""
def __init__(self, args):
"""
Pass the command line arguments on creation.
"""
self.args = args
self.open_gui = None
self.open = None
self.exports = []
self.actions = []
self.imports = []
self.imp_db_path = None
self.list = False
self.list_more = False
self.help = False
self.usage = False
self.force_unlock = False
self.create = None
self.runqml = False
self.errors = []
self.parse_args()
#-------------------------------------------------------------------------
# Argument parser: sorts out given arguments
#-------------------------------------------------------------------------
def parse_args(self):
"""
Fill in lists with open, exports, imports, and actions options.
Any errors are added to self.errors
Possible:
1/ Just the family tree (name or database dir)
2/ -O, --open: Open of a family tree
3/ -i, --import: Import a family tree of any format understood by
an importer, optionally provide -f to indicate format
4/ -e, --export: export a family tree in required format, optionally
provide -f to indicate format
5/ -f, --format=FORMAT : format after a -i or -e option
6/ -a, --action: An action (possible: 'report', 'tool')
7/ -p, --options=OPTIONS_STRING : specify options
8/ -u, --force-unlock: A locked database can be unlocked by giving
this argument when opening it
9/ -s --show : Show config settings
10/ -c --config=config.setting:value : Set config.setting and start
Gramps without :value, the actual config.setting is shown
"""
try:
# Convert arguments to unicode, otherwise getopt will not work
# if a non latin character is used as an option (by mistake).
# getopt will try to treat the first char in an utf-8 sequence. Example:
# -Ärik is '-\xc3\x84rik' and getopt will respond :
# option -\xc3 not recognized
for arg in range(len(self.args) - 1):
self.args[arg+1] = get_unicode_path_from_env_var(self.args[arg + 1])
options, leftargs = getopt.getopt(self.args[1:],
SHORTOPTS, LONGOPTS)
except getopt.GetoptError as msg:
# Extract the arguments in the list.
# The % operator replaces the list elements with repr() of the list elemements
# which is OK for latin characters, but not for non latin characters in list elements
cliargs = "[ "
for arg in range(len(self.args) - 1):
cliargs += self.args[arg + 1] + " "
cliargs += "]"
# Must first do str() of the msg object.
msg = str(msg)
self.errors += [(_('Error parsing the arguments'),
msg + '\n' +
_("Error parsing the arguments: %s \n"
"Type gramps --help for an overview of commands, or "
"read the manual pages.") % cliargs)]
return
if leftargs:
# if there were an argument without option,
# use it as a file to open and return
self.open_gui = leftargs[0]
print ("Trying to open: %s ..." % leftargs[0], file=sys.stderr)
#see if force open is on
for opt_ix in range(len(options)):
option, value = options[opt_ix]
if option in ('-u', '--force-unlock'):
self.force_unlock = True
break
return
# Go over all given option and place them into appropriate lists
cleandbg = []
need_to_quit = False
for opt_ix in range(len(options)):
option, value = options[opt_ix]
if option in ( '-O', '--open'):
self.open = value
elif option in ( '-C', '--create'):
self.create = value
elif option in ( '-i', '--import'):
family_tree_format = None
if opt_ix < len(options) - 1 \
and options[opt_ix + 1][0] in ( '-f', '--format'):
family_tree_format = options[opt_ix + 1][1]
self.imports.append((value, family_tree_format))
elif option in ( '-e', '--export' ):
family_tree_format = None
if opt_ix < len(options) - 1 \
and options[opt_ix + 1][0] in ( '-f', '--format'):
family_tree_format = options[opt_ix + 1][1]
self.exports.append((value, family_tree_format))
elif option in ( '-a', '--action' ):
action = value
if action not in ('report', 'tool', 'book'):
print ("Unknown action: %s. Ignoring." % action, file=sys.stderr)
continue
options_str = ""
if opt_ix < len(options)-1 \
and options[opt_ix+1][0] in ( '-p', '--options' ):
options_str = options[opt_ix+1][1]
self.actions.append((action, options_str))
elif option in ('-d', '--debug'):
print ('setup debugging', value, file=sys.stderr)
logger = logging.getLogger(value)
logger.setLevel(logging.DEBUG)
cleandbg += [opt_ix]
elif option in ('-l'):
self.list = True
elif option in ('-L'):
self.list_more = True
elif option in ('-s','--show'):
print ("Gramps config settings from %s:" % \
config.filename.encode(sys.getfilesystemencoding()))
for section in config.data:
for setting in config.data[section]:
print ("%s.%s=%s" % (
section, setting,
repr(config.data[section][setting])))
print ('')
sys.exit(0)
elif option in ('-c', '--config'):
setting_name = value
set_value = False
if setting_name:
if ":" in setting_name:
setting_name, new_value = setting_name.split(":", 1)
set_value = True
if config.has_default(setting_name):
setting_value = config.get(setting_name)
print ("Current Gramps config setting: " \
"%s:%s" % (setting_name, repr(setting_value)), file=sys.stderr)
if set_value:
if new_value == "DEFAULT":
new_value = config.get_default(setting_name)
else:
new_value = safe_eval(new_value)
config.set(setting_name, new_value)
print (" New Gramps config " \
"setting: %s:%s" % (
setting_name,
repr(config.get(setting_name))
), file=sys.stderr)
else:
need_to_quit = True
else:
print ("Gramps: no such config setting:" \
" '%s'" % setting_name, file=sys.stderr)
need_to_quit = True
cleandbg += [opt_ix]
elif option in ('-h', '-?', '--help'):
self.help = True
elif option in ('-u', '--force-unlock'):
self.force_unlock = True
elif option in ('--usage'):
self.usage = True
elif option in ('--qml'):
self.runqml = True
#clean options list
cleandbg.reverse()
for ind in cleandbg:
del options[ind]
if len(options) > 0 and self.open is None and self.imports == [] \
and not (self.list or self.list_more or self.help or self.runqml):
# Extract and convert to unicode the arguments in the list.
# The % operator replaces the list elements with repr() of
# the list elements, which is OK for latin characters
# but not for non-latin characters in list elements
cliargs = "[ "
for arg in range(len(self.args) - 1):
cliargs += get_unicode_path_from_env_var(self.args[arg + 1]) + " "
cliargs += "]"
self.errors += [(_('Error parsing the arguments'),
_("Error parsing the arguments: %s \n"
"To use in the command-line mode, supply at "
"least one input file to process.") % cliargs)]
if need_to_quit:
sys.exit(0)
#-------------------------------------------------------------------------
# Determine the need for GUI
#-------------------------------------------------------------------------
def need_gui(self):
"""
Determine whether we need a GUI session for the given tasks.
"""
if self.errors:
#errors in argument parsing ==> give cli error, no gui needed
return False
if self.list or self.list_more or self.help:
return False
if self.open_gui:
# No-option argument, definitely GUI
return True
# If we have data to work with:
if (self.open or self.imports):
if (self.exports or self.actions):
# have both data and what to do with it => no GUI
return False
elif self.create:
if self.open: # create an empty DB, open a GUI to fill it
return True
else: # create a DB, then do the import, with no GUI
self.open = self.create
return False
else:
# data given, but no action/export => GUI
return True
# No data, can only do GUI here
return True
def print_help(self):
"""
If the user gives the --help or -h option, print the output to terminal.
"""
if self.help:
# Convert Help messages to file system encoding before printing
print (_HELP.encode(sys.getfilesystemencoding()))
sys.exit(0)
def print_usage(self):
"""
If the user gives the --usage print the output to terminal.
"""
if self.usage:
# Convert Help messages to file system encoding before printing
print (_USAGE.encode(sys.getfilesystemencoding()))
sys.exit(0)

View File

@ -1,494 +0,0 @@
#
# Gramps - a GTK+/GNOME based genealogy program
#
# Copyright (C) 2000-2007 Donald N. Allingham
# Copyright (C) 2009 Brian G. Matherly
# Copyright (C) 2009 Gary Burton
#
# 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$
"""
Provide the management of databases from CLI. This includes opening, renaming,
creating, and deleting of databases.
"""
#-------------------------------------------------------------------------
#
# Standard python modules
#
#-------------------------------------------------------------------------
from __future__ import print_function
import os
import sys
import time
if sys.version_info[0] < 3:
from urlparse import urlparse
from urllib2 import urlopen, url2pathname
else:
from urllib.parse import urlparse
from urllib.request import urlopen, url2pathname
import tempfile
from gramps.gen.ggettext import gettext as _
#-------------------------------------------------------------------------
#
# set up logging
#
#-------------------------------------------------------------------------
import logging
LOG = logging.getLogger(".clidbman")
#-------------------------------------------------------------------------
#
# gramps modules
#
#-------------------------------------------------------------------------
from gramps.gen.db import DbBsddb
from gramps.gen.plug import BasePluginManager
from gramps.gen.config import config
from gramps.gen.constfunc import win, conv_to_unicode
#-------------------------------------------------------------------------
#
# constants
#
#-------------------------------------------------------------------------
DEFAULT_TITLE = _("Family Tree")
NAME_FILE = "name.txt"
META_NAME = "meta_data.db"
#-------------------------------------------------------------------------
#
# functions
#
#-------------------------------------------------------------------------
def _errordialog(title, errormessage):
"""
Show the error. A title for the error and an errormessage
"""
print(_('ERROR: %(title)s \n %(message)s') % {
'title': title,
'message': errormessage})
sys.exit()
#-------------------------------------------------------------------------
#
# CLIDbManager
#
#-------------------------------------------------------------------------
class CLIDbManager(object):
"""
Database manager without GTK functionality, allows users to create and
open databases
"""
IND_NAME = 0
IND_PATH = 1
IND_PATH_NAMEFILE = 2
IND_TVAL_STR = 3
IND_TVAL = 4
IND_USE_ICON_BOOL = 5
IND_STOCK_ID =6
ICON_NONE = 0
ICON_RECOVERY = 1
ICON_LOCK = 2
ICON_OPEN = 3
ICON_MAP = {
ICON_NONE : None,
ICON_RECOVERY : None,
ICON_LOCK : None,
ICON_OPEN : None,
}
ERROR = _errordialog
def __init__(self, dbstate):
self.dbstate = dbstate
self.msg = None
if dbstate:
self.active = dbstate.db.get_save_path()
else:
self.active = None
self.current_names = []
if dbstate:
self._populate_cli()
def empty(self, val):
"""Callback that does nothing
"""
pass
def get_dbdir_summary(self, file_name):
"""
Returns (people_count, version_number) of current DB.
Returns ("Unknown", "Unknown") if invalid DB or other error.
"""
if config.get('preferences.use-bsddb3') or sys.version_info[0] >= 3:
from bsddb3 import dbshelve, db
else:
from bsddb import dbshelve, db
from gramps.gen.db import META, PERSON_TBL
env = db.DBEnv()
flags = db.DB_CREATE | db.DB_PRIVATE |\
db.DB_INIT_MPOOL | db.DB_INIT_LOCK |\
db.DB_INIT_LOG | db.DB_INIT_TXN | db.DB_THREAD
try:
env.open(file_name, flags)
except:
return "Unknown", "Unknown"
dbmap1 = dbshelve.DBShelf(env)
fname = os.path.join(file_name, META + ".db")
try:
dbmap1.open(fname, META, db.DB_HASH, db.DB_RDONLY)
except:
return "Unknown", "Unknown"
version = dbmap1.get('version', default=None)
dbmap1.close()
dbmap2 = dbshelve.DBShelf(env)
fname = os.path.join(file_name, PERSON_TBL + ".db")
try:
dbmap2.open(fname, PERSON_TBL, db.DB_HASH, db.DB_RDONLY)
except:
env.close()
return "Unknown", "Unknown"
count = len(dbmap2)
dbmap2.close()
env.close()
return (count, version)
def family_tree_summary(self):
"""
Return a list of dictionaries of the known family trees.
"""
# make the default directory if it does not exist
list = []
for item in self.current_names:
(name, dirpath, path_name, last,
tval, enable, stock_id) = item
count, version = self.get_dbdir_summary(dirpath)
retval = {}
retval["Number of people"] = count
if enable:
retval["Locked?"] = "yes"
else:
retval["Locked?"] = "no"
retval["DB version"] = version
if sys.version_info[0] < 3:
retval["Family tree"] = name.encode(sys.getfilesystemencoding())
else:
retval["Family tree"] = name
retval["Path"] = dirpath
retval["Last accessed"] = time.strftime('%x %X',
time.localtime(tval))
list.append( retval )
return list
def _populate_cli(self):
""" Get the list of current names in the database dir
"""
# make the default directory if it does not exist
dbdir = os.path.expanduser(config.get('behavior.database-path'))
if sys.version_info[0] < 3:
dbdir = dbdir.encode(sys.getfilesystemencoding())
db_ok = make_dbdir(dbdir)
self.current_names = []
if db_ok:
for dpath in os.listdir(dbdir):
dirpath = os.path.join(dbdir, dpath)
path_name = os.path.join(dirpath, NAME_FILE)
if os.path.isfile(path_name):
file = open(path_name)
name = file.readline().strip()
(tval, last) = time_val(dirpath)
(enable, stock_id) = self.icon_values(dirpath, self.active,
self.dbstate.db.is_open())
if (stock_id == 'gramps-lock'):
last = find_locker_name(dirpath)
self.current_names.append(
(name, os.path.join(dbdir, dpath), path_name,
last, tval, enable, stock_id))
self.current_names.sort()
def get_family_tree_path(self, name):
"""
Given a name, return None if name not existing or the path to the
database if it is a known database name.
"""
for data in self.current_names:
if data[0] == name:
return data[1]
return None
def family_tree_list(self):
"""Return a list of name, dirname of the known family trees
"""
lst = [(x[0], x[1]) for x in self.current_names]
return lst
def __start_cursor(self, msg):
"""
Do needed things to start import visually, eg busy cursor
"""
print(_('Starting Import, %s') % msg)
def __end_cursor(self):
"""
Set end of a busy cursor
"""
print(_('Import finished...'))
def create_new_db_cli(self, title=None):
"""
Create a new database.
"""
new_path = find_next_db_dir()
os.mkdir(new_path)
path_name = os.path.join(new_path, NAME_FILE)
if title is None:
name_list = [ name[0] for name in self.current_names ]
title = find_next_db_name(name_list)
name_file = open(path_name, "w")
name_file.write(title)
name_file.close()
# write the version number into metadata
newdb = DbBsddb()
newdb.write_version(new_path)
(tval, last) = time_val(new_path)
self.current_names.append((title, new_path, path_name,
last, tval, False, ""))
return new_path, title
def _create_new_db(self, title=None):
"""
Create a new database, do extra stuff needed
"""
return self.create_new_db_cli(title)
def import_new_db(self, filename, user):
"""
Attempt to import the provided file into a new database.
A new database will only be created if an appropriate importer was
found.
@param filename: a fully-qualified path, filename, and
extension to open.
@param user: a cli.User or gui.User instance for managing user
interaction.
@return: A tuple of (new_path, name) for the new database
or (None, None) if no import was performed.
"""
pmgr = BasePluginManager.get_instance()
# Allow URL names here; make temp file if necessary
url = urlparse(filename)
if url.scheme != "":
if url.scheme == "file":
filename = url2pathname(filename[7:])
else:
url_fp = urlopen(filename) # open URL
# make a temp local file:
ext = os.path.splitext(url.path)[1]
fd, filename = tempfile.mkstemp(suffix=ext)
temp_fp = os.fdopen(fd, "w")
# read from URL:
data = url_fp.read()
# write locally:
temp_fp.write(data)
url_fp.close()
temp_fp.close()
(name, ext) = os.path.splitext(os.path.basename(filename))
format = ext[1:].lower()
for plugin in pmgr.get_import_plugins():
if format == plugin.get_extension():
new_path, name = self._create_new_db(name)
# Create a new database
self.__start_cursor(_("Importing data..."))
dbclass = DbBsddb
dbase = dbclass()
dbase.load(new_path, user.callback)
import_function = plugin.get_import_function()
import_function(dbase, filename, user)
# finish up
self.__end_cursor()
dbase.close()
return new_path, name
return None, None
def is_locked(self, dbpath):
"""
returns True if there is a lock file in the dirpath
"""
if os.path.isfile(os.path.join(dbpath,"lock")):
return True
return False
def needs_recovery(self, dbpath):
"""
returns True if the database in dirpath needs recovery
"""
if os.path.isfile(os.path.join(dbpath,"need_recover")):
return True
return False
def rename_database(self, filepath, new_text):
"""
Renames the database by writing the new value to the name.txt file
Returns old_name, new_name if success, None, None if no success
"""
try:
name_file = open(filepath, "r")
old_text=name_file.read()
name_file.close()
name_file = open(filepath, "w")
name_file.write(new_text)
name_file.close()
except (OSError, IOError) as msg:
CLIDbManager.ERROR(_("Could not rename family tree"),
str(msg))
return None, None
return old_text, new_text
def break_lock(self, dbpath):
"""
Breaks the lock on a database
"""
if os.path.exists(os.path.join(dbpath, "lock")):
os.unlink(os.path.join(dbpath, "lock"))
def icon_values(self, dirpath, active, is_open):
"""
If the directory path is the active path, then return values
that indicate to use the icon, and which icon to use.
"""
if os.path.isfile(os.path.join(dirpath,"need_recover")):
return (True, self.ICON_MAP[self.ICON_RECOVERY])
elif dirpath == active and is_open:
return (True, self.ICON_MAP[self.ICON_OPEN])
elif os.path.isfile(os.path.join(dirpath,"lock")):
return (True, self.ICON_MAP[self.ICON_LOCK])
else:
return (False, self.ICON_MAP[self.ICON_NONE])
def make_dbdir(dbdir):
"""
Create the default database directory, as defined by dbdir
"""
try:
if not os.path.isdir(dbdir):
os.makedirs(dbdir)
except (IOError, OSError) as msg:
msg = conv_to_unicode(str(msg), sys.getfilesystemencoding())
LOG.error(_("\nERROR: Wrong database path in Edit Menu->Preferences.\n"
"Open preferences and set correct database path.\n\n"
"Details: Could not make database directory:\n %s\n\n") % msg)
return False
return True
def find_next_db_name(name_list):
"""
Scan the name list, looking for names that do not yet exist.
Use the DEFAULT_TITLE as the basis for the database name.
"""
i = 1
while True:
title = "%s %d" % (DEFAULT_TITLE, i)
if title not in name_list:
return title
i += 1
def find_next_db_dir():
"""
Searches the default directory for the first available default
database name. Base the name off the current time. In all actuality,
the first should be valid.
"""
while True:
base = "%x" % int(time.time())
dbdir = os.path.expanduser(config.get('behavior.database-path'))
if sys.version_info[0] < 3:
dbdir = dbdir.encode(sys.getfilesystemencoding())
new_path = os.path.join(dbdir, base)
if not os.path.isdir(new_path):
break
return new_path
def time_val(dirpath):
"""
Return the last modified time of the database. We do this by looking
at the modification time of the meta db file. If this file does not
exist, we indicate that database as never modified.
"""
meta = os.path.join(dirpath, META_NAME)
if os.path.isfile(meta):
tval = os.stat(meta)[9]
# This gives creation date in Windows, but correct date in Linux
if win():
# Try to use last modified date instead in Windows
# and check that it is later than the creation date.
tval_mod = os.stat(meta)[8]
if tval_mod > tval:
tval = tval_mod
last = time.strftime('%x %X', time.localtime(tval))
else:
tval = 0
last = _("Never")
return (tval, last)
def find_locker_name(dirpath):
"""
Opens the lock file if it exists, reads the contexts which is "USERNAME"
and returns the contents, with correct string before "USERNAME",
so the message can be printed with correct locale.
If a file is encountered with errors, we return 'Unknown'
This data can eg be displayed in the time column of the manager
"""
try:
fname = os.path.join(dirpath, "lock")
ifile = open(fname, 'rb')
username = ifile.read().strip()
# Convert username to unicode according to system encoding
# Otherwise problems with non ASCII characters in
# username in Windows
username = conv_to_unicode(username, sys.getfilesystemencoding())
# feature request 2356: avoid genitive form
last = _("Locked by %s") % username
ifile.close()
except (OSError, IOError):
last = _("Unknown")
return last

View File

@ -1,330 +0,0 @@
#
# Gramps - a GTK+/GNOME based genealogy program
#
# Copyright (C) 2001-2006 Donald N. Allingham
# Copyright (C) 2009 Benny Malengier
#
# 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$
"""
Provides the startcli function, which the main program calls for CLI
execution of GRAMPS.
Provides also two small base classes: CLIDbLoader, CLIManager
"""
#-------------------------------------------------------------------------
#
# Python modules
#
#-------------------------------------------------------------------------
from __future__ import print_function
from gramps.gen.ggettext import gettext as _
import os
import sys
import logging
LOG = logging.getLogger(".grampscli")
#-------------------------------------------------------------------------
#
# GRAMPS modules
#
#-------------------------------------------------------------------------
from gramps.gen.display.name import displayer as name_displayer
from gramps.gen.config import config
from gramps.gen.const import PLUGINS_DIR, USER_PLUGINS
from gramps.gen.errors import DbError
from gramps.gen.dbstate import DbState
from gramps.gen.db import DbBsddb
from gramps.gen.db.exceptions import (DbUpgradeRequiredError,
DbVersionError)
from gramps.gen.plug import BasePluginManager
from gramps.gen.utils.config import get_researcher
from gramps.gen.recentfiles import recent_files
#-------------------------------------------------------------------------
#
# CLI DbLoader class
#
#-------------------------------------------------------------------------
class CLIDbLoader(object):
"""
Base class for Db loading action inside a dbstate. Only the minimum is
present needed for CLI handling
"""
def __init__(self, dbstate):
self.dbstate = dbstate
def _warn(self, title, warnmessage):
"""
Issue a warning message. Inherit for GUI action
"""
print(_('WARNING: %s') % warnmessage)
def _errordialog(self, title, errormessage):
"""
Show the error. A title for the error and an errormessage
Inherit for GUI action
"""
print(_('ERROR: %s') % errormessage)
sys.exit(1)
def _dberrordialog(self, msg):
"""
Show a database error.
@param: msg : an error message
@type: string
@note: Inherit for GUI action
"""
self._errordialog( '', _("Low level database corruption detected")
+ '\n' +
_("Gramps has detected a problem in the underlying "
"Berkeley database. This can be repaired from "
"the Family Tree Manager. Select the database and "
'click on the Repair button') + '\n\n' + str(msg))
def _begin_progress(self):
"""
Convenience method to allow to show a progress bar if wanted on load
actions. Inherit if needed
"""
pass
def _pulse_progress(self, value):
"""
Convenience method to allow to show a progress bar if wanted on load
actions. Inherit if needed
"""
pass
def _end_progress(self):
"""
Convenience method to allow to hide the progress bar if wanted at
end of load actions. Inherit if needed
"""
pass
def read_file(self, filename):
"""
This method takes care of changing database, and loading the data.
In 3.0 we only allow reading of real databases of filetype
'x-directory/normal'
This method should only return on success.
Returning on failure makes no sense, because we cannot recover,
since database has already been changed.
Therefore, any errors should raise exceptions.
On success, return with the disabled signals. The post-load routine
should enable signals, as well as finish up with other UI goodies.
"""
if os.path.exists(filename):
if not os.access(filename, os.W_OK):
mode = "r"
self._warn(_('Read only database'),
_('You do not have write access '
'to the selected file.'))
else:
mode = "w"
else:
mode = 'w'
dbclass = DbBsddb
self.dbstate.change_database(dbclass())
self.dbstate.db.disable_signals()
self._begin_progress()
try:
self.dbstate.db.load(filename, self._pulse_progress, mode)
self.dbstate.db.set_save_path(filename)
except gen.db.exceptions.DbUpgradeRequiredError as msg:
self.dbstate.no_database()
self._errordialog( _("Cannot open database"), str(msg))
except gen.db.exceptions.DbVersionError as msg:
self.dbstate.no_database()
self._errordialog( _("Cannot open database"), str(msg))
except OSError as msg:
self.dbstate.no_database()
self._errordialog(
_("Could not open file: %s") % filename, str(msg))
except Errors.DbError as msg:
self.dbstate.no_database()
self._dberrordialog(msg)
except Exception:
self.dbstate.no_database()
LOG.error("Failed to open database.", exc_info=True)
return True
#-------------------------------------------------------------------------
#
# CLIManager class
#
#-------------------------------------------------------------------------
class CLIManager(object):
"""
Sessionmanager for GRAMPS. This is in effect a reduced viewmanager
instance (see gui/viewmanager), suitable for CLI actions.
Aim is to manage a dbstate on which to work (load, unload), and interact
with the plugin session
"""
def __init__(self, dbstate, setloader):
self.dbstate = dbstate
if setloader:
self.db_loader = CLIDbLoader(self.dbstate)
else:
self.db_loader = None
self.file_loaded = False
self._pmgr = BasePluginManager.get_instance()
def open_activate(self, path):
"""
Open and make a family tree active
"""
self._read_recent_file(path)
def _errordialog(self, title, errormessage):
"""
Show the error. A title for the error and an errormessage
"""
print(_('ERROR: %s') % errormessage)
sys.exit(1)
def _read_recent_file(self, filename):
"""
Called when a file needs to be loaded
"""
# A recent database should already have a directory If not, do nothing,
# just return. This can be handled better if family tree delete/rename
# also updated the recent file menu info in displaystate.py
if not os.path.isdir(filename):
self._errordialog(
_("Could not load a recent Family Tree."),
_("Family Tree does not exist, as it has been deleted."))
return
if self.db_loader.read_file(filename):
# Attempt to figure out the database title
path = os.path.join(filename, "name.txt")
try:
ifile = open(path)
title = ifile.readline().strip()
ifile.close()
except:
title = filename
self._post_load_newdb(filename, 'x-directory/normal', title)
def _post_load_newdb(self, filename, filetype, title=None):
"""
The method called after load of a new database.
Here only CLI stuff is done, inherit this method to add extra stuff
"""
self._post_load_newdb_nongui(filename, title)
def _post_load_newdb_nongui(self, filename, title=None):
"""
Called after a new database is loaded.
"""
if not filename:
return
if filename[-1] == os.path.sep:
filename = filename[:-1]
name = os.path.basename(filename)
self.dbstate.db.db_name = title
if title:
name = title
# This method is for UI stuff when the database has changed.
# Window title, recent files, etc related to new file.
self.dbstate.db.set_save_path(filename)
# apply preferred researcher if loaded file has none
res = self.dbstate.db.get_researcher()
owner = get_researcher()
if res.get_name() == "" and owner.get_name() != "":
self.dbstate.db.set_researcher(owner)
name_displayer.set_name_format(self.dbstate.db.name_formats)
fmt_default = config.get('preferences.name-format')
name_displayer.set_default_format(fmt_default)
self.dbstate.db.enable_signals()
self.dbstate.signal_change()
config.set('paths.recent-file', filename)
recent_files(filename, name)
self.file_loaded = True
def do_reg_plugins(self, dbstate, uistate):
"""
Register the plugins at initialization time.
"""
self._pmgr.reg_plugins(PLUGINS_DIR, dbstate, uistate)
self._pmgr.reg_plugins(USER_PLUGINS, dbstate, uistate, load_on_reg=True)
def startcli(errors, argparser):
"""
Starts a cli session of GRAMPS.
errors : errors already encountered
argparser : ArgParser instance
"""
if errors:
#already errors encountered. Show first one on terminal and exit
# Convert error message to file system encoding before print
errmsg = _('Error encountered: %s') % errors[0][0]
errmsg = errmsg.encode(sys.getfilesystemencoding())
print(errmsg)
errmsg = _(' Details: %s') % errors[0][1]
errmsg = errmsg.encode(sys.getfilesystemencoding())
print(errmsg)
sys.exit(1)
if argparser.errors:
# Convert error message to file system encoding before print
errmsg = _('Error encountered in argument parsing: %s') \
% argparser.errors[0][0]
errmsg = errmsg.encode(sys.getfilesystemencoding())
print(errmsg)
errmsg = _(' Details: %s') % argparser.errors[0][1]
errmsg = errmsg.encode(sys.getfilesystemencoding())
print(errmsg)
sys.exit(1)
#we need to keep track of the db state
dbstate = DbState()
#we need a manager for the CLI session
climanager = CLIManager(dbstate, True)
#load the plugins
climanager.do_reg_plugins(dbstate, uistate=None)
# handle the arguments
from .arghandler import ArgHandler
handler = ArgHandler(dbstate, argparser, climanager)
# create a manager to manage the database
handler.handle_args_cli()
sys.exit(0)

View File

@ -1,777 +0,0 @@
#
# Gramps - a GTK+/GNOME based genealogy program
#
# Copyright (C) 2001-2007 Donald N. Allingham
# Copyright (C) 2008 Lukasz Rymarczyk
# Copyright (C) 2008 Raphael Ackermann
# Copyright (C) 2008-2011 Brian G. Matherly
# Copyright (C) 2010 Jakim Friant
# Copyright (C) 2011-2012 Paul Franklin
#
# 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
#
#
# cli.plug.__init__
#
# $Id$
#-------------------------------------------------------------------------
#
# Python modules
#
#-------------------------------------------------------------------------
from __future__ import print_function
from gramps.gen.ggettext import gettext as _
import traceback
import os
import sys
import logging
log = logging.getLogger(".")
#-------------------------------------------------------------------------
#
# Gramps modules
#
#-------------------------------------------------------------------------
from gramps.gen.plug import BasePluginManager
from gramps.gen.plug.docgen import (StyleSheet, StyleSheetList, PaperStyle,
PAPER_PORTRAIT, PAPER_LANDSCAPE, graphdoc)
from gramps.gen.plug.menu import (FamilyOption, PersonOption, NoteOption,
MediaOption, PersonListOption, NumberOption,
BooleanOption, DestinationOption, StringOption,
TextOption, EnumeratedListOption, Option)
from gramps.gen.display.name import displayer as name_displayer
from gramps.gen.errors import ReportError, FilterError
from gramps.gen.plug.report import (CATEGORY_TEXT, CATEGORY_DRAW, CATEGORY_BOOK,
CATEGORY_GRAPHVIZ, CATEGORY_CODE,
ReportOptions, create_style_sheet)
from gramps.gen.plug.report._paper import paper_sizes
from gramps.gen.const import USER_HOME
from gramps.gen.dbstate import DbState
from gramps.gen.constfunc import STRTYPE, conv_to_unicode_direct
from ..grampscli import CLIManager
from ..user import User
#------------------------------------------------------------------------
#
# Private Functions
#
#------------------------------------------------------------------------
def _convert_str_to_match_type(str_val, type_val):
"""
Returns a value representing str_val that is the same type as type_val.
"""
str_val = str_val.strip()
ret_type = type(type_val)
if isinstance(type_val, STRTYPE):
if ( str_val.startswith("'") and str_val.endswith("'") ) or \
( str_val.startswith('"') and str_val.endswith('"') ):
# Remove enclosing quotes
return conv_to_unicode_direct(str_val[1:-1])
else:
return conv_to_unicode_direct(str_val)
elif ret_type == int:
if str_val.isdigit():
return int(str_val)
else:
print("'%s' is not an integer number" % str_val)
return 0
elif ret_type == float:
try:
return float(str_val)
except ValueError:
print("'%s' is not a decimal number" % str_val)
return 0.0
elif ret_type == bool:
if str_val == str(True):
return True
elif str_val == str(False):
return False
else:
print("'%s' is not a boolean-- try 'True' or 'False'" % str_val)
return False
elif ret_type == list:
ret_val = []
if not ( str_val.startswith("[") and str_val.endswith("]") ):
print("'%s' is not a list-- try: [%s]" % (str_val, str_val))
return ret_val
entry = ""
quote_type = None
# Search through characters between the brackets
for char in str_val[1:-1]:
if (char == "'" or char == '"') and quote_type == None:
# This character starts a string
quote_type = char
elif char == quote_type:
# This character ends a string
quote_type = None
elif quote_type == None and char == ",":
# This character ends an entry
ret_val.append(entry.strip())
entry = ""
quote_type = None
else:
entry += char
if entry != "":
# Add the last entry
ret_val.append(entry.strip())
return ret_val
def _validate_options(options, dbase):
"""
Validate all options by making sure that their values are consistent with
the database.
menu: The Menu class
dbase: the database the options will be applied to
"""
if not hasattr(options, "menu"):
return
menu = options.menu
for name in menu.get_all_option_names():
option = menu.get_option_by_name(name)
if isinstance(option, PersonOption):
pid = option.get_value()
person = dbase.get_person_from_gramps_id(pid)
if not person:
person = dbase.get_default_person()
if not person:
try:
phandle = next(dbase.iter_person_handles())
except StopIteration:
phandle = None
person = dbase.get_person_from_handle(phandle)
if not person:
print(_("ERROR: Please specify a person"))
if person:
option.set_value(person.get_gramps_id())
elif isinstance(option, FamilyOption):
fid = option.get_value()
family = dbase.get_family_from_gramps_id(fid)
if not family:
person = dbase.get_default_person()
family_list = []
family_handle = None
if person:
family_list = person.get_family_handle_list()
if family_list:
family_handle = family_list[0]
else:
try:
family_handle = next(dbase.iter_family_handles())
except StopIteration:
family_handle = None
if family_handle:
family = dbase.get_family_from_handle(family_handle)
option.set_value(family.get_gramps_id())
else:
print(_("ERROR: Please specify a family"))
#------------------------------------------------------------------------
#
# Command-line report
#
#------------------------------------------------------------------------
class CommandLineReport(object):
"""
Provide a way to generate report from the command line.
"""
def __init__(self, database, name, category, option_class, options_str_dict,
noopt=False):
pmgr = BasePluginManager.get_instance()
self.__textdoc_plugins = []
self.__drawdoc_plugins = []
self.__bookdoc_plugins = []
for plugin in pmgr.get_docgen_plugins():
if plugin.get_text_support() and plugin.get_extension():
self.__textdoc_plugins.append(plugin)
if plugin.get_draw_support() and plugin.get_extension():
self.__drawdoc_plugins.append(plugin)
if plugin.get_text_support() and \
plugin.get_draw_support() and \
plugin.get_extension():
self.__bookdoc_plugins.append(plugin)
self.database = database
self.category = category
self.format = None
self.raw_name = name
self.option_class = option_class(name, database)
if category == CATEGORY_GRAPHVIZ:
# Need to include GraphViz options
self.__gvoptions = graphdoc.GVOptions()
menu = self.option_class.menu
self.__gvoptions.add_menu_options(menu)
for name in menu.get_all_option_names():
if name not in self.option_class.options_dict:
self.option_class.options_dict[name] = \
menu.get_option_by_name(name).get_value()
self.option_class.load_previous_values()
_validate_options(self.option_class, database)
self.show = options_str_dict.pop('show', None)
self.options_str_dict = options_str_dict
self.init_standard_options(noopt)
self.init_report_options()
self.parse_options()
self.init_report_options_help()
self.show_options()
def init_standard_options(self, noopt):
"""
Initialize the options that are hard-coded into the report system.
"""
self.options_dict = {
'of' : self.option_class.handler.module_name,
'off' : self.option_class.handler.get_format_name(),
'style' : \
self.option_class.handler.get_default_stylesheet_name(),
'papers' : self.option_class.handler.get_paper_name(),
'papero' : self.option_class.handler.get_orientation(),
'paperml' : self.option_class.handler.get_margins()[0],
'papermr' : self.option_class.handler.get_margins()[1],
'papermt' : self.option_class.handler.get_margins()[2],
'papermb' : self.option_class.handler.get_margins()[3],
'css' : self.option_class.handler.get_css_filename(),
}
self.options_help = {
'of' : ["=filename", "Output file name. MANDATORY", ""],
'off' : ["=format", "Output file format.", []],
'style' : ["=name", "Style name.", ""],
'papers' : ["=name", "Paper size name.", ""],
'papero' : ["=num", "Paper orientation number.", ""],
'paperml' : ["=num", "Left paper margin", "Size in cm"],
'papermr' : ["=num", "Right paper margin", "Size in cm"],
'papermt' : ["=num", "Top paper margin", "Size in cm"],
'papermb' : ["=num", "Bottom paper margin", "Size in cm"],
'css' : ["=css filename", "CSS filename to use, html format"
" only", ""],
}
if noopt:
return
self.options_help['of'][2] = os.path.join(USER_HOME,
"whatever_name")
if self.category == CATEGORY_TEXT:
for plugin in self.__textdoc_plugins:
self.options_help['off'][2].append(
plugin.get_extension() + "\t" + plugin.get_description() )
elif self.category == CATEGORY_DRAW:
for plugin in self.__drawdoc_plugins:
self.options_help['off'][2].append(
plugin.get_extension() + "\t" + plugin.get_description() )
elif self.category == CATEGORY_BOOK:
for plugin in self.__bookdoc_plugins:
self.options_help['off'][2].append(
plugin.get_extension() + "\t" + plugin.get_description() )
elif self.category == CATEGORY_GRAPHVIZ:
for graph_format in graphdoc.FORMATS:
self.options_help['off'][2].append(
graph_format["ext"] + "\t" + graph_format["descr"] )
else:
self.options_help['off'][2] = "NA"
self.options_help['papers'][2] = \
[ paper.get_name() for paper in paper_sizes
if paper.get_name() != _("Custom Size") ]
self.options_help['papero'][2] = [
"%d\tPortrait" % PAPER_PORTRAIT,
"%d\tLandscape" % PAPER_LANDSCAPE ]
self.options_help['css'][2] = os.path.join(USER_HOME,
"whatever_name.css")
if self.category in (CATEGORY_TEXT, CATEGORY_DRAW):
default_style = StyleSheet()
self.option_class.make_default_style(default_style)
# Read all style sheets available for this item
style_file = self.option_class.handler.get_stylesheet_savefile()
self.style_list = StyleSheetList(style_file, default_style)
self.options_help['style'][2] = self.style_list.get_style_names()
def init_report_options(self):
"""
Initialize the options that are defined by each report.
"""
if self.category == CATEGORY_BOOK: # a Book Report has no "menu"
for key in self.option_class.options_dict:
self.options_dict[key] = self.option_class.options_dict[key]
self.options_help[key] = \
self.option_class.options_help[key][:3]
# a Book Report can't have HTML output so "css" is meaningless
self.options_dict.pop('css')
if not hasattr(self.option_class, "menu"):
return
menu = self.option_class.menu
for name in menu.get_all_option_names():
option = menu.get_option_by_name(name)
self.options_dict[name] = option.get_value()
def init_report_options_help(self):
"""
Initialize help for the options that are defined by each report.
(And also any docgen options, if defined by the docgen.)
"""
if not hasattr(self.option_class, "menu"):
return
menu = self.option_class.menu
for name in menu.get_all_option_names():
option = menu.get_option_by_name(name)
self.options_help[name] = [ "", option.get_help() ]
if isinstance(option, PersonOption):
id_list = []
for person_handle in self.database.get_person_handles(True):
person = self.database.get_person_from_handle(person_handle)
id_list.append("%s\t%s" % (
person.get_gramps_id(),
name_displayer.display(person)))
self.options_help[name].append(id_list)
elif isinstance(option, FamilyOption):
id_list = []
for family in self.database.iter_families():
mname = ""
fname = ""
mhandle = family.get_mother_handle()
if mhandle:
mother = self.database.get_person_from_handle(mhandle)
if mother:
mname = name_displayer.display(mother)
fhandle = family.get_father_handle()
if fhandle:
father = self.database.get_person_from_handle(fhandle)
if father:
fname = name_displayer.display(father)
text = "%s:\t%s, %s" % \
(family.get_gramps_id(), fname, mname)
id_list.append(text)
self.options_help[name].append(id_list)
elif isinstance(option, NoteOption):
id_list = []
for nhandle in self.database.get_note_handles():
note = self.database.get_note_from_handle(nhandle)
id_list.append(note.get_gramps_id())
self.options_help[name].append(id_list)
elif isinstance(option, MediaOption):
id_list = []
for mhandle in self.database.get_media_object_handles():
mobject = self.database.get_object_from_handle(mhandle)
id_list.append(mobject.get_gramps_id())
self.options_help[name].append(id_list)
elif isinstance(option, PersonListOption):
self.options_help[name].append("")
elif isinstance(option, NumberOption):
self.options_help[name].append("A number")
elif isinstance(option, BooleanOption):
self.options_help[name].append(["False", "True"])
elif isinstance(option, DestinationOption):
self.options_help[name].append("A file system path")
elif isinstance(option, StringOption):
self.options_help[name].append("Any text")
elif isinstance(option, TextOption):
self.options_help[name].append(
"A list of text values. Each entry in the list "
"represents one line of text." )
elif isinstance(option, EnumeratedListOption):
ilist = []
for (value, description) in option.get_items():
ilist.append("%s\t%s" % (value, description))
self.options_help[name].append(ilist)
elif isinstance(option, Option):
self.options_help[name].append(option.get_help())
else:
print(_("Unknown option: %s") % option)
print(_(" Valid options are:"),
", ".join(list(self.options_dict.keys())))
print((_(" Use '%(donottranslate)s' to see description "
"and acceptable values") %
{'donottranslate' : "show=option"}))
def parse_options(self):
"""
Load the options that the user has entered.
"""
if not hasattr(self.option_class, "menu"):
menu = None
else:
menu = self.option_class.menu
menu_opt_names = menu.get_all_option_names()
_format_str = self.options_str_dict.pop('off', None)
if _format_str:
self.options_dict['off'] = _format_str
self.css_filename = None
_chosen_format = None
self.doc_option_class = None
if self.category in [CATEGORY_TEXT, CATEGORY_DRAW, CATEGORY_BOOK]:
if self.category == CATEGORY_TEXT:
plugins = self.__textdoc_plugins
self.css_filename = self.options_dict['css']
elif self.category == CATEGORY_DRAW:
plugins = self.__drawdoc_plugins
elif self.category == CATEGORY_BOOK:
plugins = self.__bookdoc_plugins
for plugin in plugins:
if plugin.get_extension() == self.options_dict['off']:
self.format = plugin.get_basedoc()
self.doc_option_class = plugin.get_doc_option_class()
if self.format is None:
# Pick the first one as the default.
plugin = plugins[0]
self.format = plugin.get_basedoc()
self.doc_option_class = plugin.get_doc_option_class()
_chosen_format = plugin.get_extension()
elif self.category == CATEGORY_GRAPHVIZ:
for graph_format in graphdoc.FORMATS:
if graph_format['ext'] == self.options_dict['off']:
if not self.format: # choose the first one, not the last
self.format = graph_format["class"]
if self.format is None:
# Pick the first one as the default.
self.format = graphdoc.FORMATS[0]["class"]
_chosen_format = graphdoc.FORMATS[0]["ext"]
else:
self.format = None
if _chosen_format and _format_str:
print((_("Ignoring '%(notranslate1)s=%(notranslate2)s' "
"and using '%(notranslate1)s=%(notranslate3)s'.") %
{'notranslate1' : "off",
'notranslate2' : self.options_dict['off'],
'notranslate3' : _chosen_format}))
print((_("Use '%(notranslate)s' to see valid values.") %
{'notranslate' : "show=off"}))
self.do_doc_options()
for opt in self.options_str_dict:
if opt in self.options_dict:
self.options_dict[opt] = \
_convert_str_to_match_type(self.options_str_dict[opt],
self.options_dict[opt])
self.option_class.handler.options_dict[opt] = \
self.options_dict[opt]
if menu and opt in menu_opt_names:
option = menu.get_option_by_name(opt)
option.set_value(self.options_dict[opt])
else:
print(_("Ignoring unknown option: %s") % opt )
print(_(" Valid options are:"),
", ".join(list(self.options_dict.keys())))
print(_(" Use '%(donottranslate)s' to see description "
"and acceptable values") %
{'donottranslate' : "show=option"})
self.option_class.handler.output = self.options_dict['of']
for paper in paper_sizes:
if paper.get_name() == self.options_dict['papers']:
self.paper = paper
self.option_class.handler.set_paper(self.paper)
self.orien = self.options_dict['papero']
self.marginl = self.options_dict['paperml']
self.marginr = self.options_dict['papermr']
self.margint = self.options_dict['papermt']
self.marginb = self.options_dict['papermb']
if self.category in (CATEGORY_TEXT, CATEGORY_DRAW):
default_style = StyleSheet()
self.option_class.make_default_style(default_style)
# Read all style sheets available for this item
style_file = self.option_class.handler.get_stylesheet_savefile()
self.style_list = StyleSheetList(style_file, default_style)
# Get the selected stylesheet
style_name = self.option_class.handler.get_default_stylesheet_name()
self.selected_style = self.style_list.get_style_sheet(style_name)
def do_doc_options(self):
self.doc_options = None
if not self.doc_option_class:
return # this docgen type has no options
try:
if issubclass(self.doc_option_class, object):
self.doc_options = self.doc_option_class(self.raw_name,
self.database)
doc_options_dict = self.doc_options.options_dict
except TypeError:
self.doc_options = self.doc_option_class
self.doc_options.load_previous_values()
docgen_menu = self.doc_options.menu
report_menu = self.option_class.menu # "help" checks the option type
for oname in docgen_menu.get_option_names('Document Options'):
docgen_opt = docgen_menu.get_option('Document Options', oname)
if oname in self.options_str_dict and oname in doc_options_dict:
doc_options_dict[oname] = \
_convert_str_to_match_type(self.options_str_dict[oname],
doc_options_dict[oname])
self.options_str_dict.pop(oname)
if oname in doc_options_dict:
docgen_opt.set_value(doc_options_dict[oname])
report_menu.add_option('Document Options', oname, docgen_opt)
for oname in doc_options_dict: # enable "help"
self.options_dict[oname] = doc_options_dict[oname]
self.options_help[oname] = self.doc_options.options_help[oname][:3]
def show_options(self):
"""
Print available options on the CLI.
"""
if not self.show:
return
elif self.show == 'all':
print(_(" Available options:"))
for key in sorted(self.options_dict.keys()):
if key in self.options_help:
opt = self.options_help[key]
# Make the output nicer to read, assume a tab has 8 spaces
tabs = '\t\t' if len(key) < 10 else '\t'
optmsg = " %s%s%s (%s)" % (key, tabs, opt[1], opt[0])
print(optmsg.encode(sys.getfilesystemencoding()))
else:
optmsg = " %s%s%s" % (key, tabs,
_('(no help available)'))
print(optmsg.encode(sys.getfilesystemencoding()))
print((_(" Use '%(donottranslate)s' to see description "
"and acceptable values") %
{'donottranslate' : "show=option"}))
elif self.show in self.options_help:
opt = self.options_help[self.show]
tabs = '\t\t' if len(self.show) < 10 else '\t'
print(' %s%s%s (%s)' % (self.show, tabs, opt[1], opt[0]))
print(_(" Available values are:"))
vals = opt[2]
if isinstance(vals, (list, tuple)):
for val in vals:
optmsg = " %s" % val
print(optmsg.encode(sys.getfilesystemencoding()))
else:
optmsg = " %s" % opt[2]
print(optmsg.encode(sys.getfilesystemencoding()))
else:
#there was a show option given, but the option is invalid
print((_("option '%(optionname)s' not valid. "
"Use '%(donottranslate)s' to see all valid options.") %
{'optionname' : self.show, 'donottranslate' : "show=all"}))
#------------------------------------------------------------------------
#
# Command-line report generic task
#
#------------------------------------------------------------------------
def cl_report(database, name, category, report_class, options_class,
options_str_dict):
err_msg = _("Failed to write report. ")
clr = CommandLineReport(database, name, category, options_class,
options_str_dict)
# Exit here if show option was given
if clr.show:
return
# write report
try:
if category in [CATEGORY_TEXT, CATEGORY_DRAW, CATEGORY_BOOK]:
if clr.doc_options:
clr.option_class.handler.doc = clr.format(
clr.selected_style,
PaperStyle(clr.paper,clr.orien,clr.marginl,
clr.marginr,clr.margint,clr.marginb),
clr.doc_options)
else:
clr.option_class.handler.doc = clr.format(
clr.selected_style,
PaperStyle(clr.paper,clr.orien,clr.marginl,
clr.marginr,clr.margint,clr.marginb))
elif category == CATEGORY_GRAPHVIZ:
clr.option_class.handler.doc = clr.format(
clr.option_class,
PaperStyle(clr.paper,clr.orien,clr.marginl,
clr.marginr,clr.margint,clr.marginb))
if clr.css_filename is not None and \
hasattr(clr.option_class.handler.doc, 'set_css_filename'):
clr.option_class.handler.doc.set_css_filename(clr.css_filename)
MyReport = report_class(database, clr.option_class, User())
MyReport.doc.init()
MyReport.begin_report()
MyReport.write_report()
MyReport.end_report()
return clr
except ReportError as msg:
(m1, m2) = msg.messages()
print(err_msg)
print(m1)
if m2:
print(m2)
except:
if len(log.handlers) > 0:
log.error(err_msg, exc_info=True)
else:
print(err_msg, file=sys.stderr)
## Something seems to eat the exception above.
## Hack to re-get the exception:
try:
raise
except:
traceback.print_exc()
def run_report(db, name, **options_str_dict):
"""
Given a database, run a given report.
db is a Db database
name is the name of a report
options_str_dict is the same kind of options
given at the command line. For example:
>>> run_report(db, "ancestor_report", off="txt",
of="ancestor-007.txt", pid="I37")
returns CommandLineReport (clr) if successfully runs the report,
None otherwise.
You can see:
options and values used in clr.option_class.options_dict
filename in clr.option_class.get_output()
"""
dbstate = DbState()
climanager = CLIManager(dbstate, False) # don't load db
climanager.do_reg_plugins(dbstate, None)
pmgr = BasePluginManager.get_instance()
cl_list = pmgr.get_reg_reports()
clr = None
for pdata in cl_list:
if name == pdata.id:
mod = pmgr.load_plugin(pdata)
if not mod:
#import of plugin failed
return clr
category = pdata.category
report_class = getattr(mod, pdata.reportclass)
options_class = getattr(mod, pdata.optionclass)
if category in (CATEGORY_BOOK, CATEGORY_CODE):
options_class(db, name, category,
options_str_dict)
else:
clr = cl_report(db, name, category,
report_class, options_class,
options_str_dict)
return clr
return clr
#------------------------------------------------------------------------
#
# Function to write books from command line
#
#------------------------------------------------------------------------
def cl_book(database, name, book, options_str_dict):
clr = CommandLineReport(database, name, CATEGORY_BOOK,
ReportOptions, options_str_dict)
# Exit here if show option was given
if clr.show:
return
# write report
doc = clr.format(None,
PaperStyle(clr.paper, clr.orien, clr.marginl,
clr.marginr, clr.margint, clr.marginb))
user = User()
rptlist = []
for item in book.get_item_list():
# The option values were loaded magically by the book parser.
# But they still need to be applied to the menu options.
opt_dict = item.option_class.options_dict
menu = item.option_class.menu
for optname in opt_dict:
menu_option = menu.get_option_by_name(optname)
if menu_option:
menu_option.set_value(opt_dict[optname])
item.option_class.set_document(doc)
report_class = item.get_write_item()
obj = write_book_item(database,
report_class, item.option_class, user)
style_sheet = create_style_sheet(item)
rptlist.append((obj, style_sheet))
doc.open(clr.option_class.get_output())
doc.init()
newpage = 0
for rpt, style_sheet in rptlist:
doc.set_style_sheet(style_sheet)
if newpage:
doc.page_break()
newpage = 1
rpt.begin_report()
rpt.write_report()
doc.close()
#------------------------------------------------------------------------
#
# Generic task function for book
#
#------------------------------------------------------------------------
def write_book_item(database, report_class, options, user):
"""Write the report using options set.
All user dialog has already been handled and the output file opened."""
try:
return report_class(database, options, user)
except ReportError as msg:
(m1, m2) = msg.messages()
print("ReportError", m1, m2)
except FilterError as msg:
(m1, m2) = msg.messages()
print("FilterError", m1, m2)
except:
log.error("Failed to write book item.", exc_info=True)
return None

View File

@ -1,183 +0,0 @@
#
# Gramps - a GTK+/GNOME based genealogy program
#
# Copyright (C) 2010 Brian G. Matherly
#
# 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$
#
"""
The User class provides basic interaction with the user.
"""
#------------------------------------------------------------------------
#
# Python Modules
#
#------------------------------------------------------------------------
from __future__ import print_function
import sys
#------------------------------------------------------------------------
#
# Gramps Modules
#
#------------------------------------------------------------------------
from gramps.gen.ggettext import gettext as _
from gramps.gen.user import User
#------------------------------------------------------------------------
#
# Private Constants
#
#------------------------------------------------------------------------
_SPINNER = ['|', '/', '-', '\\']
#-------------------------------------------------------------------------
#
# User class
#
#-------------------------------------------------------------------------
class User(User):
"""
This class provides a means to interact with the user via CLI.
It implements the interface in gramps.gen.user.User()
"""
def __init__(self, callback=None, error=None):
self.steps = 0;
self.current_step = 0;
self.callback_function = callback
self.error_function = error
def begin_progress(self, title, message, steps):
"""
Start showing a progress indicator to the user.
@param title: the title of the progress meter
@type title: str
@param message: the message associated with the progress meter
@type message: str
@param steps: the total number of steps for the progress meter.
a value of 0 indicates that the ending is unknown and the
meter should just show activity.
@type steps: int
@returns: none
"""
print(message)
self.steps = steps
self.current_step = 0;
if self.steps == 0:
sys.stdout.write(_SPINNER[self.current_step])
else:
sys.stdout.write("00%")
def step_progress(self):
"""
Advance the progress meter.
"""
self.current_step += 1
if self.steps == 0:
self.current_step %= 4
sys.stdout.write("\r %s " % _SPINNER[self.current_step])
else:
percent = int((float(self.current_step) / self.steps) * 100)
sys.stdout.write("\r%02d%%" % percent)
def callback(self, percentage, text=None):
"""
Display the precentage.
"""
if self.callback_function:
if text:
self.callback_function(percentage, text)
else:
self.callback_function(percentage)
else:
if text is None:
sys.stdout.write("\r%02d%%" % percentage)
else:
sys.stdout.write("\r%02d%% %s" % (percentage, text))
def end_progress(self):
"""
Stop showing the progress indicator to the user.
"""
sys.stdout.write("\r100%\n")
def prompt(self, title, question):
"""
Ask the user a question. The answer must be "yes" or "no".
The user will be forced to answer the question before proceeding.
@param title: the title of the question
@type title: str
@param question: the question
@type question: str
@returns: the user's answer to the question
@rtype: bool
"""
return False
def warn(self, title, warning=""):
"""
Warn the user.
@param title: the title of the warning
@type title: str
@param warning: the warning
@type warning: str
@returns: none
"""
print("%s %s" % (title, warning))
def notify_error(self, title, error=""):
"""
Notify the user of an error.
@param title: the title of the error
@type title: str
@param error: the error message
@type error: str
@returns: none
"""
if self.error_function:
self.error_function(title, error)
else:
print("%s %s" % (title, error))
def notify_db_error(self, error):
"""
Notify the user of a DB error.
@param error: the error message
@type error: str
@returns: none
"""
self.notify_error(
_("Low level database corruption detected"),
_("Gramps has detected a problem in the underlying "
"Berkeley database. This can be repaired from "
"the Family Tree Manager. Select the database and "
'click on the Repair button') + '\n\n' + error)
def info(self, msg1, infotext, parent=None, monospaced=False):
"""
Displays information to the CLI
"""
print(msg1)
print(infotext)

View File

@ -1,21 +0,0 @@
# This is the src/data level Makefile for gramps
# $Id$
#
SUBDIRS =
pkgdatadir = $(datadir)/@PACKAGE@/data
dist_pkgdata_DATA = \
authors.xml \
papersize.xml \
tips.xml\
lds.xml
# Rules for files with translatable strings
# These are taken care of by the intltool
xml_in_files = tips.xml.in
xml_files = $(xml_in_files:.xml.in=.xml)
@INTLTOOL_XML_NOMERGE_RULE@
EXTRA_DIST = $(xml_in_files)
CLEANFILES = $(xml_files)

View File

@ -1,12 +0,0 @@
{% extends "admin/base_site.html" %}
{% load i18n %}
{% block title %}{% trans 'Page not found' %}{% endblock %}
{% block content %}
<h2>{% trans 'Page not found' %}</h2>
<p>{% trans "We're sorry, but the requested page could not be found." %}</p>
{% endblock %}

View File

@ -1,12 +0,0 @@
{% extends "admin/base_site.html" %}
{% load i18n %}
{% block breadcrumbs %}<div class="breadcrumbs"><a href="/">{% trans "Home" %}</a> &rsaquo; {% trans "Server error" %}</div>{% endblock %}
{% block title %}{% trans 'Server error (500)' %}{% endblock %}
{% block content %}
<h1>{% trans 'Server Error <em>(500)</em>' %}</h1>
<p>{% trans "There's been an error. It's been reported to the site administrators via e-mail and should be fixed shortly. Thanks for your patience." %}</p>
{% endblock %}

View File

@ -1,22 +0,0 @@
{% extends "admin/base.html" %}
{% load i18n %}
{% block title %}{{ title }} | My New Title{% endblock %}
{% block branding %}
<h1 id="site-name">My new title for the Admin site!</h1>
{% endblock %}
{% block nav-global %}
{% if user.is_staff %}
<style type="text/css">
.ml {margin:0 10px 10px;display:block;float:left}
</style>
<a href="/" clas="ml">Website home</a>
<a href="/admin/" class="ml">Admin home</a>
<a href="/admin/members/invoice/" class="ml">Invoices</a>
<a href="/admin/auth/user/?is_active__exact=0" class="ml">New Users</a>
<a href="/admin/auth/user/" class="ml">All Users</a>
{% endif %}
{% endblock %}

View File

@ -1,30 +0,0 @@
{% extends "gramps-base.html" %}
{% load my_tags %}
{% block title %}{{sitename}}{% endblock %}
{% block heading %}{{sitename}}{% endblock %}
{% block content %}
<p> &nbsp; </p>
<p id="description">
Database information:</p>
<table class="infolist surname">
<tr>
<th>Item</th>
<th>Count</th>
</tr>
{% for view in views %}
<tr class="{% cycle odd,even %}">
{% if view.2 %}
<td align="left"><a href="/{{view.1}}">{{view.0}}</a></td>
<td align="left"><a href="/{{view.1}}">{{view.1|table_count}}</td>
{% endif %}
</tr>
{% endfor %}
</table>
{% endblock %}

View File

@ -1,12 +0,0 @@
{% load my_tags %}
{% filter breadcrumb %}
{% format "/browse|Browse" %}||
{% format "/%s/%s|%s" view args tviews %}
{% if object.gramps_id %}
|| {% format "/%s/%s|%s [%s]" view object.handle tview object.gramps_id %}
{% else %}
{% if object.name %}
|| {% format "/%s/%s|%s [%s]" view object.handle tview object.name %}
{% endif %}
{% endif %}
{% endfilter %}

View File

@ -1,399 +0,0 @@
{% load my_tags %}
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US" lang="en-US">
<head>
<title>{% block title %}{{sitename}}{% endblock %}</title>
{% block meta %}
<meta http-equiv="content-type" content="text/html;charset=UTF-8" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<meta name="generator" content="Gramps 3.2.0-0.SVN12859M http://gramps-project.org/" />
<meta name="author" content="" />
{% endblock %}
<link href="/images/ped24.ico" type="image/x-icon" rel="shortcut icon" />
{% block css %}
<link media="screen" href="/styles/css/{{css_theme}}" type="text/css" rel="stylesheet" />
<link media="print" href="/styles/css/Web_Print-Default.css" type="text/css" rel="stylesheet" />
<script type="text/javascript" src="/styles/javascript/jquery-1.3.2.min.js"></script>
<script type="text/javascript" src="/styles/javascript/jquery-ui-1.7.2.custom.min.js"></script>
<script type="text/javascript" src="/styles/jhtmlarea/scripts/jHtmlArea-0.7.0.js"></script>
<link rel="Stylesheet" type="text/css" href="/styles/jhtmlarea/style/jHtmlArea.css" />
<script type="text/javascript" src="/styles/javascript/jquery.flexbox.min.js"></script>
<link type="text/css" rel="stylesheet" href="/styles/css/jquery.flexbox.css" />
{% endblock %}
<style type="text/css">
table td {
vertical-align: middle;
}
div.content {
background: none;
}
.content {
padding: 0px 0px 10px;
}
.browsecell {
display: block;
}
#subtitle {
font-weight: bold;
font-style: italic;
border-top: 1px solid;
}
td.ColumnAttribute {
text-align: right;
}
#error {
color: red;
}
{% if action == "edit" or action == "add" %}
{% else %}
#rowspace {
height: 3px;
}
#data {
border: 1px solid;
background-color: white;
color: brown;
}
{% endif %}
/* Component containers */
.ui-widget {
font-family: Georgia,serif;
font-size: small;
}
.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button {
font-family: Georgia,serif;
font-size: small;
}
.ui-widget-content {
border: 1px solid #7D5925;
color: #7D5925;
float: left;
width: 98%;
}
.ui-widget-content a {
color: #7D5925;
}
.ui-widget-header {
color: #ffffff;
}
.ui-widget-header a {
color: #7D5925;
}
/* Overlays */
.ui-widget-overlay {
background: #aaaaaa;
opacity: .30;
}
.ui-widget-shadow {
margin: -8px 0 0 -8px;
padding: 8px;
opacity: .30;
-webkit-border-radius: 8px;
}
/* Interaction states */
.ui-state-default {
border: 1px solid #7D5925;
background: #FFF2C6;
font-weight: normal;
color: #7D5925;
outline: none;
}
.ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited {
color: #7D5925;
text-decoration: none;
outline: none;
}
.ui-state-hover, .ui-state-focus {
border: 1px solid #f5ad66;
background: #f5f0e5;
font-weight: normal;
color: #a46313;
outline: none;
}
.ui-state-hover a, .ui-state-hover a:hover {
color: #a46313;
text-decoration: none;
outline: none;
}
.ui-state-active {
border: 1px solid #7D5925;
background: #f4f0ec;
font-weight: normal;
color: #b85700;
outline: none;
}
.ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited {
color: #b85700;
outline: none;
text-decoration: none;
}
/* Interaction Cues */
.ui-state-highlight {
border: 1px solid #d9bb73;
background: #f5f5b5;
color: #060200;
}
.ui-state-highlight a {
color: #060200;
}
.ui-state-error {
border: 1px solid #f8893f;
background: #fee4bd;
color: #dd4e2c;
}
.ui-state-error a {
color: #dd4e2c;
}
.ui-state-error-text {
color: #dd4e2c;
}
.ui-state-disabled {
opacity: .35;
background-image: none;
}
.ui-priority-primary {
font-weight: bold;
}
.ui-priority-secondary {
opacity: .7;
font-weight: normal;
}
/* Tabs */
.ui-tabs {
padding: .2em;
}
.ui-tabs .ui-tabs-nav {
list-style: none;
position: relative;
padding: .2em .2em 0;
}
.ui-tabs .ui-tabs-nav li {
position: relative;
float: left;
margin: .2em .2em -1px 0;
padding: 0;
}
.ui-tabs .ui-tabs-nav li a {
float: left;
text-decoration: none;
padding: .5em 1em;
}
.ui-tabs .ui-tabs-nav li.ui-tabs-selected {
padding-bottom: 1px;
border-bottom-width: 0;
}
.ui-tabs .ui-tabs-nav li.ui-tabs-selected a, .ui-tabs .ui-tabs-nav li.ui-state-disabled a, .ui-tabs .ui-tabs-nav li.ui-state-processing a {
cursor: text;
}
.ui-tabs .ui-tabs-nav li a, .ui-tabs.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-selected a {
cursor: pointer;
} /* first selector in group seems obsolete, but required to overcome bug in Opera applying cursor: text overall if defined elsewhere... */
.ui-tabs .ui-tabs-panel {
padding: 1em 1.4em;
display: block;
border-width: 0;
background: none;
}
.ui-tabs .ui-tabs-hide {
display: none !important;
}
</style>
<SCRIPT LANGUAGE="JavaScript">
<!--
var timerId=0 ;
function clearTimer() {
if (timerId!=0) {
clearTimeout(timerId); timerId=0; }}
function startTimer() {
clearTimer(); timerId=setTimeout('timerId=0;hideMenus()',200);
}
function showMenu(menuNum) {
clearTimer(); hideMenus();
document.getElementById('menu_'+menuNum).style.display="";
}
function hideMenus() {
document.getElementById('menu_browse').style.display="none";
}
function hiLite(theOption) {
clearTimer();
document.getElementById('opt_'+theOption).style.background='#9090FF';
}
function unLite(theOption) {
startTimer();
document.getElementById('opt_'+theOption).style.background='#D0D0FF';
}
function optClick(theOption) {
document.location.href=theOption;
}
function setHasData(classname, value) {
var elems = document.getElementsByTagName('*'), i;
for (i in elems) {
if((" " + elems[i].className + " ").indexOf(" " + classname + " ") > -1) {
if (value) {
elems[i].style.fontWeight = "bold";
elems[i].style.fontStyle = "italic";
} else {
elems[i].style.fontWeight = "";
elems[i].style.fontStyle = "";
}
}
}
}
function setReturnValues() {
var elems = document.getElementsByTagName('*'), i;
for (i in elems) {
if ((" " + elems[i].name + " ").indexOf("_return ") > -1) {
var pos = (" " + elems[i].name + " ").indexOf("_return ");
var s = elems[i].name.substring(0, pos - 1);
var v = document.getElementsByName(s)[0];
elems[i].value = v.value;
}
}
}
function buttonOver(button) {
button.style.backgroundColor = "white";
button.style.border = "1px solid gray";
}
function buttonOut(button) {
button.style.backgroundColor = "lightgray";
button.style.border = "1px solid lightgray";
}
//-->
</SCRIPT>
<STYLE TYPE="text/css">
<!--
.popupMenu {
// font-family : Verdana,Tahoma,Helvetica,sans-serif;
// font-size : 12px;
color : #111111;
position : absolute;
// top : 72px;
border : 1px;
padding : 3px;
z-index : 16;
background-color: #D0D0FF;
cursor : pointer; }
-->
</STYLE>
</head>
<body onclick="hideMenus()"
onload="if (document.getElementById('get_focus')) {document.getElementById('get_focus').focus();}"
>
<div id="header" style="padding-top: 1em; background-position:0px -32px;">
<h1 id="SiteTitle" style="margin-left: 0em;">{% block heading %}{{sitename}}{% endblock %}</h1>
</div>
<div class="wrapper" role="navigation" id="nav">
{% block navigation %}
<div class="container">
<ul class="menu" id="dropmenu">
<li {{ tview|currentSection:"home" }}><a href="/">Home</a></li>
{% for title in menu %}
{# (<Nice name>, /<path>/, <Model> | None, Need authentication ) #}
{% if title.3 %}
{% if user.is_authenticated %}
<li {{tview|currentSection:title.1 }}>
{% if title.1 %}
<a href="/{{title.1}}/">{{title.0}}</a>
</li>
{% else %}
<a href="/">{{title.0}}</a>
</li>
{% endif %}
{% else %}
{# don't show #}
{% endif %}
{% else %}
<li {{tview|currentSection:title.1 }}>
{% if title.1 %}
<a href="/{{title.1}}/"
onmouseover="showMenu('{{title.1}}')"
onmouseout="startTimer()"
style="cursor:pointer"
href="/browse/">{{title.0}}</a>
<DIV CLASS="popupMenu" ID="menu_browse" STYLE="display:none;">
<TABLE BORDER="0" CELLSPACING="0" CELLPADDING="0">
<TR ID="opt_person"><TD><A ONMOUSEOVER="hiLite('person')" ONMOUSEOUT="unLite('person')" ONCLICK="optClick('/person/')">People</A></TD></TR>
<TR ID="opt_family"><TD><A ONMOUSEOVER="hiLite('family')" ONMOUSEOUT="unLite('family')" ONCLICK="optClick('/family/')">Families</A></TD></TR>
<TR ID="opt_event"><TD><A ONMOUSEOVER="hiLite('event')" ONMOUSEOUT="unLite('event')" ONCLICK="optClick('/event/')">Events</A></TD></TR>
<TR ID="opt_note"><TD><A ONMOUSEOVER="hiLite('note')" ONMOUSEOUT="unLite('note')" ONCLICK="optClick('/note/')">Note</A></TD></TR>
<TR ID="opt_media"><TD><A ONMOUSEOVER="hiLite('media')" ONMOUSEOUT="unLite('media')" ONCLICK="optClick('/media/')">Media</A></TD></TR>
<TR ID="opt_citation"><TD><A ONMOUSEOVER="hiLite('citation')" ONMOUSEOUT="unLite('citation')" ONCLICK="optClick('/citation/')">Citations</A></TD></TR>
<TR ID="opt_source"><TD><A ONMOUSEOVER="hiLite('source')" ONMOUSEOUT="unLite('source')" ONCLICK="optClick('/source/')">Sources</A></TD></TR>
<TR ID="opt_place"><TD><A ONMOUSEOVER="hiLite('place')" ONMOUSEOUT="unLite('place')" ONCLICK="optClick('/place/')">Places</A></TD></TR>
<TR ID="opt_repository"><TD><A ONMOUSEOVER="hiLite('repsoitory')" ONMOUSEOUT="unLite('repository')" ONCLICK="optClick('/repository/')">Repository</A></TD></TR>
<TR ID="opt_tag"><TD><A ONMOUSEOVER="hiLite('tag')" ONMOUSEOUT="unLite('tag')" ONCLICK="optClick('/tag/')">Tags</A></TD></TR>
</TABLE>
</DIV>
</li>
{% else %}
<a href="/">{{title.0}}</a></li>
{% endif %}
{% endif %}
{% endfor %}
{% if user.is_authenticated %}
{% if next %}
<li><a href="/logout/?next={{next}}">Logout</a></li>
{% else %}
<li><a href="/logout">Logout</a></li>
{% endif %}
{% if user.is_superuser %}
<li><a href="/admin">Admin</a></li>
{% endif %}
{% else %}
{% if next %}
<li><a href="/login/?next={{next}}">Login</a></li>
{% else %}
<li><a href="/login/">Login</a></li>
{% endif %}
{% endif %}
</ul>
{% endblock %}
</div>
</div>
<div class="grampsweb">
{% for message in messages %}
<font color="red">{{message}}</font><br/>
{% endfor %}
{% if message %}
<div id="system_message" class="{{ message_type }}">
<font color="red">{{message}}</font><br/>
</div>
{% endif %}
{% block content %}
{% endblock %}
<div class="content">
</div>
</div>
<div id="footer">
{% block footer %}
<p id="createdate">
<a href="http://www.gramps-project.org/wiki/index.php?title=Gramps-Connect">Gramps-Connect, version {{gramps_version}}</a>.
</p>
<p id="copyright">&copy; 2009-2012 <a href="http://www.gramps-project.org/">www.gramps-project.org</a>
</p>
{% endblock %}
</div>
</body>
</html>

Some files were not shown because too many files have changed in this diff Show More