Compare commits
138 Commits
v4.0.0-alp
...
v3.1.0
Author | SHA1 | Date | |
---|---|---|---|
9d3c20898c | |||
b2a8a557ab | |||
4f92f8d713 | |||
708ab325bd | |||
9fa3b9a9d2 | |||
7cdbc88fc3 | |||
3153f10118 | |||
8efc6f0184 | |||
797075b59f | |||
95e5848d03 | |||
05f91734e2 | |||
15a9ca94f3 | |||
e43452178c | |||
722af724f9 | |||
d0606fe836 | |||
9ccef7848e | |||
37063335fe | |||
69dbf66558 | |||
65c3b60c55 | |||
f0c39aae21 | |||
42fbb1aa57 | |||
6e2827a62e | |||
6dbc57aaac | |||
31fb009b66 | |||
6f43a05424 | |||
c2a49e1dd8 | |||
0dda10baf9 | |||
8ce73d3956 | |||
1a2b50e645 | |||
cc52eab90d | |||
fee2d84f67 | |||
a614049b08 | |||
1d7d2c5289 | |||
b5f738859a | |||
ae56bee828 | |||
254930fc55 | |||
c200651f74 | |||
7f7b155e36 | |||
02a02b8499 | |||
890be35845 | |||
e16e91d973 | |||
72f4ca9df9 | |||
0bfb3a622d | |||
c34b30fa0d | |||
5417a69408 | |||
5c04db932d | |||
146dcc3773 | |||
3cf4da5cee | |||
57ed71a842 | |||
06d28806f3 | |||
c4d27e603d | |||
20baece6b3 | |||
666df8e6f2 | |||
e498b18d52 | |||
3ebb888cce | |||
dabf4f4756 | |||
dda2662b0b | |||
d1ae849c1b | |||
237c4a055b | |||
fbd2afdf8c | |||
844cb231c7 | |||
eb42ce4ce2 | |||
ecc30300d4 | |||
a533c3abd4 | |||
1edbdc33d9 | |||
9b017678ad | |||
d7c5e02a55 | |||
2445590149 | |||
0f2d8769f0 | |||
a7e6e1b089 | |||
e36ffede8e | |||
bac46805f9 | |||
1e0e05a43e | |||
cd04faca60 | |||
86d0cc8b26 | |||
2f2a0712a0 | |||
8ca8e2f4bd | |||
c645246b2c | |||
8de51db5fe | |||
795a745793 | |||
3d057838ff | |||
cc6e62dc66 | |||
c98e4e94df | |||
5224211634 | |||
04bb731620 | |||
c1274ebdef | |||
d6d7855caa | |||
c844f30bd0 | |||
505ab40201 | |||
4937994904 | |||
1c556b7134 | |||
ba5c5835f9 | |||
6b78d5ae01 | |||
56de9475f6 | |||
a92154970b | |||
7fce761948 | |||
80e78696ab | |||
6f3186c82c | |||
9884160929 | |||
b7805d90a8 | |||
7163ce148a | |||
9bb68012d5 | |||
d5781b27a7 | |||
54a0d23f27 | |||
7457c9f5f6 | |||
8236591a71 | |||
41fadda92b | |||
dbb777d411 | |||
66753f3d3b | |||
9da589e7b7 | |||
beda493165 | |||
2799d50a90 | |||
06819df7ac | |||
3700908cdc | |||
66f9048cb8 | |||
3b2deb1021 | |||
5ae168c618 | |||
dd8be64503 | |||
f076668200 | |||
d0d3849250 | |||
408c7cf4a4 | |||
a84ee1da33 | |||
bf24fcee1f | |||
c595f6d4b0 | |||
31e4cf1114 | |||
548e8d20c3 | |||
e6f1e2a82e | |||
512231d54b | |||
f55b046171 | |||
a1cc0b2788 | |||
eda3cd2c94 | |||
c0053b6117 | |||
bcf2cd4fa4 | |||
63aa9b9ea3 | |||
d9937bcfc3 | |||
ee46a8f43a | |||
6f1ad8ce5a | |||
249efbaa53 |
@ -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
12
.gitignore
vendored
@ -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
95
AUTHORS
@ -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$
|
||||
|
30
Gramps.py
30
Gramps.py
@ -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
153
INSTALL
@ -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.
|
||||
|
44
MANIFEST.in
44
MANIFEST.in
@ -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
35
Makefile.am
Normal 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
|
200
NEWS
200
NEWS
@ -1,198 +1,3 @@
|
||||
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.)
|
||||
@ -200,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
|
||||
@ -217,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)
|
||||
@ -227,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)
|
||||
@ -238,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!
|
||||
@ -247,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
75
README
@ -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
|
||||
|
@ -1,33 +0,0 @@
|
||||
"UNSTABLE Gramps 4.0.0 Alpha1 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
77
TODO
@ -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
54
acinclude.m4
Normal 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
102
autogen.sh
Executable 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
571
config.rpath
Executable 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
188
configure.in
Normal 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
83
data/Makefile.am
Normal 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)
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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="<!DOCTYPE database" offset="0:256"/>
|
||||
|
@ -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>
|
@ -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
|
||||
>
|
||||
|
||||
|
@ -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>
|
||||
|
@ -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)
|
||||
|
243
data/man/conf.py
243
data/man/conf.py
@ -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'
|
||||
|
||||
# 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'
|
@ -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)
|
@ -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'
|
@ -1,280 +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}/share/gramps*
|
||||
|
||||
*${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)
|
@ -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.
|
296
data/man/en.rst
296
data/man/en.rst
@ -1,296 +0,0 @@
|
||||
English
|
||||
=======
|
||||
|
||||
gramps(1) 4.0.0 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}/share/gramps*
|
||||
|
||||
*${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.
|
||||
|
||||
|
||||
|
||||
January 2013 4.0.0 gramps(1)
|
@ -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'
|
||||
|
||||
# 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'
|
@ -1,299 +0,0 @@
|
||||
French
|
||||
=======
|
||||
|
||||
|
||||
gramps(1) 4.0.0 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 interac‐
|
||||
tive 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.e. **-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}/share/gramps*
|
||||
|
||||
*${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 .
|
||||
|
||||
|
||||
|
||||
Janvier 2013 4.0.0 gramps(1)
|
@ -1,346 +1,290 @@
|
||||
.TH "GRAMPS" "1" "04 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 reStructeredText.
|
||||
.
|
||||
.sp
|
||||
gramps(1) 4.0.0 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 interac‐
|
||||
tive 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, i.e. \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
|
||||
.INDENT 7.0
|
||||
.INDENT 3.5
|
||||
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é.
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.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.
|
||||
.INDENT 7.0
|
||||
.TP
|
||||
.B Utiliser les options ci\-dessus pour trouver tout sur un rapport
|
||||
choisi.
|
||||
.UNINDENT
|
||||
.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
|
||||
\fBFICHIERS\fP
|
||||
.INDENT 0.0
|
||||
.INDENT 3.5
|
||||
\fI${PREFIX}/bin/gramps\fP
|
||||
.sp
|
||||
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
|
||||
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
|
||||
.sp
|
||||
\fI${HOME}/.gramps\fP
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.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>
|
||||
.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
|
||||
Janvier 2013 4.0.0 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.
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
||||
|
@ -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'
|
@ -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
|
||||
|
@ -1,263 +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}/share/gramps*
|
||||
|
||||
*${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)
|
@ -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'
|
@ -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:
|
||||
|
@ -1,306 +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}/share/gramps*
|
||||
|
||||
*${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)
|
@ -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)
|
@ -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'
|
@ -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
|
@ -1,291 +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}/share/gramps*
|
||||
|
||||
*${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)
|
||||
|
@ -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'
|
@ -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 på 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 på skrivare direkt, kan rapportgeneratorer ha andra målsystem som \fIOpenOffice.org\fR, \fIAbiWord\fR, HTML eller LaTeX så att användaren kan tillåtas att ändra format för att passa behoven.
|
||||
|
||||
|
@ -1,279 +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}/share/gramps*
|
||||
|
||||
*${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)
|
@ -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
17
debian/README.Debian
vendored
@ -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
263
debian/changelog
vendored
@ -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
2
debian/compat
vendored
@ -1 +1 @@
|
||||
7
|
||||
4
|
||||
|
36
debian/control
vendored
36
debian/control
vendored
@ -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
1
debian/gramps.dirs
vendored
@ -1,2 +1 @@
|
||||
usr/share/pixmaps
|
||||
usr/share/mime/packages
|
||||
|
3
debian/gramps.files
vendored
3
debian/gramps.files
vendored
@ -1,3 +0,0 @@
|
||||
/usr/bin/
|
||||
/usr/share/
|
||||
/etc
|
2
debian/gramps.menu
vendored
2
debian/gramps.menu
vendored
@ -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
1
debian/pycompat
vendored
@ -1 +0,0 @@
|
||||
2
|
61
debian/rules
vendored
61
debian/rules
vendored
@ -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
|
||||
|
||||
|
@ -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."
|
@ -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
|
||||
`
|
47
docs/api.rst
47
docs/api.rst
@ -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
|
202
docs/conf.py
202
docs/conf.py
@ -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
|
@ -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:
|
@ -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:
|
279
docs/date.rst
279
docs/date.rst
@ -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:
|
@ -1,4 +0,0 @@
|
||||
Developer Guide
|
||||
===============
|
||||
|
||||
Please consult the API documentation, and the development part of `our wiki <http://gramps-project.org>`_\ .
|
@ -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:
|
@ -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:
|
@ -1,12 +0,0 @@
|
||||
#############################
|
||||
The :mod:`gen.display` Module
|
||||
#############################
|
||||
|
||||
.. automodule:: gen.display
|
||||
|
||||
Name
|
||||
====================================
|
||||
.. automodule:: gen.display.name
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
@ -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:
|
@ -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:
|
||||
|
@ -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:
|
@ -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:
|
||||
|
||||
|
@ -1,11 +0,0 @@
|
||||
##########################
|
||||
The :class:`Html` Class
|
||||
##########################
|
||||
|
||||
Contents:
|
||||
|
||||
.. automodule:: libhtml
|
||||
.. autoclass:: Html
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
@ -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`
|
||||
|
@ -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:
|
@ -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:
|
@ -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()
|
@ -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
1
example/Makefile.am
Normal file
@ -0,0 +1 @@
|
||||
SUBDIRS = gramps
|
File diff suppressed because it is too large
Load Diff
12
example/gramps/Makefile.am
Normal file
12
example/gramps/Makefile.am
Normal 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
316
gramps-autogen.sh
Executable 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
28
gramps.sh.in
Normal 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 "$@"
|
@ -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"]
|
@ -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__
|
@ -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)
|
@ -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)
|
@ -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
|
@ -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)
|
@ -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
|
@ -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)
|
@ -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)
|
@ -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 %}
|
@ -1,12 +0,0 @@
|
||||
{% extends "admin/base_site.html" %}
|
||||
{% load i18n %}
|
||||
|
||||
{% block breadcrumbs %}<div class="breadcrumbs"><a href="/">{% trans "Home" %}</a> › {% 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 %}
|
@ -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 %}
|
@ -1,30 +0,0 @@
|
||||
{% extends "gramps-base.html" %}
|
||||
{% load my_tags %}
|
||||
|
||||
{% block title %}{{sitename}}{% endblock %}
|
||||
{% block heading %}{{sitename}}{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<p> </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 %}
|
||||
|
@ -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 %}
|
@ -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">© 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
Reference in New Issue
Block a user