Merge with latest changes in trunk
svn: r21356
This commit is contained in:
commit
0ffc0cdd12
13
.gitignore
vendored
Normal file
13
.gitignore
vendored
Normal file
@ -0,0 +1,13 @@
|
||||
# Python
|
||||
*.py[cod]
|
||||
|
||||
# Distutils
|
||||
MANIFEST
|
||||
build/
|
||||
dist/
|
||||
|
||||
# Gramps
|
||||
data/tips.xml
|
||||
gramps/gen/const.py
|
||||
gramps/plugins/lib/holidays.xml
|
||||
po/.intltool-merge-cache
|
@ -1,3 +1,4 @@
|
||||
#! /usr/bin/env python
|
||||
#
|
||||
# Gramps - a GTK+/GNOME based genealogy program
|
||||
#
|
||||
|
24
MANIFEST.in
24
MANIFEST.in
@ -11,34 +11,22 @@ include TestPlan.txt
|
||||
recursive-include data *
|
||||
recursive-include debian *
|
||||
recursive-include docs *
|
||||
recursive-include gramps *
|
||||
recursive-include help *
|
||||
recursive-include images *
|
||||
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 data/tips.xml
|
||||
exclude gramps/gen/const.py
|
||||
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 src/guiQML
|
||||
prune src/webapp
|
||||
|
||||
# Remove Makefiles used by autotools
|
||||
global-exclude Makefile*
|
||||
prune gramps/guiQML
|
||||
#prune gramps/webapp
|
||||
|
17
README
17
README
@ -8,6 +8,7 @@ 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
|
||||
cairo, pango, pangocairo with instrospection bindings (the gi packages)
|
||||
librsvg2 (svg icon view)
|
||||
xdg-utils
|
||||
|
||||
@ -23,7 +24,7 @@ to your language:
|
||||
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
|
||||
http://gramps-project.org/wiki/index.php?title=Gramps_4.0_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.
|
||||
@ -36,8 +37,15 @@ The following packages are *STRONGLY RECOMMENDED* to be installed:
|
||||
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 (if not the official yet, use
|
||||
https://github.com/manisandro/gtkspell3/tree/changes/gtkspell)
|
||||
is needed, so minimally version 3.0.0
|
||||
|
||||
rcs The GNU Revision Control System (RCS) can be used to manage
|
||||
multiple revisions of your family trees. See info at
|
||||
http://www.gramps-project.org/wiki/index.php?title=Gramps_4.0_Wiki_Manual_-_Manage_Family_Trees#Archiving_a_Family_Tree
|
||||
Only rcs is needed, NO python bindings are required
|
||||
|
||||
PIL Python Image Library is needed to convert non jpg images to
|
||||
jpg so as to include them in LaTeX output
|
||||
|
||||
ttf-freefont More font support in the reports
|
||||
|
||||
@ -63,9 +71,6 @@ No longer needed in 3.2:
|
||||
No longer needed in 3.1:
|
||||
yelp Gnome help browser. At the moment no help is shipped
|
||||
|
||||
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
|
||||
---------------------------------
|
||||
|
@ -1,24 +1,33 @@
|
||||
Gramps 3.2 Release Notes
|
||||
"UNSTABLE Gramps 4.0.0 Alpha1 release.
|
||||
|
||||
General Improvements
|
||||
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!"
|
||||
|
||||
* 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. Eg: You don't use the Pedigree View? Hide it in the Plugin Status, and it will not be present anymore. You don't use vcard export? Hide it in the Plugin Status, and it will not be offered anymore.
|
||||
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).
|
||||
|
||||
* Faster
|
||||
Many under the hood improvements have occurred that should improve perfamance enormously. Yes, new features are present to use all your processing power, but they are all implemented as plugins that can be hidden. Eg: Insert of a person in a 30000 people family tree took 4sec on 1.4Ghz PC in 3.1, Now it is done in milliseconds.
|
||||
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.
|
||||
|
||||
*New Views
|
||||
There are new views, and some 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, fast internet connection required)
|
||||
- Help Menu -> Extra Reports/Tools open a webpage with downloadable extra views
|
||||
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 )
|
||||
|
||||
|
||||
Other Improvements
|
||||
Major enhancements in Gramps 4.0.0:
|
||||
|
||||
* Styled Notes now in most output formats that support styles, eg in the web report
|
||||
* New languages
|
||||
* Select language in which report should be created (only present now in some reports)
|
||||
* 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!
|
||||
|
@ -25,15 +25,15 @@
|
||||
-->
|
||||
|
||||
<!--
|
||||
This is the Document Type Definition file for v1.5.0
|
||||
This is the Document Type Definition file for v1.6.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.6.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.6.0//EN"
|
||||
"http://gramps-project.org/xml/1.6.0/grampsxml.dtd"
|
||||
[...]>
|
||||
-->
|
||||
|
||||
@ -215,7 +215,8 @@ EVENT
|
||||
<!ELEMENT events (event)*>
|
||||
|
||||
<!ELEMENT event (type?, (daterange|datespan|dateval|datestr)?, place?, cause?,
|
||||
description?, attribute*, noteref*, citationref*, objref*)>
|
||||
description?, attribute*, noteref*, citationref*, objref*,
|
||||
tagref*)>
|
||||
<!ATTLIST event
|
||||
id CDATA #IMPLIED
|
||||
handle ID #REQUIRED
|
||||
@ -229,7 +230,7 @@ SOURCES
|
||||
|
||||
<!ELEMENT sources (source)*>
|
||||
<!ELEMENT source (stitle?, sauthor?, spubinfo?, sabbrev?,
|
||||
noteref*, objref*, data_item*, reporef*)>
|
||||
noteref*, objref*, data_item*, reporef*, tagref*)>
|
||||
<!ATTLIST source
|
||||
id CDATA #IMPLIED
|
||||
handle ID #REQUIRED
|
||||
@ -248,7 +249,7 @@ PLACES
|
||||
<!ELEMENT places (placeobj)*>
|
||||
|
||||
<!ELEMENT placeobj (ptitle?, coord?, location*, objref*, url*, noteref*,
|
||||
citationref*)>
|
||||
citationref*, tagref*)>
|
||||
<!ATTLIST placeobj
|
||||
id CDATA #IMPLIED
|
||||
handle ID #REQUIRED
|
||||
@ -305,7 +306,7 @@ REPOSITORIES
|
||||
|
||||
<!ELEMENT repositories (repository)*>
|
||||
|
||||
<!ELEMENT repository (rname, type, address*, url*, noteref*)>
|
||||
<!ELEMENT repository (rname, type, address*, url*, noteref*, tagref*)>
|
||||
<!ATTLIST repository
|
||||
id CDATA #IMPLIED
|
||||
handle ID #REQUIRED
|
||||
@ -368,7 +369,7 @@ CITATIONS
|
||||
<!ELEMENT citations (citation)*>
|
||||
|
||||
<!ELEMENT citation ((daterange|datespan|dateval|datestr)?, page?, confidence?,
|
||||
noteref*, objref*, data_item*, sourceref)>
|
||||
noteref*, objref*, data_item*, sourceref, tagref*)>
|
||||
<!ATTLIST citation
|
||||
id CDATA #IMPLIED
|
||||
handle ID #REQUIRED
|
||||
|
@ -32,7 +32,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.6.0/"
|
||||
xmlns="http://relaxng.org/ns/structure/1.0">
|
||||
|
||||
<start><element name="database">
|
||||
@ -160,6 +160,9 @@
|
||||
<value>0</value>
|
||||
<value>1</value>
|
||||
</choice></attribute></optional>
|
||||
<zeroOrMore><element name="tagref">
|
||||
<ref name="tagref-content"/>
|
||||
</element></zeroOrMore>
|
||||
</define>
|
||||
|
||||
<define name="person-content">
|
||||
@ -205,9 +208,6 @@
|
||||
<zeroOrMore><element name="citationref">
|
||||
<ref name="citationref-content"/>
|
||||
</element></zeroOrMore>
|
||||
<zeroOrMore><element name="tagref">
|
||||
<ref name="tagref-content"/>
|
||||
</element></zeroOrMore>
|
||||
</define>
|
||||
|
||||
<define name="child-rel">
|
||||
@ -403,9 +403,6 @@
|
||||
<zeroOrMore><element name="citationref">
|
||||
<ref name="citationref-content"/>
|
||||
</element></zeroOrMore>
|
||||
<zeroOrMore><element name="tagref">
|
||||
<ref name="tagref-content"/>
|
||||
</element></zeroOrMore>
|
||||
</define>
|
||||
|
||||
<define name="event-content">
|
||||
@ -520,9 +517,6 @@
|
||||
<zeroOrMore><element name="citationref">
|
||||
<ref name="citationref-content"/>
|
||||
</element></zeroOrMore>
|
||||
<zeroOrMore><element name="tagref">
|
||||
<ref name="tagref-content"/>
|
||||
</element></zeroOrMore>
|
||||
</define>
|
||||
|
||||
<define name="repository-content">
|
||||
@ -581,9 +575,6 @@
|
||||
</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">
|
||||
|
@ -1,14 +0,0 @@
|
||||
# This is the data/man level Makefile for Gramps
|
||||
# $Id$
|
||||
|
||||
SUBDIRS = fr sv nl pl cs pt_BR
|
||||
|
||||
man_IN_FILES = gramps.1.in
|
||||
man_MANS = $(man_IN_FILES:.1.in=.1)
|
||||
|
||||
EXTRA_DIST = $(man_MANS) $(man_IN_FILES)
|
||||
|
||||
gramps.1: $(top_builddir)/config.status gramps.1.in
|
||||
cd $(top_builddir) && CONFIG_FILES=data/man/$@ $(SHELL) ./config.status
|
||||
|
||||
CLEANFILES=$(man_MANS)
|
@ -48,9 +48,9 @@ copyright = u'2012, Gramps project'
|
||||
# built documents.
|
||||
#
|
||||
# The short X.Y version.
|
||||
version = '4.0'
|
||||
version = '4.1'
|
||||
# The full version, including alpha/beta/rc tags.
|
||||
release = '4.0.0'
|
||||
release = 'trunk'
|
||||
|
||||
# The language for content autogenerated by Sphinx. Refer to documentation
|
||||
# for a list of supported languages.
|
||||
|
@ -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)
|
@ -5,11 +5,11 @@ gramps(1) 3.4.0 gramps(1)
|
||||
|
||||
|
||||
|
||||
JMÉNO
|
||||
**JMÉNO**
|
||||
gramps - programový systém pro správu genealogického výzkumu a analýzy.
|
||||
|
||||
|
||||
POUŽITÍ
|
||||
**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
|
||||
@ -17,7 +17,7 @@ POUŽITÍ
|
||||
SOUBOR ] [--version]
|
||||
|
||||
|
||||
POPIS
|
||||
**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
|
||||
@ -26,8 +26,8 @@ POPIS
|
||||
rozšířen a je využíván téměř všemi ostatními genealogickými programy.
|
||||
|
||||
|
||||
MOŽNOSTI
|
||||
gramps SOUBOR
|
||||
**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
|
||||
@ -39,7 +39,7 @@ MOŽNOSTI
|
||||
data ve formátu podporovaném gramps, viz dále.
|
||||
|
||||
|
||||
-f,--format= FORMÁT
|
||||
**-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
|
||||
@ -60,21 +60,22 @@ MOŽNOSTI
|
||||
parametrem -f).
|
||||
|
||||
|
||||
-l Vypíše seznam známých rodokmenů.
|
||||
**-l**
|
||||
Vypíše seznam známých rodokmenů.
|
||||
|
||||
|
||||
-u,--force-unlock
|
||||
**-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
|
||||
**-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
|
||||
**-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.
|
||||
|
||||
@ -85,7 +86,7 @@ MOŽNOSTI
|
||||
různá gramps ID.
|
||||
|
||||
|
||||
-a,--action= AKCE
|
||||
**-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
|
||||
@ -104,17 +105,17 @@ MOŽNOSTI
|
||||
konkrétní nástroj nebo zprávu. Existují ale i takové, které
|
||||
jsou společné.
|
||||
|
||||
name=name
|
||||
**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
|
||||
**show=all**
|
||||
Vytvoří seznam názvů všech předvoleb dostupných pro danou zprávu
|
||||
nebo nástroj.
|
||||
|
||||
show=optionname
|
||||
**show=optionname**
|
||||
Vypíše popis všech funkcionalit poskytnutých optionname, ale
|
||||
také všechny přijatelné typy a hodnoty pro tuto volbu.
|
||||
|
||||
@ -126,17 +127,17 @@ MOŽNOSTI
|
||||
předvolbou -a. Akce jsou prováděny jedna za druhou v zadaném pořadí.
|
||||
|
||||
|
||||
-d,--debug= LOGGER_NAME
|
||||
**-d** , **--debug=** *LOGGER_NAME*
|
||||
Zapne ladicí výstup pro vývoj a testování. Detaily najdete ve
|
||||
zdrojovém kódu.
|
||||
|
||||
--version
|
||||
**--version**
|
||||
Vytiskne číslo verze gramps a skončí
|
||||
|
||||
|
||||
|
||||
|
||||
Chování
|
||||
**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é
|
||||
@ -174,7 +175,7 @@ Chování
|
||||
obvyklá přesměrování výstupů stdout a stderr příkazové řádky.
|
||||
|
||||
|
||||
PŘÍKLADY
|
||||
**PŘÍKLADY**
|
||||
Otevření existujícího rodokmenu a import xml souboru do něho může být
|
||||
proveden takto:
|
||||
|
||||
@ -216,20 +217,20 @@ PŘÍKLADY
|
||||
gramps
|
||||
|
||||
|
||||
PROMĚNNÉ PROSTŘEDÍ
|
||||
**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
|
||||
**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
|
||||
**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
|
||||
**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
|
||||
@ -240,17 +241,22 @@ KONCEPTY
|
||||
nebo LaTeX. Tím dává možnost přizpůsobit formát požadavku uživatelů.
|
||||
|
||||
|
||||
ZNÁMÉ CHYBY A OMEZENÍ
|
||||
**ZNÁMÉ CHYBY A OMEZENÍ**
|
||||
nejsou
|
||||
|
||||
|
||||
SOUBORY
|
||||
${PREFIX}/bin/gramps
|
||||
${PREFIX}/share/gramps
|
||||
${HOME}/.gramps
|
||||
**SOUBORY**
|
||||
|
||||
*${PREFIX}/bin/gramps*
|
||||
|
||||
*${PREFIX}/lib/python/dist-packages/gramps/*
|
||||
|
||||
*${PREFIX}/share/*
|
||||
|
||||
*${HOME}/.gramps*
|
||||
|
||||
|
||||
AUTOŘI
|
||||
**AUTOŘI**
|
||||
Donald Allingham <don@gramps-project.org>
|
||||
http://gramps-project.org/
|
||||
|
||||
@ -262,7 +268,7 @@ AUTOŘI
|
||||
Zdeněk Hataš <zdenek.hatas@gmail.com>
|
||||
|
||||
|
||||
DOKUMENTACE
|
||||
**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-
|
||||
@ -273,4 +279,4 @@ DOKUMENTACE
|
||||
|
||||
|
||||
|
||||
Leden 2011 3.4.0 gramps(1)
|
||||
Leden 2012 3.4.0 gramps(1)
|
||||
|
@ -1,7 +1,7 @@
|
||||
English
|
||||
=======
|
||||
|
||||
gramps(1) 4.0.0 gramps(1)
|
||||
gramps(1) @VERSION@ gramps(1)
|
||||
|
||||
|
||||
|
||||
@ -262,11 +262,14 @@ gramps(1) 4.0.0 gramps(1)
|
||||
|
||||
|
||||
**KNOWN BUGS AND LIMITATIONS**
|
||||
**FILES**
|
||||
|
||||
**FILES**
|
||||
|
||||
*${PREFIX}/bin/gramps*
|
||||
|
||||
*${PREFIX}/share/gramps*
|
||||
*${PREFIX}/lib/python/dist-packages/gramps/*
|
||||
|
||||
*${PREFIX}/share/*
|
||||
|
||||
*${HOME}/.gramps*
|
||||
|
||||
@ -293,4 +296,4 @@ gramps(1) 4.0.0 gramps(1)
|
||||
|
||||
|
||||
|
||||
January 2013 4.0.0 gramps(1)
|
||||
gramps(1) @VERSION@ gramps(1)
|
||||
|
@ -1,14 +0,0 @@
|
||||
# This is the data/man/fr level Makefile for Gramps
|
||||
# $Id$
|
||||
|
||||
man_IN_FILES = gramps.1.in
|
||||
man_MANS = $(man_IN_FILES:.1.in=.1)
|
||||
|
||||
mandir = @mandir@/fr
|
||||
|
||||
EXTRA_DIST = $(man_MANS) $(man_IN_FILES)
|
||||
|
||||
gramps.1: $(top_builddir)/config.status gramps.1.in
|
||||
cd $(top_builddir) && CONFIG_FILES=data/man/fr/$@ $(SHELL) ./config.status
|
||||
|
||||
CLEANFILES=$(man_MANS)
|
@ -48,9 +48,9 @@ copyright = u'2012, Gramps project'
|
||||
# built documents.
|
||||
#
|
||||
# The short X.Y version.
|
||||
version = '4.0'
|
||||
version = '4.1'
|
||||
# The full version, including alpha/beta/rc tags.
|
||||
release = '4.0.0'
|
||||
release = 'trunk'
|
||||
|
||||
# The language for content autogenerated by Sphinx. Refer to documentation
|
||||
# for a list of supported languages.
|
||||
|
@ -1,9 +1,7 @@
|
||||
French
|
||||
=======
|
||||
|
||||
|
||||
gramps(1) 4.0.0 gramps(1)
|
||||
|
||||
gramps(1) @VERSION@ gramps(1)
|
||||
|
||||
|
||||
**NOM**
|
||||
@ -34,33 +32,33 @@ gramps(1) 4.0.0 gramps(1)
|
||||
|
||||
**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.
|
||||
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.
|
||||
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 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'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** .
|
||||
Les formats disponibles pour l'exportation sont **gramps-xml** , **ged‐
|
||||
com** , **gramps-pkg** , **wft** (deviné si *FICHIER* se termine par **.wft** ),
|
||||
**geneweb** .
|
||||
|
||||
|
||||
**-l**
|
||||
@ -68,29 +66,29 @@ gramps(1) 4.0.0 gramps(1)
|
||||
|
||||
|
||||
**-u** , **--force-unlock**
|
||||
Débloquer une base de données verrouillée.
|
||||
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.
|
||||
Ouvrir une *BASE_DE_DONNEES* qui doit être une base présente dans
|
||||
le répertoire des bases ou le nom d'un arbre familial existant.
|
||||
Si aucune action n'est définie, les options d'import ou d'export
|
||||
sont données par la ligne de commande puis une session interactive
|
||||
est ouverte, utilisant cette base de données.
|
||||
|
||||
Seulement une base peut être ouverte. Si vous utilisez plusieurs
|
||||
sources, vous devez utiliser l'option d'import.
|
||||
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.
|
||||
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.
|
||||
Quand plus d'un fichier doit être importé, chacun doit être
|
||||
précédé par la commande **-i** . Ces fichiers sont importés dans le
|
||||
même ordre, **-i** *FICHIER1* **-i** *FICHIER2* et **-i** *FICHIER2* **-i**
|
||||
*FICHIER1* vont tous les deux produire différents IDs gramps.
|
||||
|
||||
|
||||
**-e** , **--export=** *FICHIER*
|
||||
@ -104,40 +102,38 @@ gramps(1) 4.0.0 gramps(1)
|
||||
|
||||
|
||||
**-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 com‐
|
||||
mande -p.
|
||||
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.
|
||||
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.
|
||||
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 mod‐
|
||||
ule disponible, un message d'erreur sera ajouté.
|
||||
**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=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 fonction‐
|
||||
nalités proposées par optionname, aussi bien les types que les
|
||||
valeurs pour une option.
|
||||
**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.
|
||||
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
|
||||
@ -146,23 +142,23 @@ gramps(1) 4.0.0 gramps(1)
|
||||
|
||||
|
||||
**-d** , **--debug=** *NOM_LOGGER*
|
||||
Permet les logs de debug pour le développement et les tests.
|
||||
Regarder le code source pour les détails.
|
||||
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.
|
||||
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‐
|
||||
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
|
||||
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.
|
||||
|
||||
@ -172,8 +168,8 @@ gramps(1) 4.0.0 gramps(1)
|
||||
|
||||
|
||||
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 tou‐
|
||||
jours être la première !
|
||||
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
|
||||
@ -185,7 +181,7 @@ gramps(1) 4.0.0 gramps(1)
|
||||
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
|
||||
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
|
||||
@ -193,46 +189,46 @@ gramps(1) 4.0.0 gramps(1)
|
||||
|
||||
|
||||
**EXEMPLES**
|
||||
Pour ouvrir un arbre familial et y importer un fichier XML, on peut
|
||||
Pour ouvrir un arbre familial et y importer un fichier XML, on peut
|
||||
saisir:
|
||||
|
||||
**gramps -O** *'Mon Arbre Familial'* **-i** *~/db3.gramps*
|
||||
**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:
|
||||
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*
|
||||
**gramps -i** *'Mon Arbre Familial'* **-i** *~/db3.gramps*
|
||||
|
||||
Lecture de quatre bases de données dont les formats peuvent être
|
||||
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 les formats de fichiers dans l'exemple ci-
|
||||
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
|
||||
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 interac‐
|
||||
tive de gramps sur le tout :
|
||||
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*
|
||||
**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
|
||||
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*
|
||||
**gramps -O** *'My Family Tree'* **-a** *tool* **-p name=** *verify*
|
||||
|
||||
Enfin, pour lancer une session interactive normale, entrer :
|
||||
|
||||
@ -242,35 +238,37 @@ gramps(1) 4.0.0 gramps(1)
|
||||
**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
|
||||
**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‐
|
||||
**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 pro‐
|
||||
gramme.
|
||||
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
|
||||
*HTML* , ou *LaTeX* pour permettre à l'utilisateur de choisir selon ses
|
||||
besoins
|
||||
|
||||
|
||||
**BUGS CONNUS ET LIMITATIONS**
|
||||
|
||||
**FICHIERS**
|
||||
|
||||
*${PREFIX}/bin/gramps*
|
||||
|
||||
*${PREFIX}/share/gramps*
|
||||
*${PREFIX}/lib/python/dist-packages/gramps/*
|
||||
|
||||
*${PREFIX}/share/*
|
||||
|
||||
*${HOME}/.gramps*
|
||||
|
||||
@ -279,24 +277,24 @@ gramps(1) 4.0.0 gramps(1)
|
||||
Donald Allingham <don@gramps-project.org>
|
||||
http://gramps-project.org/
|
||||
|
||||
Cette page man a d'abord été écrite par:
|
||||
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:
|
||||
Cette page man est maintenue par :
|
||||
Gramps project <xxx@gramps-project.org>
|
||||
|
||||
La traduction française:
|
||||
La traduction française :
|
||||
Jérôme Rapinat <romjerome@yahoo.fr>
|
||||
|
||||
|
||||
**DOCUMENTATION**
|
||||
La documentation-utilisateur est disponible par via un navigateur
|
||||
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
|
||||
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)
|
||||
gramps(1) @VERSION@ gramps(1)
|
||||
|
@ -1,4 +1,4 @@
|
||||
.TH "GRAMPS" "1" "02 December 2012" "4.0" "Gramps"
|
||||
.TH "GRAMPS" "1" "28 December 2012" "4.0" "Gramps"
|
||||
.SH NAME
|
||||
gramps \- Gramps Documentation
|
||||
.
|
||||
@ -28,10 +28,10 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
|
||||
..
|
||||
.\" Man page generated from reStructeredText.
|
||||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.sp
|
||||
gramps(1) 4.0.0 gramps(1)
|
||||
gramps(1) @VERSION@ gramps(1)
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \fBNOM\fP
|
||||
@ -72,7 +72,7 @@ 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 ,
|
||||
\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
|
||||
@ -96,10 +96,10 @@ Débloquer une base de données verrouillée.
|
||||
.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.
|
||||
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.
|
||||
sont données par la ligne de commande puis une session interactive
|
||||
est ouverte, utilisant cette base de données.
|
||||
.sp
|
||||
Seulement une base peut être ouverte. Si vous utilisez plusieurs
|
||||
sources, vous devez utiliser l\(aqoption d\(aqimport.
|
||||
@ -109,9 +109,9 @@ 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
|
||||
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
|
||||
même ordre, \fB\-i\fP \fIFICHIER1\fP \fB\-i\fP \fIFICHIER2\fP et \fB\-i\fP \fIFICHIER2\fP \fB\-i\fP
|
||||
\fIFICHIER1\fP vont tous les deux produire différents IDs gramps.
|
||||
.TP
|
||||
.B \fB\-e\fP , \fB\-\-export=\fP \fIFICHIER\fP
|
||||
@ -125,38 +125,36 @@ même ordre.
|
||||
.TP
|
||||
.B \fB\-a\fP , \fB\-\-action=\fP \fIACTION\fP
|
||||
Accomplir une \fIACTION\fP sur les données importées. C\(aqest effectué à
|
||||
la fin de l\(aqimportation. Les actions possibles sont \fBsummary\fP
|
||||
(comme le rapport \-> Afficher \-> Statistiques sur la base),
|
||||
\fBcheck\fP (comme l\(aqoutil \-> Réparation de la base \-> Vérifier et
|
||||
réparer), \fBreport\fP (produit un rapport) et \fBtool\fP (utilise un
|
||||
outil), ces derniers ont besoin de OPTION précédé par la com‐
|
||||
mande \-p.
|
||||
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
|
||||
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
|
||||
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 mod‐
|
||||
ule disponible, un message d\(aqerreur sera ajouté.
|
||||
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
|
||||
Cette option produit une liste avec les noms des options
|
||||
disponibles pour un rapport donné.
|
||||
.sp
|
||||
\fBshow=optionname\fP
|
||||
Cette option affiche une description de toutes les fonction‐
|
||||
nalités proposées par optionname, aussi bien les types que les
|
||||
valeurs pour une option.
|
||||
Cette option affiche une description de toutes les fonctionnalités
|
||||
proposées par optionname, aussi bien les types que les valeurs pour une option.
|
||||
.sp
|
||||
Utiliser les options ci\-dessus pour trouver tout sur un rapport
|
||||
Utiliser les options ci\-dessus pour trouver tout sur un rapport
|
||||
choisi.
|
||||
.UNINDENT
|
||||
.sp
|
||||
@ -166,7 +164,7 @@ 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.
|
||||
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
|
||||
@ -175,11 +173,11 @@ Imprime le numéro de version pour gramps puis quitte.
|
||||
.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‐
|
||||
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
|
||||
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
|
||||
@ -187,8 +185,8 @@ 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 tou‐
|
||||
jours être la première !
|
||||
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.
|
||||
@ -204,7 +202,7 @@ Utilisez les shell de redirection de \fIstdout\fP et \fIstderr\fP pour sauver
|
||||
les messages et les erreurs dans les fichiers.
|
||||
.TP
|
||||
.B \fBEXEMPLES\fP
|
||||
Pour ouvrir un arbre familial et y importer un fichier XML, on peut
|
||||
Pour ouvrir un arbre familial et y importer un fichier XML, on peut
|
||||
saisir:
|
||||
.INDENT 7.0
|
||||
.INDENT 3.5
|
||||
@ -212,16 +210,16 @@ saisir:
|
||||
.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:
|
||||
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
|
||||
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
|
||||
@ -230,7 +228,7 @@ devinés d\(aqaprès les noms, puis vérification des données:
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.sp
|
||||
Si vous voulez préciser les formats de fichiers dans l\(aqexemple ci\-
|
||||
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
|
||||
@ -240,8 +238,8 @@ dessus, complétez les noms de fichiers par les options \-f appropriées:
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.sp
|
||||
Pour enregistrer le résultat des lectures, donnez l\(aqoption \-e
|
||||
(utiliser \-f si le nom de fichier ne permet pas à gramps de deviner le
|
||||
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
|
||||
@ -250,15 +248,15 @@ format):
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.sp
|
||||
Pour lire trois ensembles de données puis lancer une session interac‐
|
||||
tive de gramps sur le tout :
|
||||
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
|
||||
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
|
||||
@ -276,35 +274,37 @@ Enfin, pour lancer une session interactive normale, entrer :
|
||||
.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
|
||||
\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‐
|
||||
\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).
|
||||
.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 pro‐
|
||||
gramme.
|
||||
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
|
||||
\fIHTML\fP , ou \fILaTeX\fP pour permettre à l\(aqutilisateur de choisir selon ses
|
||||
besoins
|
||||
.UNINDENT
|
||||
.sp
|
||||
\fBBUGS CONNUS ET LIMITATIONS\fP
|
||||
.sp
|
||||
\fBFICHIERS\fP
|
||||
.INDENT 0.0
|
||||
.INDENT 3.5
|
||||
\fI${PREFIX}/bin/gramps\fP
|
||||
.sp
|
||||
\fI${PREFIX}/share/gramps\fP
|
||||
\fI${PREFIX}/lib/python/dist\-packages/gramps/\fP
|
||||
.sp
|
||||
\fI${PREFIX}/share/\fP
|
||||
.sp
|
||||
\fI${HOME}/.gramps\fP
|
||||
.UNINDENT
|
||||
@ -315,29 +315,28 @@ besoins
|
||||
Donald Allingham <\fI\%don@gramps-project.org\fP>
|
||||
\fI\%http://gramps-project.org/\fP
|
||||
.sp
|
||||
Cette page man a d\(aqabord été écrite par:
|
||||
Cette page man a d\(aqabord été écrite par :
|
||||
Brandon L. Griffith <\fI\%brandon@debian.org\fP>
|
||||
pour Debian GNU/Linux système.
|
||||
.sp
|
||||
Cette page man est maintenue par:
|
||||
Cette page man est maintenue par :
|
||||
Gramps project <\fI\%xxx@gramps-project.org\fP>
|
||||
.sp
|
||||
La traduction française:
|
||||
La traduction française :
|
||||
Jérôme Rapinat <\fI\%romjerome@yahoo.fr\fP>
|
||||
.TP
|
||||
.B \fBDOCUMENTATION\fP
|
||||
La documentation\-utilisateur est disponible par via un navigateur
|
||||
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
|
||||
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)
|
||||
gramps(1) @VERSION@ gramps(1)
|
||||
.SH AUTHOR
|
||||
Jerome Rapinat
|
||||
.SH COPYRIGHT
|
||||
2012, Gramps project
|
||||
.\" Generated by docutils manpage writer.
|
||||
.\"
|
||||
.
|
||||
|
@ -298,9 +298,11 @@ or LaTeX to allow the users to modify the format to suit their needs.
|
||||
|
||||
.SH FILES
|
||||
.LP
|
||||
\fI${PREFIX}/bin/gramps\fP
|
||||
\fI${PREFIX}/bin/gramps\fP
|
||||
.br
|
||||
\fI${PREFIX}/share/gramps\fP
|
||||
\fI${PREFIX}/lib/python/dist\-packages/gramps/\fP
|
||||
.br
|
||||
\fI${PREFIX}/share/\fP
|
||||
.br
|
||||
\fI${HOME}/.gramps\fP
|
||||
|
||||
|
@ -1,15 +0,0 @@
|
||||
# This is the data/man/nl level Makefile for Gramps
|
||||
# $Id: Makefile.am 9819 2008-01-15 15:42:10Z bmcage $
|
||||
|
||||
mandir = @mandir@/nl
|
||||
|
||||
man_IN_FILES = gramps.1.in
|
||||
man_MANS = $(man_IN_FILES:.1.in=.1)
|
||||
|
||||
EXTRA_DIST = $(man_MANS) $(man_IN_FILES)
|
||||
|
||||
gramps.1: $(top_builddir)/config.status gramps.1.in
|
||||
cd $(top_builddir) && CONFIG_FILES=data/man/nl/$@ $(SHELL) ./config.status
|
||||
|
||||
CLEANFILES=$(man_MANS)
|
||||
|
@ -5,11 +5,11 @@ gramps(1) 3.4.0 gramps(1)
|
||||
|
||||
|
||||
|
||||
NAAM
|
||||
**NAAM**
|
||||
gramps - Genealogisch Onderzoek en Analyse Beheersysteem.
|
||||
|
||||
|
||||
SAMENVATTING
|
||||
**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]]
|
||||
@ -17,7 +17,7 @@ SAMENVATTING
|
||||
sion]
|
||||
|
||||
|
||||
BESCHRIJVING
|
||||
**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
|
||||
@ -27,14 +27,14 @@ BESCHRIJVING
|
||||
che software.
|
||||
|
||||
|
||||
OPTIES
|
||||
grampsBESTAND
|
||||
Wanneer BESTAND opgegeven wordt (zonder vlaggen) als een famili‐
|
||||
**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
|
||||
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.
|
||||
@ -42,7 +42,7 @@ OPTIES
|
||||
Gramps behandelen, zie onder.
|
||||
|
||||
|
||||
-f,--format= FORMAAT
|
||||
**-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
|
||||
@ -216,7 +216,7 @@ OPTIES
|
||||
**gramps**
|
||||
|
||||
|
||||
CONCEPTEN
|
||||
**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.
|
||||
@ -226,17 +226,20 @@ CONCEPTEN
|
||||
of LaTeX. Zo kunnen gebruikers het formaat wijzigen naar eigen wens.
|
||||
|
||||
|
||||
GEKENDE BUGS EN BEPERKINGEN
|
||||
BESTANDEN
|
||||
**GEKENDE BUGS EN BEPERKINGEN**
|
||||
|
||||
**BESTANDEN**
|
||||
|
||||
*${PREFIX}/bin/gramps*
|
||||
|
||||
*${PREFIX}/share/gramps*
|
||||
*${PREFIX}/lib/python/dist-packages/gramps/*
|
||||
|
||||
*${PREFIX}/share/*
|
||||
|
||||
*${HOME}/.gramps*
|
||||
|
||||
|
||||
AUTEURS
|
||||
**AUTEURS**
|
||||
Donald Allingham <don@gramps-project.org>
|
||||
http://gramps-project.org/
|
||||
|
||||
@ -251,11 +254,8 @@ AUTEURS
|
||||
Erik De Richter <frederik.de.richter@pandora.be>
|
||||
|
||||
|
||||
DOCUMENTATIE
|
||||
De gebruikersdocumentatie is beschikbaar via de normale GNOME Help
|
||||
browser in de vorm van een Gramps-handleiding. De handleiding is ook
|
||||
beschikbaar in XML-formaat: gramps-manual.xml onder doc/gramps-man‐
|
||||
ual/$LANG in de officiële brondistributie.
|
||||
**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
|
||||
@ -263,4 +263,4 @@ DOCUMENTATIE
|
||||
|
||||
|
||||
|
||||
August 2005 3.4.0 gramps(1)
|
||||
August 2005 4.0.0 gramps(1)
|
||||
|
@ -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@/pl
|
||||
|
||||
EXTRA_DIST = $(man_MANS) $(man_IN_FILES)
|
||||
|
||||
gramps.1: $(top_builddir)/config.status gramps.1.in
|
||||
cd $(top_builddir) && CONFIG_FILES=data/man/pl/$@ $(SHELL) ./config.status
|
||||
|
||||
CLEANFILES=$(man_MANS)
|
@ -5,14 +5,14 @@ gramps(1) 3.4.0 gramps(1)
|
||||
|
||||
|
||||
|
||||
NAME
|
||||
**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
|
||||
**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
|
||||
@ -20,7 +20,7 @@ SYNOPSIS
|
||||
[ PLIK ] [--version]
|
||||
|
||||
|
||||
OPIS
|
||||
**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
|
||||
@ -30,9 +30,9 @@ OPIS
|
||||
jest używany przez większość programów genealogicznych na świecie.
|
||||
|
||||
|
||||
OPCJE
|
||||
gramps PLIK
|
||||
Kiedy PLIK jest podany (bez żadnych flag) jako nazwa drzewa
|
||||
**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
|
||||
@ -43,7 +43,7 @@ OPCJE
|
||||
akceptuje każdy format natywny dla grampsa, zobacz poniżej.
|
||||
|
||||
|
||||
-f,--format= FORMAT
|
||||
**-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.
|
||||
@ -63,22 +63,23 @@ OPCJE
|
||||
iso (używany tylko, jeśli jawnie określony przez parametr -f ).
|
||||
|
||||
|
||||
-l Wyświetla listę dosŧępnych drzew genealogicznych.
|
||||
**-l**
|
||||
Wyświetla listę dosŧępnych drzew genealogicznych.
|
||||
|
||||
|
||||
-u,--force-unlock
|
||||
**-u** , **--force-unlock**
|
||||
Wymusza odblokowanie bazy danych.
|
||||
|
||||
|
||||
-O,--open= BAZA_DANYCH
|
||||
Otwiera BAZĘ_DANYCH, która musi istnieć w katalogu baz lub być
|
||||
**-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
|
||||
**-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
|
||||
@ -88,8 +89,8 @@ OPCJE
|
||||
bazie wynikowej.
|
||||
|
||||
|
||||
-e,--export= PLIK
|
||||
Eksportuje dane do PLIKU. Dla formatu iso, PLIK natomiast nazwą
|
||||
**-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.
|
||||
@ -99,7 +100,7 @@ OPCJE
|
||||
podanej przez parametry kolejności.
|
||||
|
||||
|
||||
-a,--action= AKCJA
|
||||
**-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:
|
||||
@ -122,18 +123,18 @@ OPCJE
|
||||
konkretnej opcji, jednak część z opcji jest wspólna, szczególnie
|
||||
dla raportów.
|
||||
|
||||
name=nazwa
|
||||
**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
|
||||
**show=all**
|
||||
Wyświetla listę wszystkich nazw dostępnych opcji wraz z krótkim
|
||||
opisem dla danego raportu albo narzędzia.
|
||||
|
||||
show=nazwa_opcji
|
||||
**show=nazwa_opcji**
|
||||
Wyświetla opis funkcji udostępnianej przez daną nazwę_opcji, jak
|
||||
również listę parametrów, które akceptuje dana opcja.
|
||||
|
||||
@ -146,43 +147,16 @@ OPCJE
|
||||
jności w jakiej występują w linii poleceń.
|
||||
|
||||
|
||||
-d,--debug= NAZWA_LOGGERA
|
||||
**-d** , **--debug=** *NAZWA_LOGGERA*
|
||||
Włącza logi debuggowania dla celów programistycznych i
|
||||
testowych. Zobacz do kodu źródłowego po szczegóły.
|
||||
|
||||
|
||||
--version
|
||||
**--version**
|
||||
Wyświetla wersję programu i kończy działanie.
|
||||
|
||||
|
||||
|
||||
Następujące opcje są używane przy aktywacji Bonobo:
|
||||
|
||||
--oaf-ior-fd=FD
|
||||
Deskryptor pliku, do którego wpisać OAF IOR.
|
||||
|
||||
--oaf-activate-iid= IID
|
||||
OAF IID do aktywacji.
|
||||
|
||||
--oaf-private
|
||||
Wstgrzymuje rejestrację serwera przez OAF.
|
||||
|
||||
|
||||
|
||||
Następujące opcje są używane do kontroli dźwięku generowanego za pomocą
|
||||
Gnome Library.
|
||||
|
||||
--disable-sound
|
||||
Wyłącza użycie serwera dźwięku.
|
||||
|
||||
--enable-sound
|
||||
Włącza użycie serwera dźwięku.
|
||||
|
||||
--espeaker= HOSTNAME:PORT
|
||||
Host:port na którym jest uruchomiony serwer dźwięku.
|
||||
|
||||
|
||||
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
|
||||
@ -222,7 +196,7 @@ Działanie
|
||||
cje i błędy do pliku.
|
||||
|
||||
|
||||
PRZYKŁADY
|
||||
**PRZYKŁADY**
|
||||
Aby otworzyć istniejące drzewo rodzinne i zaimportować dane do niego,
|
||||
można wpisać:
|
||||
|
||||
@ -267,21 +241,22 @@ PRZYKŁADY
|
||||
gramps
|
||||
|
||||
|
||||
ZMIENNE ŚRODOWISKOWE
|
||||
**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
|
||||
**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
|
||||
**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
|
||||
**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
|
||||
@ -292,19 +267,24 @@ KONCEPCJA
|
||||
użytkownikm wybór formatu wyjściowego w zależności od ich potrzeb.
|
||||
|
||||
|
||||
ZNANE BŁĘDY I OGRANICZENIA
|
||||
**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)
|
||||
**PLIKI**
|
||||
|
||||
*${PREFIX}/bin/gramps*
|
||||
|
||||
*${PREFIX}/lib/python/dist-packages/gramps/*
|
||||
|
||||
*${PREFIX}/share/*
|
||||
|
||||
*${HOME}/.gramps (jeśli nie użyta została zmienna środowiskowa GRAMP‐
|
||||
SHOME)*
|
||||
|
||||
|
||||
AUTORZY
|
||||
**AUTORZY**
|
||||
Donald Allingham <don@gramps-project.org>
|
||||
http://gramps-project.org/
|
||||
|
||||
@ -317,15 +297,12 @@ AUTORZY
|
||||
Tłumaczenie na polski: Łukasz Rymarczyk <yenidai@poczta.onet.pl>
|
||||
|
||||
|
||||
DOCUMENTATION
|
||||
Dokumentacja użytkownika jest dostępna poprzez standardową przeglądarkę
|
||||
pomocy systemu GNOME. Dokumentacja dostępna jest także w formacie XML
|
||||
jako plik gramps-manual.xml w folderze doc/gramps-manual/$LANG w
|
||||
głównym źródle dystrybucji.
|
||||
**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 3.4.0 gramps(1)
|
||||
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)
|
@ -6,306 +6,288 @@ gramps(1) 4.0.0 gramps(1)
|
||||
|
||||
**NOME**
|
||||
|
||||
----
|
||||
|
||||
gramps - Programa para pesquisa geneal?gica.
|
||||
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]
|
||||
|
||||
**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**
|
||||
|
||||
**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.
|
||||
|
||||
-----------
|
||||
|
||||
*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.
|
||||
|
||||
OP??ES
|
||||
|
||||
--------
|
||||
**-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.
|
||||
|
||||
**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.
|
||||
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.
|
||||
|
||||
|
||||
**-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 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** (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 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.
|
||||
|
||||
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**).
|
||||
|
||||
**-u** , **--force-unlock**
|
||||
Desbloqueia um banco de dados previamente bloqueado.
|
||||
|
||||
Os formatos dispon?veis para exporta??o s?o **gramps-xml**, **gedcom**,
|
||||
**gramps-pkg**, **wft** (se o *ARQUIVO* terminar com **.wft**), **geneweb**,
|
||||
e **iso** (deve sempre ser indicado com a op??o **-f**).
|
||||
|
||||
**-l** Exibe uma lista com as ?rvores geneal?gicas conhecidas.
|
||||
**-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.
|
||||
|
||||
**-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.
|
||||
|
||||
**-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.
|
||||
|
||||
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**).
|
||||
**-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.
|
||||
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.
|
||||
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*).
|
||||
**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=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.
|
||||
**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.
|
||||
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.
|
||||
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.
|
||||
**-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.
|
||||
|
||||
|
||||
Opera??o
|
||||
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.
|
||||
|
||||
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.
|
||||
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!
|
||||
|
||||
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 **-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**.
|
||||
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.
|
||||
|
||||
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:
|
||||
**EXEMPLOS**
|
||||
|
||||
**gramps** **-O** *'Minha ?rvore geneal?gica'* **-i** *~/db3.gramps*
|
||||
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:
|
||||
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
|
||||
|
||||
**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
|
||||
|
||||
Importar quatro
|
||||
bancos de dados (cujos formatos podem ser reconhecidos pelos nomes) e
|
||||
verificar a exist?ncia de erros no banco de dados resultante:
|
||||
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
|
||||
|
||||
**gramps**
|
||||
**-i** *arquivo1.ged* **-i** *arquivo2.tgz* **-i** *~/db3.gramps* **-i**
|
||||
*arquivo4.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
|
||||
|
||||
Indicar de forma expl?cita os formatos do
|
||||
exemplo acima, atribuindo os nomes dos arquivos com as op??es **-f**
|
||||
apropriadas:
|
||||
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
|
||||
|
||||
**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*
|
||||
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
|
||||
|
||||
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):
|
||||
Finalmente, para iniciar uma sessão interativa normal, digite:
|
||||
|
||||
gramps
|
||||
|
||||
**VARIÁVEIS DE AMBIENTE**
|
||||
|
||||
**gramps** **-i** *arquivo1.ged* **-i** *arquivo2.tgz*
|
||||
**-e** *~/novo-pacote* **-f** *gramps-pkg*
|
||||
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.
|
||||
|
||||
Importar tr?s bancos de dados e iniciar a sess?o interativa do Gramps com o resultado:
|
||||
**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).
|
||||
|
||||
**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.
|
||||
|
||||
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`_>*
|
||||
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.
|
||||
|
||||
|
||||
|
||||
**DOCUMENTA??O**
|
||||
**LIMITAÇÕES E ERROS CONHECIDOS**
|
||||
|
||||
--------------
|
||||
*ARQUIVOS**
|
||||
|
||||
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 **gramps-manual.xml** em *doc/gramps-manual/$LANG* nas
|
||||
fontes oficiais da sua distribui??o.
|
||||
|
||||
A documenta??o para desenvolvedores pode ser encontrada na p?gina
|
||||
*`http://developers.gramps-project.org`_*.
|
||||
*${PREFIX}/bin/gramps*
|
||||
|
||||
*${PREFIX}/lib/python/dist-packages/gramps/*
|
||||
|
||||
*${PREFIX}/share/*
|
||||
|
||||
*${HOME}/.gramps*
|
||||
|
||||
|
||||
**TRADU??O**
|
||||
*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.
|
||||
|
||||
``Andr? Marcelo Alvarenga <`andrealvarenga@gmx.net`_> em 05/08/2012``
|
||||
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,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@/sv
|
||||
|
||||
EXTRA_DIST = $(man_MANS) $(man_IN_FILES)
|
||||
|
||||
gramps.1: $(top_builddir)/config.status gramps.1.in
|
||||
cd $(top_builddir) && CONFIG_FILES=data/man/sv/$@ $(SHELL) ./config.status
|
||||
|
||||
CLEANFILES=$(man_MANS)
|
@ -5,12 +5,12 @@ Gramps(1) 3.4.0 Gramps(1)
|
||||
|
||||
|
||||
|
||||
NAMN
|
||||
**NAMN**
|
||||
Gramps - Genealogical Research and Analysis Management Programming Sys‐
|
||||
tem.
|
||||
|
||||
|
||||
SAMMANFATTNING
|
||||
**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‐
|
||||
@ -18,7 +18,7 @@ SAMMANFATTNING
|
||||
[--version]
|
||||
|
||||
|
||||
BESKRIVNING
|
||||
**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,
|
||||
@ -27,9 +27,9 @@ BESKRIVNING
|
||||
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
|
||||
**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‐
|
||||
@ -40,7 +40,7 @@ ALTERNATIV
|
||||
Gramps, se nedan.
|
||||
|
||||
|
||||
-f,--format= FORMAT
|
||||
**-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
|
||||
@ -60,21 +60,22 @@ ALTERNATIV
|
||||
(gissas aldrig, specificeras alltid med -f-alternativ).
|
||||
|
||||
|
||||
-l Listar alla databaser/familjeträd.
|
||||
**-l**
|
||||
Listar alla databaser/familjeträd.
|
||||
|
||||
|
||||
-u,--force-unlock
|
||||
**-u** , **--force-unlock**
|
||||
Tvingar upplåsning av databas.
|
||||
|
||||
|
||||
-O,--open= DATABAS
|
||||
Öppnar DATABAS, som måste vara en befitlig databasmapp eller ett
|
||||
**-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
|
||||
**-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.
|
||||
|
||||
@ -84,25 +85,25 @@ ALTERNATIV
|
||||
resulterande databasen.
|
||||
|
||||
|
||||
-e,--export= FIL
|
||||
Exporterar data till FIL. För iso-format, är FIL i själva verket
|
||||
**-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‐
|
||||
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
|
||||
**-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 ) .
|
||||
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:
|
||||
*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
|
||||
@ -112,17 +113,17 @@ ALTERNATIV
|
||||
De flesta rapportalternativ är unika för varje rapport eller
|
||||
verktyg. Emellertid finns det gemensamm alternativ.
|
||||
|
||||
name=rapportnamn
|
||||
**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
|
||||
**show=all**
|
||||
Detta ger en lista med namn på alla möjliga alternativ för en
|
||||
bestämd rapport eller verktyg.
|
||||
|
||||
show=optionname
|
||||
**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.
|
||||
@ -135,15 +136,15 @@ ALTERNATIV
|
||||
Åtgärderna utförs en och en i den givna turordningen.
|
||||
|
||||
|
||||
-d,--debug= LOGGER_NAME
|
||||
**-d** , **--debug=** *LOGGER_NAME*
|
||||
Kopplar på avlusningshjälpmedel för utveckling och tester. För
|
||||
detaljer hänvisas till källkoder
|
||||
|
||||
--version
|
||||
**--version**
|
||||
Skriver ur Gramps versionsnummer och avslutar
|
||||
|
||||
|
||||
Operation
|
||||
**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
|
||||
@ -184,7 +185,7 @@ Operation
|
||||
fel i filer.
|
||||
|
||||
|
||||
EXAMPEL
|
||||
**EXAMPEL**
|
||||
För att öppna ett befintligt familjeträd och importera en xml-fil till
|
||||
det, kan man skriva:
|
||||
|
||||
@ -230,7 +231,7 @@ EXAMPEL
|
||||
Gramps
|
||||
|
||||
|
||||
BEGREPP
|
||||
**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.
|
||||
@ -240,17 +241,19 @@ BEGREPP
|
||||
användaren kan tillåtas att ändra format för att passa behoven.
|
||||
|
||||
|
||||
KÄNDA FEL OCH BEGRÄNSNINGAR
|
||||
FILER
|
||||
**KÄNDA FEL OCH BEGRÄNSNINGAR**
|
||||
**FILER**
|
||||
|
||||
*${PREFIX}/bin/gramps*
|
||||
|
||||
*${PREFIX}/share/gramps*
|
||||
*${PREFIX}/lib/python/dist-packages/gramps/*
|
||||
|
||||
*${PREFIX}/share/*
|
||||
|
||||
*${HOME}/.gramps*
|
||||
|
||||
|
||||
FÖRFATTARE
|
||||
**FÖRFATTARE**
|
||||
Donald Allingham <don@gramps-project.org>
|
||||
http://gramps-project.org/
|
||||
|
||||
@ -265,7 +268,7 @@ FÖRFATTARE
|
||||
Peter Landgren <peter.talken@telia.com>
|
||||
|
||||
|
||||
DOCUMENTATION
|
||||
**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
|
||||
@ -275,4 +278,4 @@ DOCUMENTATION
|
||||
http://www.gramps-project.org/wiki/index.php?title=Portal:Developers
|
||||
|
||||
|
||||
Januari 2008 3.4.0 Gramps(1)
|
||||
Januari 2013 4.0.0 Gramps(1)
|
||||
|
@ -36,6 +36,12 @@ 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 = ''
|
||||
@ -46,11 +52,11 @@ 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':
|
||||
elif sys.platform in ['linux2', 'darwin', 'cygwin']:
|
||||
pythonCmd = os.path.join(sys.prefix, 'bin', 'python')
|
||||
sphinxCmd = SPHINXBUILD
|
||||
else:
|
||||
print ("ERROR: unknown system, don't know sphinx, ... commands")
|
||||
print ("Update Man ERROR: unknown system, don't know sphinx, ... commands")
|
||||
sys.exit(0)
|
||||
|
||||
def tests():
|
||||
@ -70,6 +76,9 @@ def tests():
|
||||
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():
|
||||
"""
|
||||
@ -87,8 +96,16 @@ def main():
|
||||
help="test if 'python' and 'sphinx' are properly installed")
|
||||
|
||||
parser.add_argument("-b", "--build",
|
||||
action="store_true", dest="build", default=True,
|
||||
help="build documentation")
|
||||
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()
|
||||
|
||||
@ -98,6 +115,12 @@ def main():
|
||||
if args.build:
|
||||
build()
|
||||
|
||||
if args.man and DOCUTILS:
|
||||
man()
|
||||
|
||||
if args.odt and DOCUTILS:
|
||||
odt()
|
||||
|
||||
def build():
|
||||
"""
|
||||
Build documentation.
|
||||
@ -107,7 +130,8 @@ def build():
|
||||
|
||||
os.system('''%(program)s -b html . _build/html''' % {'program': sphinxCmd})
|
||||
os.system('''%(program)s -b htmlhelp . _build/htmlhelp''' % {'program': sphinxCmd})
|
||||
os.system('''%(program)s -b man . .''' % {'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})
|
||||
@ -118,13 +142,42 @@ def build():
|
||||
% {'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})
|
||||
os.system('''%(program)s -b man %(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()
|
||||
|
22
data/templates/admin/base_site.html
Normal file
22
data/templates/admin/base_site.html
Normal file
@ -0,0 +1,22 @@
|
||||
{% 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 %}
|
@ -115,7 +115,7 @@
|
||||
</div>
|
||||
<div class="ui-tabs-panel ui-widget-content ui-corner-bottom
|
||||
ui-tabs-hide" id="tab-notes" style="background-color: #f4f0ec;">
|
||||
{% note_table nameform.model user action "/person/%s/name/%s/note" person.handle nameform.model.order %}
|
||||
{% note_table nameform.model user action "/note/$act/person/%s/name/%s" person.handle nameform.model.order %}
|
||||
</div>
|
||||
</div>
|
||||
|
@ -1,13 +1,13 @@
|
||||
##########################
|
||||
The :mod:`gui` Module
|
||||
The :mod:`gramps.gui` Module
|
||||
##########################
|
||||
|
||||
.. automodule:: gui
|
||||
.. automodule:: gramps.gui
|
||||
|
||||
*****************************
|
||||
Gramps
|
||||
*****************************
|
||||
.. automodule:: gui.grampsgui
|
||||
.. automodule:: gramps.gui.grampsgui
|
||||
.. autoclass:: Gramps
|
||||
:members:
|
||||
:undoc-members:
|
||||
@ -16,7 +16,7 @@ Gramps
|
||||
*****************************
|
||||
About Dialog
|
||||
*****************************
|
||||
.. automodule:: gui.aboutdialog
|
||||
.. automodule:: gramps.gui.aboutdialog
|
||||
.. autoclass:: AuthorParser
|
||||
:members:
|
||||
:undoc-members:
|
||||
@ -29,7 +29,7 @@ About Dialog
|
||||
*****************************
|
||||
Base Sidebar
|
||||
*****************************
|
||||
.. automodule:: gui.basesidebar
|
||||
.. automodule:: gramps.gui.basesidebar
|
||||
.. autoclass:: BaseSidebar
|
||||
:members:
|
||||
:undoc-members:
|
||||
@ -38,7 +38,7 @@ Base Sidebar
|
||||
*****************************
|
||||
Column Order
|
||||
*****************************
|
||||
.. automodule:: gui.columnorder
|
||||
.. automodule:: gramps.gui.columnorder
|
||||
.. autoclass:: ColumnOrder
|
||||
:members:
|
||||
:undoc-members:
|
||||
@ -47,7 +47,7 @@ Column Order
|
||||
*****************************
|
||||
Configuration
|
||||
*****************************
|
||||
.. automodule:: gui.configure
|
||||
.. automodule:: gramps.gui.configure
|
||||
.. autoclass:: ConfigureDialog
|
||||
:members:
|
||||
:undoc-members:
|
||||
@ -64,7 +64,7 @@ Configuration
|
||||
*****************************
|
||||
GUI Element (DB)
|
||||
*****************************
|
||||
.. automodule:: gui.dbguielement
|
||||
.. automodule:: gramps.gui.dbguielement
|
||||
.. autoclass:: DbGUIElement
|
||||
:members:
|
||||
:undoc-members:
|
||||
@ -73,7 +73,7 @@ GUI Element (DB)
|
||||
*****************************
|
||||
DB Loader
|
||||
*****************************
|
||||
.. automodule:: gui.dbloader
|
||||
.. automodule:: gramps.gui.dbloader
|
||||
.. autoclass:: DbLoader
|
||||
:members:
|
||||
:undoc-members:
|
||||
@ -86,7 +86,7 @@ DB Loader
|
||||
*****************************
|
||||
DB Manager
|
||||
*****************************
|
||||
.. automodule:: gui.dbman
|
||||
.. automodule:: gramps.gui.dbman
|
||||
.. autoclass:: DbManager
|
||||
:members:
|
||||
:undoc-members:
|
||||
@ -95,7 +95,7 @@ DB Manager
|
||||
*****************************
|
||||
Filter Editor
|
||||
*****************************
|
||||
.. automodule:: gui.editors.filtereditor
|
||||
.. automodule:: gramps.gui.editors.filtereditor
|
||||
.. autoclass:: EditFilter
|
||||
:members:
|
||||
:undoc-members:
|
||||
@ -156,7 +156,7 @@ Filter Editor
|
||||
*****************************
|
||||
Gramps Bar
|
||||
*****************************
|
||||
.. automodule:: gui.grampsbar
|
||||
.. automodule:: gramps.gui.grampsbar
|
||||
.. autoclass:: DetachedWindow
|
||||
:members:
|
||||
:undoc-members:
|
||||
@ -173,7 +173,7 @@ Gramps Bar
|
||||
*****************************
|
||||
Navigator
|
||||
*****************************
|
||||
.. automodule:: gui.navigator
|
||||
.. automodule:: gramps.gui.navigator
|
||||
.. autoclass:: Navigator
|
||||
:members:
|
||||
:undoc-members:
|
||||
@ -182,7 +182,7 @@ Navigator
|
||||
*****************************
|
||||
Plugins Manager
|
||||
*****************************
|
||||
.. automodule:: gui.pluginmanager
|
||||
.. automodule:: gramps.gui.pluginmanager
|
||||
.. autoclass:: GuiPluginManager
|
||||
:members:
|
||||
:undoc-members:
|
||||
@ -191,7 +191,7 @@ Plugins Manager
|
||||
*****************************
|
||||
User
|
||||
*****************************
|
||||
.. automodule:: gui.user
|
||||
.. automodule:: gramps.gui.user
|
||||
.. autoclass:: User
|
||||
:members:
|
||||
:undoc-members:
|
||||
@ -200,7 +200,7 @@ User
|
||||
*****************************
|
||||
Utils
|
||||
*****************************
|
||||
.. automodule:: gui.utils
|
||||
.. automodule:: gramps.gui.utils
|
||||
.. autoclass:: CLIDialog
|
||||
:members:
|
||||
:undoc-members:
|
||||
@ -217,7 +217,7 @@ Utils
|
||||
*****************************
|
||||
Views Manager
|
||||
*****************************
|
||||
.. automodule:: gui.viewmanager
|
||||
.. automodule:: gramps.gui.viewmanager
|
||||
.. autoclass:: ViewManager
|
||||
:members:
|
||||
:undoc-members:
|
||||
|
@ -273,7 +273,7 @@ The :class:`Date Edition` Classes
|
||||
|
||||
DateEdit
|
||||
====================================
|
||||
.. automodule:: gui.editors.editdate
|
||||
.. automodule:: gramps.gui.editors.editdate
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
|
@ -42,11 +42,11 @@ 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':
|
||||
elif sys.platform in ['linux2', 'darwin', 'cygwin']:
|
||||
pythonCmd = os.path.join(sys.prefix, 'bin', 'python')
|
||||
sphinxCmd = SPHINXBUILD
|
||||
else:
|
||||
print ("ERROR: unknown system, don't know sphinx, ... commands")
|
||||
print ("Update Docs ERROR: unknown system, don't know sphinx, ... commands")
|
||||
sys.exit(0)
|
||||
|
||||
def tests():
|
||||
|
7
example/csv/example.csv
Normal file
7
example/csv/example.csv
Normal file
@ -0,0 +1,7 @@
|
||||
person,surname,given
|
||||
a,"CSV Surname","Given 1"
|
||||
b,"CSV Surname","Given 2"
|
||||
|
||||
marriage,mother,father
|
||||
1,a,b
|
||||
|
|
Binary file not shown.
@ -39,7 +39,8 @@ Module responsible for handling the command line arguments for GRAMPS.
|
||||
from __future__ import print_function
|
||||
import os
|
||||
import sys
|
||||
from gramps.gen.ggettext import gettext as _
|
||||
from gramps.gen.const import GRAMPS_LOCALE as glocale
|
||||
_ = glocale.get_translation().gettext
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
#
|
||||
@ -185,9 +186,9 @@ class ArgHandler(object):
|
||||
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)
|
||||
print(msg1.encode(sys.stdout.encoding, 'backslashreplace'), file=sys.stderr)
|
||||
if msg2 is not None:
|
||||
print(msg2.encode(sys.getfilesystemencoding()), file=sys.stderr)
|
||||
print(msg2.encode(sys.stdout.encoding, 'backslashreplace'), file=sys.stderr)
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
# Argument parser: sorts out given arguments
|
||||
@ -294,7 +295,7 @@ class ArgHandler(object):
|
||||
else:
|
||||
ask = input
|
||||
ans = ask(_('OK to overwrite? (yes/no) ') \
|
||||
.encode(sys.getfilesystemencoding()))
|
||||
.encode(sys.stdout.encoding, 'backslashreplace'))
|
||||
except EOFError:
|
||||
print()
|
||||
sys.exit(0)
|
||||
@ -408,26 +409,26 @@ class ArgHandler(object):
|
||||
|
||||
if self.list:
|
||||
print(_('List of known family trees in your database path\n').\
|
||||
encode(sys.getfilesystemencoding()))
|
||||
encode(sys.stdout.encoding, 'backslashreplace'))
|
||||
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()))
|
||||
'f_t_name' : name}).encode(sys.stdout.encoding, 'backslashreplace'))
|
||||
sys.exit(0)
|
||||
|
||||
if self.list_more:
|
||||
print(_('Gramps Family Trees:').encode(sys.getfilesystemencoding()))
|
||||
print(_('Gramps Family Trees:').encode(sys.stdout.encoding, 'backslashreplace'))
|
||||
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"])
|
||||
encode(sys.stdout.encoding, 'backslashreplace') % summary["Family tree"])
|
||||
for item in sorted(summary):
|
||||
if item != "Family tree":
|
||||
print((" %s: %s" % (item, summary[item])).\
|
||||
encode(sys.getfilesystemencoding()))
|
||||
encode(sys.stdout.encoding, 'backslashreplace'))
|
||||
sys.exit(0)
|
||||
|
||||
self.__open_action()
|
||||
@ -442,7 +443,7 @@ class ArgHandler(object):
|
||||
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())
|
||||
fn = expt[0].encode(sys.stdout.encoding, 'backslashreplace')
|
||||
fmt = str(expt[1])
|
||||
print(_("Exporting: file %(filename)s, "
|
||||
"format %(format)s.") % \
|
||||
@ -480,7 +481,7 @@ class ArgHandler(object):
|
||||
self.imp_db_path, title = self.dbman.create_new_db_cli()
|
||||
else:
|
||||
self.imp_db_path = get_empty_tempdir("import_dbdir") \
|
||||
.encode(sys.getfilesystemencoding())
|
||||
.encode(sys.stdout.encoding, 'backslashreplace')
|
||||
newdb = DbBsddb()
|
||||
newdb.write_version(self.imp_db_path)
|
||||
|
||||
@ -494,7 +495,7 @@ class ArgHandler(object):
|
||||
sys.exit(0)
|
||||
|
||||
for imp in self.imports:
|
||||
fn = imp[0].encode(sys.getfilesystemencoding())
|
||||
fn = imp[0].encode(sys.stdout.encoding, 'backslashreplace')
|
||||
fmt = str(imp[1])
|
||||
msg = _("Importing: file %(filename)s, format %(format)s.") % \
|
||||
{'filename' : fn, 'format' : fmt}
|
||||
@ -623,10 +624,10 @@ class ArgHandler(object):
|
||||
# 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)
|
||||
pdata.name.encode(sys.stdout.encoding, 'backslashreplace')), file=sys.stderr)
|
||||
else:
|
||||
print(" %s\t- %s" % (pdata.id,
|
||||
pdata.name.encode(sys.getfilesystemencoding())), file=sys.stderr)
|
||||
pdata.name.encode(sys.stdout.encoding, 'backslashreplace')), file=sys.stderr)
|
||||
|
||||
elif action == "tool":
|
||||
from gramps.gui.plug import tool
|
||||
@ -664,10 +665,10 @@ class ArgHandler(object):
|
||||
# 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)
|
||||
pdata.name.encode(sys.stdout.encoding, 'backslashreplace')), file=sys.stderr)
|
||||
else:
|
||||
print(" %s\t- %s" % (pdata.id,
|
||||
pdata.name.encode(sys.getfilesystemencoding())), file=sys.stderr)
|
||||
pdata.name.encode(sys.stdout.encoding, 'backslashreplace')), file=sys.stderr)
|
||||
|
||||
elif action == "book":
|
||||
try:
|
||||
|
@ -39,7 +39,8 @@ Module responsible for handling the command line arguments for GRAMPS.
|
||||
from __future__ import print_function
|
||||
import sys
|
||||
import getopt
|
||||
from gramps.gen.ggettext import gettext as _
|
||||
from gramps.gen.const import GRAMPS_LOCALE as glocale
|
||||
_ = glocale.get_translation().gettext
|
||||
import logging
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
@ -292,7 +293,7 @@ class ArgParser(object):
|
||||
self.list_more = True
|
||||
elif option in ('-s','--show'):
|
||||
print ("Gramps config settings from %s:" % \
|
||||
config.filename.encode(sys.getfilesystemencoding()))
|
||||
config.filename.encode(sys.stdout.encoding, 'backslashreplace'))
|
||||
for section in config.data:
|
||||
for setting in config.data[section]:
|
||||
print ("%s.%s=%s" % (
|
||||
@ -402,7 +403,7 @@ class ArgParser(object):
|
||||
"""
|
||||
if self.help:
|
||||
# Convert Help messages to file system encoding before printing
|
||||
print (_HELP.encode(sys.getfilesystemencoding()))
|
||||
print (_HELP.encode(sys.stdout.encoding, 'backslashreplace'))
|
||||
sys.exit(0)
|
||||
|
||||
def print_usage(self):
|
||||
@ -411,5 +412,5 @@ class ArgParser(object):
|
||||
"""
|
||||
if self.usage:
|
||||
# Convert Help messages to file system encoding before printing
|
||||
print (_USAGE.encode(sys.getfilesystemencoding()))
|
||||
print (_USAGE.encode(sys.stdout.encoding, 'backslashreplace'))
|
||||
sys.exit(0)
|
||||
|
@ -44,7 +44,6 @@ else:
|
||||
from urllib.parse import urlparse
|
||||
from urllib.request import urlopen, url2pathname
|
||||
import tempfile
|
||||
from gramps.gen.ggettext import gettext as _
|
||||
#-------------------------------------------------------------------------
|
||||
#
|
||||
# set up logging
|
||||
@ -58,6 +57,8 @@ LOG = logging.getLogger(".clidbman")
|
||||
# gramps modules
|
||||
#
|
||||
#-------------------------------------------------------------------------
|
||||
from gramps.gen.const import GRAMPS_LOCALE as glocale
|
||||
_ = glocale.get_translation().gettext
|
||||
from gramps.gen.db import DbBsddb
|
||||
from gramps.gen.plug import BasePluginManager
|
||||
from gramps.gen.config import config
|
||||
@ -158,6 +159,7 @@ class CLIDbManager(object):
|
||||
try:
|
||||
dbmap1.open(fname, META, db.DB_HASH, db.DB_RDONLY)
|
||||
except:
|
||||
env.close()
|
||||
return "Unknown", "Unknown"
|
||||
version = dbmap1.get('version', default=None)
|
||||
dbmap1.close()
|
||||
@ -191,7 +193,7 @@ class CLIDbManager(object):
|
||||
retval["Locked?"] = "no"
|
||||
retval["DB version"] = version
|
||||
if sys.version_info[0] < 3:
|
||||
retval["Family tree"] = name.encode(sys.getfilesystemencoding())
|
||||
retval["Family tree"] = name.encode(glocale.getfilesystemencoding())
|
||||
else:
|
||||
retval["Family tree"] = name
|
||||
retval["Path"] = dirpath
|
||||
@ -206,7 +208,7 @@ class CLIDbManager(object):
|
||||
# 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())
|
||||
dbdir = dbdir.encode(glocale.getfilesystemencoding())
|
||||
db_ok = make_dbdir(dbdir)
|
||||
|
||||
self.current_names = []
|
||||
@ -217,6 +219,7 @@ class CLIDbManager(object):
|
||||
if os.path.isfile(path_name):
|
||||
file = open(path_name)
|
||||
name = file.readline().strip()
|
||||
file.close()
|
||||
|
||||
(tval, last) = time_val(dirpath)
|
||||
(enable, stock_id) = self.icon_values(dirpath, self.active,
|
||||
@ -413,7 +416,7 @@ def make_dbdir(dbdir):
|
||||
if not os.path.isdir(dbdir):
|
||||
os.makedirs(dbdir)
|
||||
except (IOError, OSError) as msg:
|
||||
msg = conv_to_unicode(str(msg), sys.getfilesystemencoding())
|
||||
msg = conv_to_unicode(str(msg), glocale.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)
|
||||
@ -442,7 +445,7 @@ def find_next_db_dir():
|
||||
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())
|
||||
dbdir = dbdir.encode(glocale.getfilesystemencoding())
|
||||
new_path = os.path.join(dbdir, base)
|
||||
if not os.path.isdir(new_path):
|
||||
break
|
||||
@ -485,7 +488,7 @@ def find_locker_name(dirpath):
|
||||
# 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())
|
||||
username = conv_to_unicode(username, glocale.getfilesystemencoding())
|
||||
# feature request 2356: avoid genitive form
|
||||
last = _("Locked by %s") % username
|
||||
ifile.close()
|
||||
|
@ -35,7 +35,8 @@ Provides also two small base classes: CLIDbLoader, CLIManager
|
||||
#-------------------------------------------------------------------------
|
||||
from __future__ import print_function
|
||||
|
||||
from gramps.gen.ggettext import gettext as _
|
||||
from gramps.gen.const import GRAMPS_LOCALE as glocale
|
||||
_ = glocale.get_translation().gettext
|
||||
import os
|
||||
import sys
|
||||
|
||||
@ -296,10 +297,10 @@ def startcli(errors, argparser):
|
||||
#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())
|
||||
errmsg = errmsg.encode(sys.stdout.encoding, 'backslashreplace')
|
||||
print(errmsg)
|
||||
errmsg = _(' Details: %s') % errors[0][1]
|
||||
errmsg = errmsg.encode(sys.getfilesystemencoding())
|
||||
errmsg = errmsg.encode(sys.stdout.encoding, 'backslashreplace')
|
||||
print(errmsg)
|
||||
sys.exit(1)
|
||||
|
||||
@ -307,10 +308,10 @@ def startcli(errors, argparser):
|
||||
# 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())
|
||||
errmsg = errmsg.encode(sys.stdout.encoding, 'backslashreplace')
|
||||
print(errmsg)
|
||||
errmsg = _(' Details: %s') % argparser.errors[0][1]
|
||||
errmsg = errmsg.encode(sys.getfilesystemencoding())
|
||||
errmsg = errmsg.encode(sys.stdout.encoding, 'backslashreplace')
|
||||
print(errmsg)
|
||||
sys.exit(1)
|
||||
|
||||
|
@ -35,7 +35,8 @@
|
||||
#-------------------------------------------------------------------------
|
||||
from __future__ import print_function
|
||||
|
||||
from gramps.gen.ggettext import gettext as _
|
||||
from gramps.gen.const import GRAMPS_LOCALE as glocale
|
||||
_ = glocale.get_translation().gettext
|
||||
import traceback
|
||||
import os
|
||||
import sys
|
||||
@ -570,11 +571,11 @@ class CommandLineReport(object):
|
||||
# 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()))
|
||||
print(optmsg.encode(sys.stdout.encoding, 'backslashreplace'))
|
||||
else:
|
||||
optmsg = " %s%s%s" % (key, tabs,
|
||||
_('(no help available)'))
|
||||
print(optmsg.encode(sys.getfilesystemencoding()))
|
||||
print(optmsg.encode(sys.stdout.encoding, 'backslashreplace'))
|
||||
print((_(" Use '%(donottranslate)s' to see description "
|
||||
"and acceptable values") %
|
||||
{'donottranslate' : "show=option"}))
|
||||
@ -587,10 +588,10 @@ class CommandLineReport(object):
|
||||
if isinstance(vals, (list, tuple)):
|
||||
for val in vals:
|
||||
optmsg = " %s" % val
|
||||
print(optmsg.encode(sys.getfilesystemencoding()))
|
||||
print(optmsg.encode(sys.stdout.encoding, 'backslashreplace'))
|
||||
else:
|
||||
optmsg = " %s" % opt[2]
|
||||
print(optmsg.encode(sys.getfilesystemencoding()))
|
||||
print(optmsg.encode(sys.stdout.encoding, 'backslashreplace'))
|
||||
|
||||
else:
|
||||
#there was a show option given, but the option is invalid
|
||||
@ -726,6 +727,7 @@ def cl_book(database, name, book, options_str_dict):
|
||||
clr.marginr, clr.margint, clr.marginb))
|
||||
user = User()
|
||||
rptlist = []
|
||||
global_style = None
|
||||
for item in book.get_item_list():
|
||||
|
||||
# The option values were loaded magically by the book parser.
|
||||
@ -743,6 +745,12 @@ def cl_book(database, name, book, options_str_dict):
|
||||
report_class, item.option_class, user)
|
||||
style_sheet = create_style_sheet(item)
|
||||
rptlist.append((obj, style_sheet))
|
||||
if ( item.name == 'table_of_contents' or
|
||||
item.name == 'alphabetical_index' ): # ugly hack: FIXME
|
||||
if global_style is None:
|
||||
global_style = style_sheet
|
||||
else:
|
||||
global_style = create_style_sheet(item, global_style)
|
||||
|
||||
doc.open(clr.option_class.get_output())
|
||||
doc.init()
|
||||
@ -754,6 +762,8 @@ def cl_book(database, name, book, options_str_dict):
|
||||
newpage = 1
|
||||
rpt.begin_report()
|
||||
rpt.write_report()
|
||||
if global_style:
|
||||
doc.set_style_sheet(global_style)
|
||||
doc.close()
|
||||
|
||||
#------------------------------------------------------------------------
|
||||
|
@ -38,7 +38,8 @@ import sys
|
||||
# Gramps Modules
|
||||
#
|
||||
#------------------------------------------------------------------------
|
||||
from gramps.gen.ggettext import gettext as _
|
||||
from gramps.gen.const import GRAMPS_LOCALE as glocale
|
||||
_ = glocale.get_translation().gettext
|
||||
from gramps.gen.user import User
|
||||
|
||||
#------------------------------------------------------------------------
|
||||
|
@ -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)
|
@ -4,7 +4,7 @@
|
||||
#
|
||||
# Copyright (C) 2005-2007 Donald N. Allingham
|
||||
# Copyright (C) 2008-2009 Gary Burton
|
||||
# Copyright (C) 2009 Doug Blank <doug.blank@gmail.com>
|
||||
# Copyright (C) 2009-2012 Doug Blank <doug.blank@gmail.com>
|
||||
# Copyright (C) 2011 Tim G L Lyons
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
@ -41,7 +41,8 @@ import logging
|
||||
# Gramps imports
|
||||
#
|
||||
#---------------------------------------------------------------
|
||||
from .ggettext import gettext as _
|
||||
from .const import GRAMPS_LOCALE as glocale
|
||||
_ = glocale.get_translation().gettext
|
||||
from .const import HOME_DIR, USER_HOME, VERSION_DIR
|
||||
from .utils.configmanager import ConfigManager
|
||||
|
||||
@ -151,6 +152,7 @@ register('behavior.surname-guessing', 0)
|
||||
register('behavior.use-tips', False)
|
||||
register('behavior.welcome', 100)
|
||||
register('behavior.web-search-url', 'http://google.com/#&q=%(text)s')
|
||||
register('behavior.addons-url', "http://svn.code.sf.net/p/gramps-addons/code/trunk/")
|
||||
|
||||
register('export.proxy-order', [
|
||||
["privacy", 0],
|
||||
@ -187,7 +189,7 @@ register('interface.clipboard-height', 300)
|
||||
register('interface.clipboard-width', 300)
|
||||
register('interface.dont-ask', False)
|
||||
register('interface.view-categories',
|
||||
["Gramplets", "People", "Relationships", "Families",
|
||||
["Dashboard", "People", "Relationships", "Families",
|
||||
"Ancestry", "Events", "Places", "Geography", "Sources",
|
||||
"Citations", "Repositories", "Media", "Notes"])
|
||||
register('interface.edit-filter-width', 500)
|
||||
@ -208,6 +210,7 @@ register('interface.filter', False)
|
||||
register('interface.filter-editor-width', 400)
|
||||
register('interface.filter-editor-height', 350)
|
||||
register('interface.fullscreen', False)
|
||||
register('interface.grampletbar-close', False)
|
||||
register('interface.height', 500)
|
||||
register('interface.lds-height', 450)
|
||||
register('interface.lds-width', 600)
|
||||
@ -278,6 +281,8 @@ register('preferences.date-format', 0)
|
||||
register('preferences.calendar-format-report', 0)
|
||||
register('preferences.cprefix', 'C%04d')
|
||||
register('preferences.default-source', False)
|
||||
register('preferences.tag-on-import', False)
|
||||
register('preferences.tag-on-import-format', _("Imported %Y/%m/%d %H:%M:%S"))
|
||||
register('preferences.eprefix', 'E%04d')
|
||||
register('preferences.family-warn', True)
|
||||
register('preferences.fprefix', 'F%04d')
|
||||
|
@ -42,7 +42,7 @@ import uuid
|
||||
# Gramps modules
|
||||
#
|
||||
#-------------------------------------------------------------------------
|
||||
from .ggettext import sgettext as _
|
||||
from .svn_revision import get_svn_revision
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
#
|
||||
@ -50,11 +50,20 @@ from .ggettext import sgettext as _
|
||||
#
|
||||
#-------------------------------------------------------------------------
|
||||
PROGRAM_NAME = "Gramps"
|
||||
if "@VERSIONSTRING@" == "@" + "VERSIONSTRING" + "@":
|
||||
VERSION = "4.0.0"
|
||||
else:
|
||||
VERSION = "@VERSIONSTRING@"
|
||||
VERSION_TUPLE = (4, 0, 0)
|
||||
VERSION = "@VERSIONSTRING@"
|
||||
if VERSION == "@" + "VERSIONSTRING" + "@":
|
||||
raise Exception("Please run 'python setup.py build'")
|
||||
def get_version_tuple(v):
|
||||
""" Get the numeric-dotted part of version number"""
|
||||
retval = ""
|
||||
for c in v:
|
||||
if c.isdigit() or (c == "." and retval.count(".") <= 1):
|
||||
retval += c
|
||||
else:
|
||||
break
|
||||
return tuple(map(int, retval.split(".")))
|
||||
VERSION_TUPLE = get_version_tuple(VERSION)
|
||||
major_version = "%s.%s" % (VERSION_TUPLE[0], VERSION_TUPLE[1])
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
#
|
||||
@ -65,11 +74,11 @@ URL_HOMEPAGE = "http://gramps-project.org/"
|
||||
URL_MAILINGLIST = "http://sourceforge.net/mail/?group_id=25770"
|
||||
URL_BUGTRACKER = "http://bugs.gramps-project.org/bug_report_advanced_page.php"
|
||||
URL_WIKISTRING = "http://gramps-project.org/wiki/index.php?title="
|
||||
URL_MANUAL_PAGE = "Gramps_4.0_Wiki_Manual"
|
||||
URL_MANUAL_PAGE = "Gramps_%s_Wiki_Manual" % major_version
|
||||
WIKI_FAQ = "FAQ"
|
||||
WIKI_KEYBINDINGS = "Gramps_4.0_Wiki_Manual_-_Keybindings"
|
||||
WIKI_EXTRAPLUGINS= "4.0_Addons"
|
||||
WIKI_EXTRAPLUGINS_RAWDATA = "Plugins4.0&action=raw"
|
||||
WIKI_KEYBINDINGS = "Gramps_%s_Wiki_Manual_-_Keybindings" % major_version
|
||||
WIKI_EXTRAPLUGINS= "%s_Addons" % major_version
|
||||
WIKI_EXTRAPLUGINS_RAWDATA = "Plugins%s&action=raw" % major_version
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
#
|
||||
@ -84,25 +93,6 @@ APP_GRAMPS_PKG = "application/x-gramps-package"
|
||||
APP_GENEWEB = "application/x-geneweb"
|
||||
APP_VCARD = ["text/x-vcard", "text/x-vcalendar"]
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
#
|
||||
# system paths
|
||||
#
|
||||
#-------------------------------------------------------------------------
|
||||
if sys.platform == "win32":
|
||||
if sys.prefix == os.path.dirname(os.getcwd()):
|
||||
PREFIXDIR = sys.prefix
|
||||
SYSCONFDIR = os.path.join(sys.prefix, "etc")
|
||||
else:
|
||||
PREFIXDIR = os.path.join(os.path.dirname(__file__), os.pardir)
|
||||
SYSCONFDIR = os.path.join(PREFIXDIR, "etc")
|
||||
elif sys.platform == "darwin" and sys.prefix != sys.exec_prefix:
|
||||
PREFIXDIR = sys.prefix
|
||||
SYSCONFDIR = os.path.join(sys.prefix, "etc")
|
||||
else:
|
||||
PREFIXDIR = "@prefix@"
|
||||
SYSCONFDIR = "@sysconfdir@"
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
#
|
||||
# Platforms
|
||||
@ -145,24 +135,6 @@ if sys.version_info[0] < 3:
|
||||
else:
|
||||
pass
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
#
|
||||
# Paths to files - assumes that files reside in the same directory as
|
||||
# this one, and that the plugins directory is in a directory below this.
|
||||
#
|
||||
#-------------------------------------------------------------------------
|
||||
ROOT_DIR = os.path.abspath(os.path.join(os.path.dirname(
|
||||
__file__), os.pardir))
|
||||
if sys.version_info[0] < 3:
|
||||
# test for sys.frozen to detect a py2exe executable on Windows
|
||||
if hasattr(sys, "frozen"):
|
||||
ROOT_DIR = os.path.abspath(os.path.dirname(
|
||||
unicode(sys.executable, sys.getfilesystemencoding())))
|
||||
else:
|
||||
ROOT_DIR = os.path.abspath(os.path.join(os.path.dirname(
|
||||
unicode(__file__, sys.getfilesystemencoding())), os.pardir))
|
||||
|
||||
IMAGE_DIR = os.path.join(ROOT_DIR, "images")
|
||||
VERSION_DIR = os.path.join(
|
||||
HOME_DIR, "gramps%s%s" % (VERSION_TUPLE[0], VERSION_TUPLE[1]))
|
||||
|
||||
@ -180,15 +152,28 @@ USER_PLUGINS = os.path.join(VERSION_DIR, "plugins")
|
||||
USER_DIRLIST = (HOME_DIR, VERSION_DIR, ENV_DIR, TEMP_DIR, THUMB_DIR,
|
||||
THUMB_NORMAL, THUMB_LARGE, USER_PLUGINS)
|
||||
|
||||
ICON = os.path.join(ROOT_DIR, "images", "gramps.png")
|
||||
LOGO = os.path.join(ROOT_DIR, "images", "logo.png")
|
||||
SPLASH = os.path.join(ROOT_DIR, "images", "splash.jpg")
|
||||
LICENSE_FILE = os.path.join(ROOT_DIR, "COPYING")
|
||||
#-------------------------------------------------------------------------
|
||||
#
|
||||
# Paths to python modules - assumes that the root directory is one level
|
||||
# above this one, and that the plugins directory is below the root directory.
|
||||
#
|
||||
#-------------------------------------------------------------------------
|
||||
ROOT_DIR = os.path.abspath(os.path.join(os.path.dirname(
|
||||
__file__), os.pardir))
|
||||
if sys.version_info[0] < 3:
|
||||
# test for sys.frozen to detect a py2exe executable on Windows
|
||||
if hasattr(sys, "frozen"):
|
||||
ROOT_DIR = os.path.abspath(os.path.dirname(
|
||||
unicode(sys.executable, sys.getfilesystemencoding())))
|
||||
else:
|
||||
ROOT_DIR = os.path.abspath(os.path.join(os.path.dirname(
|
||||
unicode(__file__, sys.getfilesystemencoding())), os.pardir))
|
||||
|
||||
VERSION += get_svn_revision(ROOT_DIR)
|
||||
|
||||
#
|
||||
# Glade files
|
||||
#
|
||||
|
||||
GLADE_DIR = os.path.join(ROOT_DIR, "gui", "glade")
|
||||
GLADE_FILE = os.path.join(GLADE_DIR, "gramps.glade")
|
||||
PERSON_GLADE = os.path.join(GLADE_DIR, "edit_person.glade")
|
||||
@ -198,29 +183,51 @@ RULE_GLADE = os.path.join(GLADE_DIR, "rule.glade")
|
||||
|
||||
|
||||
PLUGINS_DIR = os.path.join(ROOT_DIR, "plugins")
|
||||
DATA_DIR = os.path.join(ROOT_DIR, "data")
|
||||
WEB_DIR = os.path.join(ROOT_DIR, 'webapp')
|
||||
#SYSTEM_FILTERS = os.path.join(DATA_DIR, "system_filters.xml")
|
||||
TIP_DATA = os.path.join(DATA_DIR, "tips.xml")
|
||||
WEBSTUFF_DIR = os.path.join(PLUGINS_DIR, "webstuff")
|
||||
WEBSTUFF_IMAGE_DIR = os.path.join(WEBSTUFF_DIR, "images")
|
||||
|
||||
PAPERSIZE = os.path.join(DATA_DIR, "papersize.xml")
|
||||
|
||||
USE_TIPS = False
|
||||
USE_TIPS = False
|
||||
|
||||
if os.sys.platform in WINDOWS:
|
||||
USE_THUMBNAILER = False
|
||||
else:
|
||||
USE_THUMBNAILER = True
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
#
|
||||
# Paths to data files.
|
||||
#
|
||||
#-------------------------------------------------------------------------
|
||||
LOCALE_DIR = "@LOCALE_DIR@"
|
||||
DATA_DIR = "@DATA_DIR@"
|
||||
IMAGE_DIR = "@IMAGE_DIR@"
|
||||
DOC_DIR = "@DOC_DIR@"
|
||||
|
||||
TIP_DATA = os.path.join(DATA_DIR, "tips.xml")
|
||||
PAPERSIZE = os.path.join(DATA_DIR, "papersize.xml")
|
||||
|
||||
ICON = os.path.join(IMAGE_DIR, "gramps.png")
|
||||
LOGO = os.path.join(IMAGE_DIR, "logo.png")
|
||||
SPLASH = os.path.join(IMAGE_DIR, "splash.jpg")
|
||||
|
||||
LICENSE_FILE = os.path.join(DOC_DIR, 'COPYING')
|
||||
#-------------------------------------------------------------------------
|
||||
#
|
||||
# Init Localization
|
||||
#
|
||||
#-------------------------------------------------------------------------
|
||||
from .utils.grampslocale import GrampsLocale
|
||||
GRAMPS_LOCALE = GrampsLocale()
|
||||
_ = GRAMPS_LOCALE.get_translation().sgettext
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
#
|
||||
# About box information
|
||||
#
|
||||
#-------------------------------------------------------------------------
|
||||
COPYRIGHT_MSG = "© 2001-2006 Donald N. Allingham\n" \
|
||||
"© 2007-2012 The Gramps Developers"
|
||||
"© 2007-2013 The Gramps Developers"
|
||||
COMMENTS = _("Gramps (Genealogical Research and Analysis "
|
||||
"Management Programming System) is a personal "
|
||||
"genealogy program.")
|
||||
@ -325,3 +332,29 @@ LONGOPTS = [
|
||||
SHORTOPTS = "O:C:i:e:f:a:p:d:c:lLhuv?s"
|
||||
|
||||
GRAMPS_UUID = uuid.UUID('516cd010-5a41-470f-99f8-eb22f1098ad6')
|
||||
|
||||
def need_to_update_const():
|
||||
""" Check to see if this file is older than
|
||||
setup.py or const.py.in """
|
||||
this_file = os.path.join(ROOT_DIR, "gen", "const.py")
|
||||
in_file = os.path.join(ROOT_DIR, "gen", "const.py.in")
|
||||
setup_file = os.path.join(ROOT_DIR, "..", "setup.py")
|
||||
|
||||
if (os.path.exists(this_file) and
|
||||
os.path.exists(in_file) and
|
||||
os.path.exists(setup_file)):
|
||||
|
||||
this_file_time = os.path.getmtime(this_file)
|
||||
in_file_time = os.path.getmtime(in_file)
|
||||
setup_file_time = os.path.getmtime(setup_file)
|
||||
|
||||
# Is this file older than others? If so,
|
||||
# need to run setup
|
||||
return (this_file_time < in_file_time or
|
||||
this_file_time < setup_file_time)
|
||||
else:
|
||||
# Can't tell because can't find the files
|
||||
return False
|
||||
|
||||
if need_to_update_const():
|
||||
print("Outdated gramps.gen.const; please run 'python setup.py build'")
|
||||
|
@ -64,6 +64,13 @@ else:
|
||||
STRTYPE = str
|
||||
UNITYPE = str
|
||||
cuni = conv_to_unicode_direct
|
||||
|
||||
# handle in database is bytes, while internally Gramps wants unicode for py3
|
||||
if sys.version_info[0] < 3:
|
||||
handle2internal = lambda x: x
|
||||
else:
|
||||
handle2internal = lambda x: conv_to_unicode(x, 'utf-8')
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
#
|
||||
# Platform determination functions
|
||||
|
@ -176,4 +176,4 @@ class DateDisplayNb(DateDisplay):
|
||||
# Register classes
|
||||
#
|
||||
#-------------------------------------------------------------------------
|
||||
register_datehandler(('nb_NO', 'nb', 'norsk', 'Norwegian'), DateParserNb, DateDisplayNb)
|
||||
register_datehandler(('nb_NO', 'nb', 'nn_NO', 'nn', 'norsk', 'Norwegian'), DateParserNb, DateDisplayNb)
|
||||
|
@ -25,6 +25,8 @@ import locale
|
||||
import sys
|
||||
from ..constfunc import mac, win, conv_to_unicode
|
||||
|
||||
from gramps.gen.const import GRAMPS_LOCALE as glocale
|
||||
|
||||
"""
|
||||
Some OS environments do not support the locale.nl_langinfo() method
|
||||
of determing month names and other date related information.
|
||||
@ -41,7 +43,11 @@ else:
|
||||
#locale returns unicode in python 3
|
||||
to_uni = lambda x, y: x
|
||||
try:
|
||||
codeset = locale.nl_langinfo(locale.CODESET)
|
||||
codeset = glocale.get_translation().info()["charset"]
|
||||
except KeyError:
|
||||
codeset = "UTF-8"
|
||||
|
||||
try:
|
||||
|
||||
month_to_int = {
|
||||
to_uni(locale.nl_langinfo(locale.MON_1), codeset).lower() : 1,
|
||||
@ -137,69 +143,64 @@ try:
|
||||
|
||||
except:
|
||||
import time
|
||||
codeset = None
|
||||
if win() or mac():
|
||||
codeset = locale.getlocale()[1]
|
||||
if codeset is None:
|
||||
codeset = locale.getpreferredencoding()
|
||||
|
||||
month_to_int = {
|
||||
to_uni(time.strftime('%B',(0,1,1,1,1,1,1,1,1)), codeset).lower() : 1,
|
||||
to_uni(time.strftime('%b',(0,1,1,1,1,1,1,1,1)), codeset).lower() : 1,
|
||||
to_uni(time.strftime('%B',(0,2,1,1,1,1,1,1,1)), codeset).lower() : 2,
|
||||
to_uni(time.strftime('%b',(0,2,1,1,1,1,1,1,1)), codeset).lower() : 2,
|
||||
to_uni(time.strftime('%B',(0,3,1,1,1,1,1,1,1)), codeset).lower() : 3,
|
||||
to_uni(time.strftime('%b',(0,3,1,1,1,1,1,1,1)), codeset).lower() : 3,
|
||||
to_uni(time.strftime('%B',(0,4,1,1,1,1,1,1,1)), codeset).lower() : 4,
|
||||
to_uni(time.strftime('%b',(0,4,1,1,1,1,1,1,1)), codeset).lower() : 4,
|
||||
to_uni(time.strftime('%B',(0,5,1,1,1,1,1,1,1)), codeset).lower() : 5,
|
||||
to_uni(time.strftime('%b',(0,5,1,1,1,1,1,1,1)), codeset).lower() : 5,
|
||||
to_uni(time.strftime('%B',(0,6,1,1,1,1,1,1,1)), codeset).lower() : 6,
|
||||
to_uni(time.strftime('%b',(0,6,1,1,1,1,1,1,1)), codeset).lower() : 6,
|
||||
to_uni(time.strftime('%B',(0,7,1,1,1,1,1,1,1)), codeset).lower() : 7,
|
||||
to_uni(time.strftime('%b',(0,7,1,1,1,1,1,1,1)), codeset).lower() : 7,
|
||||
to_uni(time.strftime('%B',(0,8,1,1,1,1,1,1,1)), codeset).lower() : 8,
|
||||
to_uni(time.strftime('%b',(0,8,1,1,1,1,1,1,1)), codeset).lower() : 8,
|
||||
to_uni(time.strftime('%B',(0,9,1,1,1,1,1,1,1)), codeset).lower() : 9,
|
||||
to_uni(time.strftime('%b',(0,9,1,1,1,1,1,1,1)), codeset).lower() : 9,
|
||||
to_uni(time.strftime('%B',(0,10,1,1,1,1,1,1,1)), codeset).lower() : 10,
|
||||
to_uni(time.strftime('%b',(0,10,1,1,1,1,1,1,1)), codeset).lower() : 10,
|
||||
to_uni(time.strftime('%B',(0,11,1,1,1,1,1,1,1)), codeset).lower() : 11,
|
||||
to_uni(time.strftime('%b',(0,11,1,1,1,1,1,1,1)), codeset).lower() : 11,
|
||||
to_uni(time.strftime('%B',(0,12,1,1,1,1,1,1,1)), codeset).lower() : 12,
|
||||
to_uni(time.strftime('%b',(0,12,1,1,1,1,1,1,1)), codeset).lower() : 12,
|
||||
to_uni(time.strftime('%B',(1,1,1,1,1,1,1,1,1)), codeset).lower() : 1,
|
||||
to_uni(time.strftime('%b',(1,1,1,1,1,1,1,1,1)), codeset).lower() : 1,
|
||||
to_uni(time.strftime('%B',(1,2,1,1,1,1,1,1,1)), codeset).lower() : 2,
|
||||
to_uni(time.strftime('%b',(1,2,1,1,1,1,1,1,1)), codeset).lower() : 2,
|
||||
to_uni(time.strftime('%B',(1,3,1,1,1,1,1,1,1)), codeset).lower() : 3,
|
||||
to_uni(time.strftime('%b',(1,3,1,1,1,1,1,1,1)), codeset).lower() : 3,
|
||||
to_uni(time.strftime('%B',(1,4,1,1,1,1,1,1,1)), codeset).lower() : 4,
|
||||
to_uni(time.strftime('%b',(1,4,1,1,1,1,1,1,1)), codeset).lower() : 4,
|
||||
to_uni(time.strftime('%B',(1,5,1,1,1,1,1,1,1)), codeset).lower() : 5,
|
||||
to_uni(time.strftime('%b',(1,5,1,1,1,1,1,1,1)), codeset).lower() : 5,
|
||||
to_uni(time.strftime('%B',(1,6,1,1,1,1,1,1,1)), codeset).lower() : 6,
|
||||
to_uni(time.strftime('%b',(1,6,1,1,1,1,1,1,1)), codeset).lower() : 6,
|
||||
to_uni(time.strftime('%B',(1,7,1,1,1,1,1,1,1)), codeset).lower() : 7,
|
||||
to_uni(time.strftime('%b',(1,7,1,1,1,1,1,1,1)), codeset).lower() : 7,
|
||||
to_uni(time.strftime('%B',(1,8,1,1,1,1,1,1,1)), codeset).lower() : 8,
|
||||
to_uni(time.strftime('%b',(1,8,1,1,1,1,1,1,1)), codeset).lower() : 8,
|
||||
to_uni(time.strftime('%B',(1,9,1,1,1,1,1,1,1)), codeset).lower() : 9,
|
||||
to_uni(time.strftime('%b',(1,9,1,1,1,1,1,1,1)), codeset).lower() : 9,
|
||||
to_uni(time.strftime('%B',(1,10,1,1,1,1,1,1,1)), codeset).lower() : 10,
|
||||
to_uni(time.strftime('%b',(1,10,1,1,1,1,1,1,1)), codeset).lower() : 10,
|
||||
to_uni(time.strftime('%B',(1,11,1,1,1,1,1,1,1)), codeset).lower() : 11,
|
||||
to_uni(time.strftime('%b',(1,11,1,1,1,1,1,1,1)), codeset).lower() : 11,
|
||||
to_uni(time.strftime('%B',(1,12,1,1,1,1,1,1,1)), codeset).lower() : 12,
|
||||
to_uni(time.strftime('%b',(1,12,1,1,1,1,1,1,1)), codeset).lower() : 12,
|
||||
}
|
||||
|
||||
long_months = (
|
||||
"",
|
||||
to_uni(time.strftime('%B',(0,1,1,1,1,1,1,1,1)), codeset),
|
||||
to_uni(time.strftime('%B',(0,2,1,1,1,1,1,1,1)), codeset),
|
||||
to_uni(time.strftime('%B',(0,3,1,1,1,1,1,1,1)), codeset),
|
||||
to_uni(time.strftime('%B',(0,4,1,1,1,1,1,1,1)), codeset),
|
||||
to_uni(time.strftime('%B',(0,5,1,1,1,1,1,1,1)), codeset),
|
||||
to_uni(time.strftime('%B',(0,6,1,1,1,1,1,1,1)), codeset),
|
||||
to_uni(time.strftime('%B',(0,7,1,1,1,1,1,1,1)), codeset),
|
||||
to_uni(time.strftime('%B',(0,8,1,1,1,1,1,1,1)), codeset),
|
||||
to_uni(time.strftime('%B',(0,9,1,1,1,1,1,1,1)), codeset),
|
||||
to_uni(time.strftime('%B',(0,10,1,1,1,1,1,1,1)), codeset),
|
||||
to_uni(time.strftime('%B',(0,11,1,1,1,1,1,1,1)), codeset),
|
||||
to_uni(time.strftime('%B',(0,12,1,1,1,1,1,1,1)), codeset),
|
||||
to_uni(time.strftime('%B',(1,1,1,1,1,1,1,1,1)), codeset),
|
||||
to_uni(time.strftime('%B',(1,2,1,1,1,1,1,1,1)), codeset),
|
||||
to_uni(time.strftime('%B',(1,3,1,1,1,1,1,1,1)), codeset),
|
||||
to_uni(time.strftime('%B',(1,4,1,1,1,1,1,1,1)), codeset),
|
||||
to_uni(time.strftime('%B',(1,5,1,1,1,1,1,1,1)), codeset),
|
||||
to_uni(time.strftime('%B',(1,6,1,1,1,1,1,1,1)), codeset),
|
||||
to_uni(time.strftime('%B',(1,7,1,1,1,1,1,1,1)), codeset),
|
||||
to_uni(time.strftime('%B',(1,8,1,1,1,1,1,1,1)), codeset),
|
||||
to_uni(time.strftime('%B',(1,9,1,1,1,1,1,1,1)), codeset),
|
||||
to_uni(time.strftime('%B',(1,10,1,1,1,1,1,1,1)), codeset),
|
||||
to_uni(time.strftime('%B',(1,11,1,1,1,1,1,1,1)), codeset),
|
||||
to_uni(time.strftime('%B',(1,12,1,1,1,1,1,1,1)), codeset),
|
||||
)
|
||||
|
||||
short_months = (
|
||||
"",
|
||||
to_uni(time.strftime('%b',(0,1,1,1,1,1,1,1,1)), codeset),
|
||||
to_uni(time.strftime('%b',(0,2,1,1,1,1,1,1,1)), codeset),
|
||||
to_uni(time.strftime('%b',(0,3,1,1,1,1,1,1,1)), codeset),
|
||||
to_uni(time.strftime('%b',(0,4,1,1,1,1,1,1,1)), codeset),
|
||||
to_uni(time.strftime('%b',(0,5,1,1,1,1,1,1,1)), codeset),
|
||||
to_uni(time.strftime('%b',(0,6,1,1,1,1,1,1,1)), codeset),
|
||||
to_uni(time.strftime('%b',(0,7,1,1,1,1,1,1,1)), codeset),
|
||||
to_uni(time.strftime('%b',(0,8,1,1,1,1,1,1,1)), codeset),
|
||||
to_uni(time.strftime('%b',(0,9,1,1,1,1,1,1,1)), codeset),
|
||||
to_uni(time.strftime('%b',(0,10,1,1,1,1,1,1,1)), codeset),
|
||||
to_uni(time.strftime('%b',(0,11,1,1,1,1,1,1,1)), codeset),
|
||||
to_uni(time.strftime('%b',(0,12,1,1,1,1,1,1,1)), codeset),
|
||||
to_uni(time.strftime('%b',(1,1,1,1,1,1,1,1,1)), codeset),
|
||||
to_uni(time.strftime('%b',(1,2,1,1,1,1,1,1,1)), codeset),
|
||||
to_uni(time.strftime('%b',(1,3,1,1,1,1,1,1,1)), codeset),
|
||||
to_uni(time.strftime('%b',(1,4,1,1,1,1,1,1,1)), codeset),
|
||||
to_uni(time.strftime('%b',(1,5,1,1,1,1,1,1,1)), codeset),
|
||||
to_uni(time.strftime('%b',(1,6,1,1,1,1,1,1,1)), codeset),
|
||||
to_uni(time.strftime('%b',(1,7,1,1,1,1,1,1,1)), codeset),
|
||||
to_uni(time.strftime('%b',(1,8,1,1,1,1,1,1,1)), codeset),
|
||||
to_uni(time.strftime('%b',(1,9,1,1,1,1,1,1,1)), codeset),
|
||||
to_uni(time.strftime('%b',(1,10,1,1,1,1,1,1,1)), codeset),
|
||||
to_uni(time.strftime('%b',(1,11,1,1,1,1,1,1,1)), codeset),
|
||||
to_uni(time.strftime('%b',(1,12,1,1,1,1,1,1,1)), codeset),
|
||||
)
|
||||
|
||||
# Gramps day number: Sunday => 1, Monday => 2, etc
|
||||
@ -213,24 +214,24 @@ except:
|
||||
# just a dummy.
|
||||
long_days = (
|
||||
"",
|
||||
to_uni(time.strftime('%A',(0,1,1,1,1,1,6,1,1)), codeset), # Sunday
|
||||
to_uni(time.strftime('%A',(0,1,1,1,1,1,0,1,1)), codeset), # Monday
|
||||
to_uni(time.strftime('%A',(0,1,1,1,1,1,1,1,1)), codeset), # Tuesday
|
||||
to_uni(time.strftime('%A',(0,1,1,1,1,1,2,1,1)), codeset), # Wednesday
|
||||
to_uni(time.strftime('%A',(0,1,1,1,1,1,3,1,1)), codeset), # Thursday
|
||||
to_uni(time.strftime('%A',(0,1,1,1,1,1,4,1,1)), codeset), # Friday
|
||||
to_uni(time.strftime('%A',(0,1,1,1,1,1,5,1,1)), codeset), # Saturday
|
||||
to_uni(time.strftime('%A',(1,1,1,1,1,1,6,1,1)), codeset), # Sunday
|
||||
to_uni(time.strftime('%A',(1,1,1,1,1,1,0,1,1)), codeset), # Monday
|
||||
to_uni(time.strftime('%A',(1,1,1,1,1,1,1,1,1)), codeset), # Tuesday
|
||||
to_uni(time.strftime('%A',(1,1,1,1,1,1,2,1,1)), codeset), # Wednesday
|
||||
to_uni(time.strftime('%A',(1,1,1,1,1,1,3,1,1)), codeset), # Thursday
|
||||
to_uni(time.strftime('%A',(1,1,1,1,1,1,4,1,1)), codeset), # Friday
|
||||
to_uni(time.strftime('%A',(1,1,1,1,1,1,5,1,1)), codeset), # Saturday
|
||||
)
|
||||
|
||||
short_days = (
|
||||
"",
|
||||
to_uni(time.strftime('%a',(0,1,1,1,1,1,6,1,1)), codeset), # Sunday
|
||||
to_uni(time.strftime('%a',(0,1,1,1,1,1,0,1,1)), codeset), # Monday
|
||||
to_uni(time.strftime('%a',(0,1,1,1,1,1,1,1,1)), codeset), # Tuesday
|
||||
to_uni(time.strftime('%a',(0,1,1,1,1,1,2,1,1)), codeset), # Wednesday
|
||||
to_uni(time.strftime('%a',(0,1,1,1,1,1,3,1,1)), codeset), # Thursday
|
||||
to_uni(time.strftime('%a',(0,1,1,1,1,1,4,1,1)), codeset), # Friday
|
||||
to_uni(time.strftime('%a',(0,1,1,1,1,1,5,1,1)), codeset), # Saturday
|
||||
to_uni(time.strftime('%a',(1,1,1,1,1,1,6,1,1)), codeset), # Sunday
|
||||
to_uni(time.strftime('%a',(1,1,1,1,1,1,0,1,1)), codeset), # Monday
|
||||
to_uni(time.strftime('%a',(1,1,1,1,1,1,1,1,1)), codeset), # Tuesday
|
||||
to_uni(time.strftime('%a',(1,1,1,1,1,1,2,1,1)), codeset), # Wednesday
|
||||
to_uni(time.strftime('%a',(1,1,1,1,1,1,3,1,1)), codeset), # Thursday
|
||||
to_uni(time.strftime('%a',(1,1,1,1,1,1,4,1,1)), codeset), # Friday
|
||||
to_uni(time.strftime('%a',(1,1,1,1,1,1,5,1,1)), codeset), # Saturday
|
||||
)
|
||||
|
||||
# depending on the locale, the value returned for 20th Feb 2009 could be
|
||||
|
@ -32,7 +32,8 @@ from this class.
|
||||
# Python libraries
|
||||
#
|
||||
#-------------------------------------------------------------------------
|
||||
from ..ggettext import gettext as _
|
||||
from ..const import GRAMPS_LOCALE as glocale
|
||||
_ = glocale.get_translation().gettext
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
#
|
||||
|
@ -195,6 +195,7 @@ class DictionaryDb(DbWriteBase, DbReadBase):
|
||||
}
|
||||
# skip GEDCOM cross-ref check for now:
|
||||
self.set_feature("skip-check-xref", True)
|
||||
self.set_feature("skip-import-additions", True)
|
||||
self.readonly = False
|
||||
self.db_is_open = True
|
||||
self.name_formats = []
|
||||
@ -255,6 +256,20 @@ class DictionaryDb(DbWriteBase, DbReadBase):
|
||||
self.txn = DictionaryTxn("DbDictionary Transaction", self)
|
||||
self.transaction = None
|
||||
|
||||
def version_supported(self):
|
||||
"""Return True when the file has a supported version."""
|
||||
return True
|
||||
|
||||
def get_table_names(self):
|
||||
"""Return a list of valid table names."""
|
||||
return list(self._tables.keys())
|
||||
|
||||
def get_table_metadata(self, table_name):
|
||||
"""Return the metadata for a valid table name."""
|
||||
if table_name in self._tables:
|
||||
return self._tables[table_name]
|
||||
return None
|
||||
|
||||
def transaction_commit(self, txn):
|
||||
pass
|
||||
|
||||
|
@ -27,7 +27,8 @@
|
||||
# Standard python modules
|
||||
#
|
||||
#-------------------------------------------------------------------------
|
||||
from ..ggettext import gettext as _
|
||||
from ..const import GRAMPS_LOCALE as glocale
|
||||
_ = glocale.get_translation().gettext
|
||||
|
||||
|
||||
class DbException(Exception):
|
||||
|
@ -40,7 +40,6 @@ else:
|
||||
import pickle
|
||||
import time
|
||||
import random
|
||||
import locale
|
||||
import os
|
||||
from sys import maxsize
|
||||
|
||||
@ -49,7 +48,8 @@ if config.get('preferences.use-bsddb3') or sys.version_info[0] >= 3:
|
||||
from bsddb3 import db
|
||||
else:
|
||||
from bsddb import db
|
||||
from ..ggettext import gettext as _
|
||||
from ..const import GRAMPS_LOCALE as glocale
|
||||
_ = glocale.get_translation().gettext
|
||||
import re
|
||||
|
||||
import logging
|
||||
@ -81,6 +81,7 @@ from . import (BsddbBaseCursor, DbReadBase)
|
||||
from ..utils.id import create_id
|
||||
from ..errors import DbError
|
||||
from ..constfunc import UNITYPE, STRTYPE, cuni
|
||||
from ..const import GRAMPS_LOCALE as glocale
|
||||
|
||||
LOG = logging.getLogger(DBLOGNAME)
|
||||
LOG = logging.getLogger(".citation")
|
||||
@ -103,6 +104,17 @@ DBERRS = (db.DBRunRecoveryError, db.DBAccessError,
|
||||
# Helper functions
|
||||
#
|
||||
#-------------------------------------------------------------------------
|
||||
def find_byte_surname(key, data):
|
||||
"""
|
||||
Creating a surname from raw data of a person, to use for sort and index
|
||||
returns a byte string
|
||||
"""
|
||||
surn = __index_surname(data[3][5])
|
||||
# in python 3 we work with unicode internally, but need byte function sometimes
|
||||
if isinstance(surn, UNITYPE):
|
||||
return surn.encode('utf-8')
|
||||
return surn
|
||||
|
||||
def find_surname(key, data):
|
||||
"""
|
||||
Creating a surname from raw data of a person, to use for sort and index
|
||||
@ -128,7 +140,10 @@ def __index_surname(surn_list):
|
||||
NameOriginType.PATRONYMIC, NameOriginType.MATRONYMIC]) ])
|
||||
else:
|
||||
surn = ""
|
||||
return surn.encode('utf-8')
|
||||
if sys.version_info[0] < 3:
|
||||
return surn.encode('utf-8')
|
||||
else:
|
||||
return surn
|
||||
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
@ -792,6 +807,8 @@ class DbBsddbRead(DbReadBase, Callback):
|
||||
return self.get_from_handle(handle, Location, self.location_map)
|
||||
|
||||
def __get_obj_from_gramps_id(self, val, tbl, class_, prim_tbl):
|
||||
if isinstance(tbl, dict):
|
||||
return None ## trying to get object too early
|
||||
if isinstance(val, UNITYPE):
|
||||
val = val.encode('utf-8')
|
||||
try:
|
||||
@ -1577,6 +1594,8 @@ class DbBsddbRead(DbReadBase, Callback):
|
||||
"""
|
||||
Helper method for get_raw_<object>_data methods
|
||||
"""
|
||||
if table is None:
|
||||
return None ## trying to get object too early
|
||||
if isinstance(handle, UNITYPE):
|
||||
handle = handle.encode('utf-8')
|
||||
try:
|
||||
@ -1699,7 +1718,7 @@ class DbBsddbRead(DbReadBase, Callback):
|
||||
def __sortbyperson_key(self, handle):
|
||||
if isinstance(handle, UNITYPE):
|
||||
handle = handle.encode('utf-8')
|
||||
return locale.strxfrm(find_surname(handle,
|
||||
return glocale.sort_key(find_surname(handle,
|
||||
self.person_map.get(handle)))
|
||||
|
||||
def __sortbyplace(self, first, second):
|
||||
@ -1707,13 +1726,13 @@ class DbBsddbRead(DbReadBase, Callback):
|
||||
first = first.encode('utf-8')
|
||||
if isinstance(second, UNITYPE):
|
||||
second = second.encode('utf-8')
|
||||
return locale.strcoll(self.place_map.get(first)[2],
|
||||
return glocale.strcoll(self.place_map.get(first)[2],
|
||||
self.place_map.get(second)[2])
|
||||
|
||||
def __sortbyplace_key(self, place):
|
||||
if isinstance(place, UNITYPE):
|
||||
place = place.encode('utf-8')
|
||||
return locale.strxfrm(self.place_map.get(place)[2])
|
||||
return glocale.sort_key(self.place_map.get(place)[2])
|
||||
|
||||
def __sortbysource(self, first, second):
|
||||
if isinstance(first, UNITYPE):
|
||||
@ -1722,13 +1741,13 @@ class DbBsddbRead(DbReadBase, Callback):
|
||||
second = second.encode('utf-8')
|
||||
source1 = cuni(self.source_map[first][2])
|
||||
source2 = cuni(self.source_map[second][2])
|
||||
return locale.strcoll(source1, source2)
|
||||
return glocale.strcoll(source1, source2)
|
||||
|
||||
def __sortbysource_key(self, key):
|
||||
if isinstance(key, UNITYPE):
|
||||
key = key.encode('utf-8')
|
||||
source = cuni(self.source_map[key][2])
|
||||
return locale.strxfrm(source)
|
||||
return glocale.sort_key(source)
|
||||
|
||||
def __sortbycitation(self, first, second):
|
||||
if isinstance(first, UNITYPE):
|
||||
@ -1737,13 +1756,13 @@ class DbBsddbRead(DbReadBase, Callback):
|
||||
second = second.encode('utf-8')
|
||||
citation1 = cuni(self.citation_map[first][3])
|
||||
citation2 = cuni(self.citation_map[second][3])
|
||||
return locale.strcoll(citation1, citation2)
|
||||
return glocale.strcoll(citation1, citation2)
|
||||
|
||||
def __sortbycitation_key(self, key):
|
||||
if isinstance(key, UNITYPE):
|
||||
key = key.encode('utf-8')
|
||||
citation = cuni(self.citation_map[key][3])
|
||||
return locale.strxfrm(citation)
|
||||
return glocale.sort_key(citation)
|
||||
|
||||
def __sortbymedia(self, first, second):
|
||||
if isinstance(first, UNITYPE):
|
||||
@ -1752,13 +1771,13 @@ class DbBsddbRead(DbReadBase, Callback):
|
||||
second = second.encode('utf-8')
|
||||
media1 = self.media_map[first][4]
|
||||
media2 = self.media_map[second][4]
|
||||
return locale.strcoll(media1, media2)
|
||||
return glocale.strcoll(media1, media2)
|
||||
|
||||
def __sortbymedia_key(self, key):
|
||||
if isinstance(key, UNITYPE):
|
||||
key = key.encode('utf-8')
|
||||
media = self.media_map[key][4]
|
||||
return locale.strxfrm(media)
|
||||
return glocale.sort_key(media)
|
||||
|
||||
def __sortbytag(self, first, second):
|
||||
if isinstance(first, UNITYPE):
|
||||
@ -1767,13 +1786,13 @@ class DbBsddbRead(DbReadBase, Callback):
|
||||
second = second.encode('utf-8')
|
||||
tag1 = self.tag_map[first][1]
|
||||
tag2 = self.tag_map[second][1]
|
||||
return locale.strcoll(tag1, tag2)
|
||||
return glocale.strcoll(tag1, tag2)
|
||||
|
||||
def __sortbytag_key(self, key):
|
||||
if isinstance(key, UNITYPE):
|
||||
key = key.encode('utf-8')
|
||||
tag = self.tag_map[key][1]
|
||||
return locale.strxfrm(tag)
|
||||
return glocale.sort_key(tag)
|
||||
|
||||
def set_mediapath(self, path):
|
||||
"""Set the default media path for database, path should be utf-8."""
|
||||
|
@ -46,13 +46,15 @@ if config.get('preferences.use-bsddb3') or sys.version_info[0] >= 3:
|
||||
from bsddb3 import db
|
||||
else:
|
||||
from bsddb import db
|
||||
from ..ggettext import gettext as _
|
||||
from ..const import GRAMPS_LOCALE as glocale
|
||||
_ = glocale.get_translation().gettext
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
#
|
||||
# Gramps modules
|
||||
#
|
||||
#-------------------------------------------------------------------------
|
||||
from ..constfunc import conv_to_unicode, handle2internal
|
||||
from .dbconst import *
|
||||
from . import BSDDBTxn
|
||||
from ..errors import DbError
|
||||
@ -67,6 +69,7 @@ DBERRS = (db.DBRunRecoveryError, db.DBAccessError,
|
||||
|
||||
_SIGBASE = ('person', 'family', 'source', 'event', 'media', 'place',
|
||||
'location', 'repository', 'reference', 'note', 'tag', 'citation')
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
#
|
||||
# DbUndo class
|
||||
@ -316,7 +319,7 @@ class DbUndo(object):
|
||||
"""
|
||||
try:
|
||||
if data is None:
|
||||
emit(signal_root + '-delete', ([handle],))
|
||||
emit(signal_root + '-delete', ([handle2internal(handle)],))
|
||||
db_map.delete(handle, txn=self.txn)
|
||||
else:
|
||||
ex_data = db_map.get(handle, txn=self.txn)
|
||||
@ -325,7 +328,7 @@ class DbUndo(object):
|
||||
else:
|
||||
signal = signal_root + '-add'
|
||||
db_map.put(handle, data, txn=self.txn)
|
||||
emit(signal, ([handle],))
|
||||
emit(signal, ([handle2internal(handle)],))
|
||||
|
||||
except DBERRS as msg:
|
||||
self.db._log_error()
|
||||
|
@ -30,7 +30,8 @@ import time
|
||||
import logging
|
||||
LOG = logging.getLogger(".citation")
|
||||
|
||||
from ..ggettext import gettext as _
|
||||
from ..const import GRAMPS_LOCALE as glocale
|
||||
_ = glocale.get_translation().gettext
|
||||
from ..constfunc import cuni
|
||||
|
||||
"""
|
||||
@ -42,13 +43,14 @@ if config.get('preferences.use-bsddb3') or sys.version_info[0] >= 3:
|
||||
else:
|
||||
from bsddb import db
|
||||
from . import BSDDBTxn
|
||||
from ..constfunc import UNITYPE
|
||||
from ..lib.nameorigintype import NameOriginType
|
||||
from .write import _mkname, SURNAMES
|
||||
from .dbconst import (PERSON_KEY, FAMILY_KEY, EVENT_KEY, MEDIA_KEY, PLACE_KEY,
|
||||
LOCATION_KEY, REPOSITORY_KEY)
|
||||
from gramps.gui.dialog import (InfoDialog)
|
||||
|
||||
def gramps_upgrade_17(self):
|
||||
def gramps_upgrade_18(self):
|
||||
self.set_total(len(self.place_map))
|
||||
self.children = {None: []}
|
||||
for handle in self.place_map.keys():
|
||||
@ -72,7 +74,7 @@ def gramps_upgrade_17(self):
|
||||
self.update()
|
||||
|
||||
with BSDDBTxn(self.env, self.metadata) as txn:
|
||||
txn.put(b'version', 17)
|
||||
txn.put(b'version', 18)
|
||||
|
||||
def add_reference(self, pri_handle, ref_handle):
|
||||
key = (PLACE_KEY, pri_handle)
|
||||
@ -113,6 +115,94 @@ def match_location(self, parent, item, lat_long):
|
||||
txn.put(str(handle), new_location)
|
||||
return handle
|
||||
|
||||
def gramps_upgrade_17(self):
|
||||
"""Upgrade database from version 16 to 17. This upgrade adds tags to
|
||||
event, place, repository, source and citation objects.
|
||||
"""
|
||||
length = (len(self.event_map) + len(self.place_map) +
|
||||
len(self.repository_map) + len(self.source_map) +
|
||||
len(self.citation_map))
|
||||
self.set_total(length)
|
||||
|
||||
# ---------------------------------
|
||||
# Modify Event
|
||||
# ---------------------------------
|
||||
# Add new tag_list field.
|
||||
for handle in self.event_map.keys():
|
||||
event = self.event_map[handle]
|
||||
new_event = list(event)
|
||||
new_event = new_event[:11] + [[]] + new_event[11:]
|
||||
new_event = tuple(new_event)
|
||||
with BSDDBTxn(self.env, self.event_map) as txn:
|
||||
if isinstance(handle, UNITYPE):
|
||||
handle = handle.encode('utf-8')
|
||||
txn.put(handle, new_event)
|
||||
self.update()
|
||||
|
||||
# ---------------------------------
|
||||
# Modify Place
|
||||
# ---------------------------------
|
||||
# Add new tag_list field.
|
||||
for handle in self.place_map.keys():
|
||||
place = self.place_map[handle]
|
||||
new_place = list(place)
|
||||
new_place = new_place[:12] + [[]] + new_place[12:]
|
||||
new_place = tuple(new_place)
|
||||
with BSDDBTxn(self.env, self.place_map) as txn:
|
||||
if isinstance(handle, UNITYPE):
|
||||
handle = handle.encode('utf-8')
|
||||
txn.put(handle, new_place)
|
||||
self.update()
|
||||
|
||||
# ---------------------------------
|
||||
# Modify Repository
|
||||
# ---------------------------------
|
||||
# Add new tag_list field.
|
||||
for handle in self.repository_map.keys():
|
||||
repository = self.repository_map[handle]
|
||||
new_repository = list(repository)
|
||||
new_repository = new_repository[:8] + [[]] + new_repository[8:]
|
||||
new_repository = tuple(new_repository)
|
||||
with BSDDBTxn(self.env, self.repository_map) as txn:
|
||||
if isinstance(handle, UNITYPE):
|
||||
handle = handle.encode('utf-8')
|
||||
txn.put(handle, new_repository)
|
||||
self.update()
|
||||
|
||||
# ---------------------------------
|
||||
# Modify Source
|
||||
# ---------------------------------
|
||||
# Add new tag_list field.
|
||||
for handle in self.source_map.keys():
|
||||
source = self.source_map[handle]
|
||||
new_source = list(source)
|
||||
new_source = new_source[:11] + [[]] + new_source[11:]
|
||||
new_source = tuple(new_source)
|
||||
with BSDDBTxn(self.env, self.source_map) as txn:
|
||||
if isinstance(handle, UNITYPE):
|
||||
handle = handle.encode('utf-8')
|
||||
txn.put(handle, new_source)
|
||||
self.update()
|
||||
|
||||
# ---------------------------------
|
||||
# Modify Citation
|
||||
# ---------------------------------
|
||||
# Add new tag_list field.
|
||||
for handle in self.citation_map.keys():
|
||||
citation = self.citation_map[handle]
|
||||
new_citation = list(citation)
|
||||
new_citation = new_citation[:10] + [[]] + new_citation[10:]
|
||||
new_citation = tuple(new_citation)
|
||||
with BSDDBTxn(self.env, self.citation_map) as txn:
|
||||
if isinstance(handle, UNITYPE):
|
||||
handle = handle.encode('utf-8')
|
||||
txn.put(handle, new_citation)
|
||||
self.update()
|
||||
|
||||
# Bump up database version. Separate transaction to save metadata.
|
||||
with BSDDBTxn(self.env, self.metadata) as txn:
|
||||
txn.put(b'version', 17)
|
||||
|
||||
def gramps_upgrade_16(self):
|
||||
"""Upgrade database from version 15 to 16. This upgrade converts all
|
||||
SourceRef child objects to Citation Primary objects.
|
||||
@ -209,7 +299,9 @@ def gramps_upgrade_16(self):
|
||||
new_citation_list, note_list, change, tag_list,
|
||||
private, person_ref_list)
|
||||
with BSDDBTxn(self.env, self.person_map) as txn:
|
||||
txn.put(str(handle), new_person)
|
||||
if isinstance(handle, UNITYPE):
|
||||
handle = handle.encode('utf-8')
|
||||
txn.put(handle, new_person)
|
||||
self.update()
|
||||
|
||||
LOG.debug("%d persons upgraded with %d citations in %d seconds. " %
|
||||
@ -241,7 +333,9 @@ def gramps_upgrade_16(self):
|
||||
change, date, tag_list, private)
|
||||
LOG.debug(" upgrade new_media %s" % [new_media])
|
||||
with BSDDBTxn(self.env, self.media_map) as txn:
|
||||
txn.put(str(handle), new_media)
|
||||
if isinstance(handle, UNITYPE):
|
||||
handle = handle.encode('utf-8')
|
||||
txn.put(handle, new_media)
|
||||
LOG.debug(" update ref map media %s" % [handle,
|
||||
self.get_object_from_handle(handle) ])
|
||||
self.update()
|
||||
@ -260,7 +354,7 @@ def gramps_upgrade_16(self):
|
||||
start_time = time.time()
|
||||
for place_handle in self.place_map.keys():
|
||||
place = self.place_map[place_handle]
|
||||
(handle, gramps_id, title, int, lat,
|
||||
(handle, gramps_id, title, longi, lat,
|
||||
main_loc, alt_loc, urls, media_list, source_list, note_list,
|
||||
change, private) = place
|
||||
if source_list:
|
||||
@ -273,11 +367,13 @@ def gramps_upgrade_16(self):
|
||||
self, media_list)
|
||||
if source_list or media_list:
|
||||
new_place = (handle, gramps_id, title,
|
||||
int, lat, main_loc, alt_loc, urls,
|
||||
longi, lat, main_loc, alt_loc, urls,
|
||||
media_list, new_citation_list, note_list,
|
||||
change, private)
|
||||
with BSDDBTxn(self.env, self.place_map) as txn:
|
||||
txn.put(str(handle), new_place)
|
||||
if isinstance(handle, UNITYPE):
|
||||
handle = handle.encode('utf-8')
|
||||
txn.put(handle, new_place)
|
||||
self.update()
|
||||
|
||||
LOG.debug("%d places upgraded with %d citations in %d seconds. " %
|
||||
@ -325,7 +421,9 @@ def gramps_upgrade_16(self):
|
||||
attribute_list, lds_seal_list, new_citation_list,
|
||||
note_list, change, tag_list, private)
|
||||
with BSDDBTxn(self.env, self.family_map) as txn:
|
||||
txn.put(str(handle), new_family)
|
||||
if isinstance(handle, UNITYPE):
|
||||
handle = handle.encode('utf-8')
|
||||
txn.put(handle, new_family)
|
||||
self.update()
|
||||
|
||||
LOG.debug("%d familys upgraded with %d citations in %d seconds. " %
|
||||
@ -365,7 +463,9 @@ def gramps_upgrade_16(self):
|
||||
attribute_list,
|
||||
change, private)
|
||||
with BSDDBTxn(self.env, self.event_map) as txn:
|
||||
txn.put(str(handle), new_event)
|
||||
if isinstance(handle, UNITYPE):
|
||||
handle = handle.encode('utf-8')
|
||||
txn.put(handle, new_event)
|
||||
t2 = time.time()
|
||||
upgrade_time += t2 - t1
|
||||
t3 = time.time()
|
||||
@ -397,7 +497,9 @@ def gramps_upgrade_16(self):
|
||||
new_repository = (handle, gramps_id, the_type, name, note_list,
|
||||
address_list, urls, change, private)
|
||||
with BSDDBTxn(self.env, self.repository_map) as txn:
|
||||
txn.put(str(handle), new_repository)
|
||||
if isinstance(handle, UNITYPE):
|
||||
handle = handle.encode('utf-8')
|
||||
txn.put(handle, new_repository)
|
||||
self.update()
|
||||
|
||||
LOG.debug("%d repositorys upgraded with %d citations in %d seconds. " %
|
||||
@ -600,7 +702,9 @@ def convert_source_list_to_citation_list_16(self, source_list):
|
||||
date, page, confidence, ref, note_list, new_media_list,
|
||||
new_data_map, new_change, private)
|
||||
with BSDDBTxn(self.env, self.citation_map) as txn:
|
||||
txn.put(str(new_handle), new_citation)
|
||||
if isinstance(new_handle, UNITYPE):
|
||||
new_handle = new_handle.encode('utf-8')
|
||||
txn.put(new_handle, new_citation)
|
||||
self.cmap_index += 1
|
||||
# # add backlinks for references from Citation to Source
|
||||
# with BSDDBTxn(self.env) as txn:
|
||||
@ -686,7 +790,9 @@ def gramps_upgrade_15(self):
|
||||
)
|
||||
|
||||
with BSDDBTxn(self.env, self.person_map) as txn:
|
||||
txn.put(str(handle), new_person)
|
||||
if isinstance(handle, UNITYPE):
|
||||
handle = handle.encode('utf-8')
|
||||
txn.put(handle, new_person)
|
||||
self.update()
|
||||
#surname is now different, remove secondary index with names
|
||||
_db = db.DB(self.env)
|
||||
@ -709,7 +815,9 @@ def gramps_upgrade_15(self):
|
||||
new_family[13] = []
|
||||
new_family = tuple(new_family)
|
||||
with BSDDBTxn(self.env, self.family_map) as txn:
|
||||
txn.put(str(handle), new_family)
|
||||
if isinstance(handle, UNITYPE):
|
||||
handle = handle.encode('utf-8')
|
||||
txn.put(handle, new_family)
|
||||
self.update()
|
||||
|
||||
# ---------------------------------
|
||||
@ -726,7 +834,9 @@ def gramps_upgrade_15(self):
|
||||
new_note[6] = []
|
||||
new_note = tuple(new_note)
|
||||
with BSDDBTxn(self.env, self.note_map) as txn:
|
||||
txn.put(str(handle), new_note)
|
||||
if isinstance(handle, UNITYPE):
|
||||
handle = handle.encode('utf-8')
|
||||
txn.put(handle, new_note)
|
||||
self.update()
|
||||
|
||||
# ---------------------------------
|
||||
@ -739,7 +849,9 @@ def gramps_upgrade_15(self):
|
||||
new_media[10] = []
|
||||
new_media = tuple(new_media)
|
||||
with BSDDBTxn(self.env, self.media_map) as txn:
|
||||
txn.put(str(handle), new_media)
|
||||
if isinstance(handle, UNITYPE):
|
||||
handle = handle.encode('utf-8')
|
||||
txn.put(handle, new_media)
|
||||
self.update()
|
||||
|
||||
# ---------------------------------
|
||||
@ -753,7 +865,9 @@ def gramps_upgrade_15(self):
|
||||
#new_event[11] = []
|
||||
new_event = tuple(new_event)
|
||||
with BSDDBTxn(self.env, self.event_map) as txn:
|
||||
txn.put(str(handle), new_event)
|
||||
if isinstance(handle, UNITYPE):
|
||||
handle = handle.encode('utf-8')
|
||||
txn.put(handle, new_event)
|
||||
self.update()
|
||||
|
||||
# ---------------------------------
|
||||
@ -769,7 +883,9 @@ def gramps_upgrade_15(self):
|
||||
new_place = new_place[:12] + new_place[13:]
|
||||
new_place = tuple(new_place)
|
||||
with BSDDBTxn(self.env, self.place_map) as txn:
|
||||
txn.put(str(handle), new_place)
|
||||
if isinstance(handle, UNITYPE):
|
||||
handle = handle.encode('utf-8')
|
||||
txn.put(handle, new_place)
|
||||
self.update()
|
||||
|
||||
# ---------------------------------
|
||||
@ -782,7 +898,9 @@ def gramps_upgrade_15(self):
|
||||
new_source = new_source[:11] + new_source[12:]
|
||||
new_source = tuple(new_source)
|
||||
with BSDDBTxn(self.env, self.source_map) as txn:
|
||||
txn.put(str(handle), new_source)
|
||||
if isinstance(handle, UNITYPE):
|
||||
handle = handle.encode('utf-8')
|
||||
txn.put(handle, new_source)
|
||||
self.update()
|
||||
|
||||
# ---------------------------------
|
||||
@ -796,7 +914,9 @@ def gramps_upgrade_15(self):
|
||||
new_repository[5] = list(map(convert_address, new_repository[5]))
|
||||
new_repository = tuple(new_repository)
|
||||
with BSDDBTxn(self.env, self.repository_map) as txn:
|
||||
txn.put(str(handle), new_repository)
|
||||
if isinstance(handle, UNITYPE):
|
||||
handle = handle.encode('utf-8')
|
||||
txn.put(handle, new_repository)
|
||||
self.update()
|
||||
|
||||
# Bump up database version. Separate transaction to save metadata.
|
||||
@ -818,6 +938,8 @@ def convert_marker(self, marker_field):
|
||||
tag.set_name(tag_name)
|
||||
tag.set_priority(len(self.tags))
|
||||
with BSDDBTxn(self.env, self.tag_map) as txn:
|
||||
if isinstance(handle, UNITYPE):
|
||||
handle = handle.encode('utf-8')
|
||||
txn.put(handle, tag.serialize())
|
||||
self.tags[tag_name] = handle
|
||||
return self.tags[tag_name]
|
||||
@ -884,7 +1006,9 @@ def gramps_upgrade_14(self):
|
||||
new_note = (handle, gramps_id, styled_text, format, note_type,
|
||||
change, marker, private)
|
||||
with BSDDBTxn(self.env, self.note_map) as txn:
|
||||
txn.put(str(handle), new_note)
|
||||
if isinstance(handle, UNITYPE):
|
||||
handle = handle.encode('utf-8')
|
||||
txn.put(handle, new_note)
|
||||
self.update()
|
||||
|
||||
# ---------------------------------
|
||||
@ -904,7 +1028,9 @@ def gramps_upgrade_14(self):
|
||||
description, place, new_source_list, note_list,
|
||||
new_media_list, new_attribute_list, change,marker,private)
|
||||
with BSDDBTxn(self.env, self.event_map) as txn:
|
||||
txn.put(str(handle), new_event)
|
||||
if isinstance(handle, UNITYPE):
|
||||
handle = handle.encode('utf-8')
|
||||
txn.put(handle, new_event)
|
||||
self.update()
|
||||
|
||||
# ---------------------------------
|
||||
@ -986,7 +1112,9 @@ def gramps_upgrade_14(self):
|
||||
)
|
||||
|
||||
with BSDDBTxn(self.env, self.person_map) as txn:
|
||||
txn.put(str(handle), new_person)
|
||||
if isinstance(handle, UNITYPE):
|
||||
handle = handle.encode('utf-8')
|
||||
txn.put(handle, new_person)
|
||||
self.update()
|
||||
|
||||
# ---------------------------------
|
||||
@ -1018,7 +1146,9 @@ def gramps_upgrade_14(self):
|
||||
change, marker, private)
|
||||
|
||||
with BSDDBTxn(self.env, self.family_map) as txn:
|
||||
txn.put(str(handle), new_family)
|
||||
if isinstance(handle, UNITYPE):
|
||||
handle = handle.encode('utf-8')
|
||||
txn.put(handle, new_family)
|
||||
self.update()
|
||||
|
||||
# ---------------------------------
|
||||
@ -1043,7 +1173,9 @@ def gramps_upgrade_14(self):
|
||||
new_address_list, urls, change, marker, private)
|
||||
|
||||
with BSDDBTxn(self.env, self.repository_map) as txn:
|
||||
txn.put(str(handle), new_repository)
|
||||
if isinstance(handle, UNITYPE):
|
||||
handle = handle.encode('utf-8')
|
||||
txn.put(handle, new_repository)
|
||||
self.update()
|
||||
|
||||
# ---------------------------------
|
||||
@ -1061,7 +1193,9 @@ def gramps_upgrade_14(self):
|
||||
new_date, marker, private)
|
||||
|
||||
with BSDDBTxn(self.env, self.media_map) as txn:
|
||||
txn.put(str(handle), new_media)
|
||||
if isinstance(handle, UNITYPE):
|
||||
handle = handle.encode('utf-8')
|
||||
txn.put(handle, new_media)
|
||||
self.update()
|
||||
|
||||
# ---------------------------------
|
||||
@ -1069,17 +1203,19 @@ def gramps_upgrade_14(self):
|
||||
# ---------------------------------
|
||||
for place_handle in self.place_map.keys():
|
||||
place = self.place_map[place_handle]
|
||||
(handle, gramps_id, title, int, lat,
|
||||
(handle, gramps_id, title, longi, lat,
|
||||
main_loc, alt_loc, urls, media_list, source_list, note_list,
|
||||
change, marker, private) = place
|
||||
new_media_list = new_media_list_14(media_list)
|
||||
new_source_list = new_source_list_14(source_list)
|
||||
new_place = (handle, gramps_id, title, int, lat,
|
||||
new_place = (handle, gramps_id, title, longi, lat,
|
||||
main_loc, alt_loc, urls, new_media_list,
|
||||
new_source_list, note_list, change, marker, private)
|
||||
|
||||
with BSDDBTxn(self.env, self.place_map) as txn:
|
||||
txn.put(str(handle), new_place)
|
||||
if isinstance(handle, UNITYPE):
|
||||
handle = handle.encode('utf-8')
|
||||
txn.put(handle, new_place)
|
||||
self.update()
|
||||
|
||||
# ---------------------------------
|
||||
@ -1098,7 +1234,9 @@ def gramps_upgrade_14(self):
|
||||
marker, private)
|
||||
|
||||
with BSDDBTxn(self.env, self.source_map) as txn:
|
||||
txn.put(str(handle), new_source)
|
||||
if isinstance(handle, UNITYPE):
|
||||
handle = handle.encode('utf-8')
|
||||
txn.put(handle, new_source)
|
||||
self.update()
|
||||
|
||||
# Bump up database version. Separate transaction to save metadata.
|
||||
|
@ -40,13 +40,11 @@ else:
|
||||
import pickle
|
||||
import os
|
||||
import time
|
||||
import locale
|
||||
import bisect
|
||||
from functools import wraps
|
||||
import logging
|
||||
from sys import maxsize
|
||||
|
||||
from ..ggettext import gettext as _
|
||||
from ..config import config
|
||||
if config.get('preferences.use-bsddb3') or sys.version_info[0] >= 3:
|
||||
from bsddb3 import dbshelve, db
|
||||
@ -75,18 +73,20 @@ from ..lib.researcher import Researcher
|
||||
from . import (DbBsddbRead, DbWriteBase, BSDDBTxn,
|
||||
DbTxn, BsddbBaseCursor, BsddbDowngradeError, DbVersionError,
|
||||
DbEnvironmentError, DbUpgradeRequiredError, find_surname,
|
||||
find_surname_name, DbUndoBSDDB as DbUndo)
|
||||
find_byte_surname, find_surname_name, DbUndoBSDDB as DbUndo)
|
||||
from .dbconst import *
|
||||
from ..utils.callback import Callback
|
||||
from ..utils.cast import (conv_unicode_tosrtkey, conv_dbstr_to_unicode)
|
||||
from ..utils.cast import conv_dbstr_to_unicode
|
||||
from ..updatecallback import UpdateCallback
|
||||
from ..errors import DbError
|
||||
from ..constfunc import win, conv_to_unicode, cuni, UNITYPE
|
||||
from ..constfunc import win, conv_to_unicode, cuni, UNITYPE, handle2internal
|
||||
from ..const import GRAMPS_LOCALE as glocale
|
||||
_ = glocale.get_translation().gettext
|
||||
|
||||
_LOG = logging.getLogger(DBLOGNAME)
|
||||
LOG = logging.getLogger(".citation")
|
||||
_MINVERSION = 9
|
||||
_DBVERSION = 17
|
||||
_DBVERSION = 18
|
||||
|
||||
IDTRANS = "person_id"
|
||||
FIDTRANS = "family_id"
|
||||
@ -170,7 +170,7 @@ KEY_TO_NAME_MAP = {PERSON_KEY: 'person',
|
||||
# Helper functions
|
||||
#
|
||||
#-------------------------------------------------------------------------
|
||||
|
||||
|
||||
def find_idmap(key, data):
|
||||
""" return id for association of secondary index.
|
||||
returns a byte string
|
||||
@ -756,7 +756,7 @@ class DbBsddb(DbBsddbRead, DbWriteBase, UpdateCallback):
|
||||
if not self.readonly:
|
||||
|
||||
assoc = [
|
||||
(self.person_map, self.surnames, find_surname),
|
||||
(self.person_map, self.surnames, find_byte_surname),
|
||||
(self.person_map, self.id_trans, find_idmap),
|
||||
(self.family_map, self.fid_trans, find_idmap),
|
||||
(self.event_map, self.eid_trans, find_idmap),
|
||||
@ -953,6 +953,7 @@ class DbBsddb(DbBsddbRead, DbWriteBase, UpdateCallback):
|
||||
def delete_primary_from_reference_map(self, handle, transaction, txn=None):
|
||||
"""
|
||||
Remove all references to the primary object from the reference_map.
|
||||
handle should be utf-8
|
||||
"""
|
||||
primary_cur = self.get_reference_map_primary_cursor()
|
||||
|
||||
@ -971,8 +972,12 @@ class DbBsddb(DbBsddbRead, DbWriteBase, UpdateCallback):
|
||||
|
||||
# so we need the second tuple give us a reference that we can
|
||||
# combine with the primary_handle to get the main key.
|
||||
|
||||
main_key = (handle, pickle.loads(data)[1][1])
|
||||
if sys.version_info[0] < 3:
|
||||
#handle should be in python 2 str
|
||||
main_key = (handle, pickle.loads(data)[1][1])
|
||||
else:
|
||||
#python 3 work internally with unicode
|
||||
main_key = (handle.decode('utf-8'), pickle.loads(data)[1][1])
|
||||
|
||||
# The trick is not to remove while inside the cursor,
|
||||
# but collect them all and remove after the cursor is closed
|
||||
@ -1046,7 +1051,12 @@ class DbBsddb(DbBsddbRead, DbWriteBase, UpdateCallback):
|
||||
the passed transaction.
|
||||
"""
|
||||
if isinstance(key, tuple):
|
||||
#create a string key
|
||||
#create a byte string key, first validity check in python 3!
|
||||
for val in key:
|
||||
if sys.version_info[0] >= 3 and isinstance(val, bytes):
|
||||
raise DbError(_('An attempt is made to safe a reference key '
|
||||
'which is partly bytecode, this is not allowed.\n'
|
||||
'Key is %s') % str(key))
|
||||
key = str(key)
|
||||
if isinstance(key, UNITYPE):
|
||||
key = key.encode('utf-8')
|
||||
@ -1604,7 +1614,7 @@ class DbBsddb(DbBsddbRead, DbWriteBase, UpdateCallback):
|
||||
self.emit('person-groupname-rebuild', (name, grouppar))
|
||||
|
||||
def sort_surname_list(self):
|
||||
self.surname_list.sort(key=conv_unicode_tosrtkey)
|
||||
self.surname_list.sort(key=glocale.sort_key)
|
||||
|
||||
@catch_db_error
|
||||
def build_surname_list(self):
|
||||
@ -1616,7 +1626,7 @@ class DbBsddb(DbBsddbRead, DbWriteBase, UpdateCallback):
|
||||
#TODO GTK3: Why double conversion? Convert to a list of str objects!
|
||||
self.surname_list = sorted(
|
||||
map(conv_dbstr_to_unicode, set(self.surnames.keys())),
|
||||
key=conv_unicode_tosrtkey)
|
||||
key=glocale.sort_key)
|
||||
|
||||
def add_to_surname_list(self, person, batch_transaction):
|
||||
"""
|
||||
@ -2019,10 +2029,10 @@ class DbBsddb(DbBsddbRead, DbWriteBase, UpdateCallback):
|
||||
"""
|
||||
if (obj_type, trans_type) in transaction:
|
||||
if trans_type == TXNDEL:
|
||||
handles = [handle for handle, data in
|
||||
handles = [handle2internal(handle) for handle, data in
|
||||
transaction[(obj_type, trans_type)]]
|
||||
else:
|
||||
handles = [handle for handle, data in
|
||||
handles = [handle2internal(handle) for handle, data in
|
||||
transaction[(obj_type, trans_type)]
|
||||
if (handle, None) not in transaction[(obj_type,
|
||||
TXNDEL)]]
|
||||
@ -2120,6 +2130,8 @@ class DbBsddb(DbBsddbRead, DbWriteBase, UpdateCallback):
|
||||
upgrade.gramps_upgrade_16(self)
|
||||
if version < 17:
|
||||
upgrade.gramps_upgrade_17(self)
|
||||
if version < 18:
|
||||
upgrade.gramps_upgrade_18(self)
|
||||
|
||||
self.reset()
|
||||
self.set_total(6)
|
||||
|
@ -53,8 +53,11 @@ Specific symbols for parts of a name are defined:
|
||||
# Python modules
|
||||
#
|
||||
#-------------------------------------------------------------------------
|
||||
from ..ggettext import sgettext as _
|
||||
from ..const import GRAMPS_LOCALE as glocale
|
||||
_ = glocale.get_translation().sgettext
|
||||
import re
|
||||
import logging
|
||||
LOG = logging.getLogger(".gramps.gen")
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
#
|
||||
@ -1047,8 +1050,17 @@ def fn(%s):
|
||||
else:
|
||||
return p + str + s
|
||||
return cleanup_name("%s" %% (%s))""" % (args, new_fmt, ",".join(param))
|
||||
exec(s)
|
||||
|
||||
return locals()['fn']
|
||||
try:
|
||||
exec(s) in globals(), locals()
|
||||
return locals()['fn']
|
||||
except:
|
||||
LOG.error("\n" + 'Wrong name format string %s' % new_fmt
|
||||
+"\n" + ("ERROR, Edit Name format in Preferences->Display to correct")
|
||||
+"\n" + _('Wrong name format string %s') % new_fmt
|
||||
+"\n" + ("ERROR, Edit Name format in Preferences->Display to correct")
|
||||
)
|
||||
def errfn(*arg):
|
||||
return _("ERROR, Edit Name format in Preferences")
|
||||
return errfn
|
||||
|
||||
displayer = NameDisplay()
|
||||
|
@ -40,6 +40,7 @@ import collections
|
||||
from ._filterparser import FilterParser
|
||||
from ..plug import BasePluginManager
|
||||
from ..constfunc import STRTYPE
|
||||
from ..const import GRAMPS_LOCALE as glocale
|
||||
|
||||
PLUGMAN = BasePluginManager.get_instance()
|
||||
#-------------------------------------------------------------------------
|
||||
@ -111,6 +112,7 @@ class FilterList(object):
|
||||
parser.parse(the_file)
|
||||
the_file.close()
|
||||
except (IOError, OSError):
|
||||
print("IO/OSError in _filterlist.py")
|
||||
pass
|
||||
except SAXParseException:
|
||||
print("Parser error")
|
||||
@ -123,7 +125,7 @@ class FilterList(object):
|
||||
return l.replace('"', '"')
|
||||
|
||||
def save(self):
|
||||
f = open(self.file.encode(sys.getfilesystemencoding()), 'w')
|
||||
f = open(self.file.encode(glocale.getfilesystemencoding()), 'w')
|
||||
f.write("<?xml version=\"1.0\" encoding=\"utf-8\"?>\n")
|
||||
f.write('<filters>\n')
|
||||
for namespace in self.filter_namespaces:
|
||||
|
@ -28,7 +28,8 @@
|
||||
from __future__ import print_function, unicode_literals
|
||||
|
||||
from xml.sax import handler
|
||||
from ..ggettext import gettext as _
|
||||
from ..const import GRAMPS_LOCALE as glocale
|
||||
_ = glocale.get_translation().gettext
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
#
|
||||
|
@ -26,7 +26,8 @@
|
||||
# Standard Python modules
|
||||
#
|
||||
#-------------------------------------------------------------------------
|
||||
from ...ggettext import gettext as _
|
||||
from ...const import GRAMPS_LOCALE as glocale
|
||||
_ = glocale.get_translation().gettext
|
||||
import re
|
||||
import time
|
||||
|
||||
|
@ -25,7 +25,8 @@
|
||||
# Standard Python modules
|
||||
#
|
||||
#-------------------------------------------------------------------------
|
||||
from ...ggettext import gettext as _
|
||||
from ...const import GRAMPS_LOCALE as glocale
|
||||
_ = glocale.get_translation().gettext
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
#
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user