Compare commits
34 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| b57b8d0b75 | |||
| 9fe57a2eb2 | |||
| ddfc88946a | |||
| 52e4790753 | |||
| 8a2c94a3dd | |||
| e40b727a57 | |||
| 160d5952f2 | |||
| 482199d29c | |||
| bfa7c0c9f4 | |||
| 614332aac8 | |||
| 0a981f0ca6 | |||
| 9e81014fc6 | |||
| 2da93aad1f | |||
| 97434a0136 | |||
| 181e2d8540 | |||
| 36d03137dd | |||
| f6ac1999dd | |||
| a99b48711f | |||
| d5d86e9139 | |||
| 4ebba02b6b | |||
| e535fcefa5 | |||
| 0170e2b1e6 | |||
| 54799df049 | |||
| b97facb66f | |||
| aae38a6861 | |||
| e0ee86c36a | |||
| e3e89e6592 | |||
| 2cde1f0cdb | |||
| 2ca3839904 | |||
| 66cac5e852 | |||
| 99ec8e876b | |||
| b27480f7a1 | |||
| e0e81cf56a | |||
| 6df7c46400 |
@@ -28,12 +28,13 @@ on:
|
||||
jobs:
|
||||
build:
|
||||
|
||||
runs-on: ubuntu-18.04
|
||||
runs-on: ubuntu-20.04
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install gir1.2-pango-1.0
|
||||
sudo apt-get install gir1.2-gtk-3.0
|
||||
sudo apt-get install xdg-utils
|
||||
|
||||
@@ -1,192 +1,174 @@
|
||||
2022-02-05 Nick Hall <nick-h@gramps-project.org>
|
||||
2023-06-29 Nick Hall <nick-h@gramps-project.org>
|
||||
|
||||
* .travis.yml: Remove Travis CI configuration
|
||||
* docs/conf.py, gramps/gen/const.py: Update copyright date
|
||||
|
||||
2022-02-05 Nick Hall <nick-h@gramps-project.org>
|
||||
2023-05-13 SNoiraud <Serge.Noiraud@free.fr>
|
||||
|
||||
* README.md: Fix badges in README file
|
||||
* gramps/plugins/webreport/media.py: Narrative web: problem with
|
||||
small pictures. Fixes #012884
|
||||
|
||||
2022-02-05 Nick Hall <nick-h@gramps-project.org>
|
||||
2023-05-09 SNoiraud <Serge.Noiraud@free.fr>
|
||||
|
||||
* gramps/gen/const.py: Update copyright date
|
||||
* gramps/plugins/view/familyview.py: Implement the "<CTRL>J" for the
|
||||
family view Fixes #012882
|
||||
|
||||
2021-09-18 SNoiraud <Serge.Noiraud@free.fr>
|
||||
2022-07-11 Jon Schewe <jpschewe@mtu.net>
|
||||
|
||||
* gramps/gui/views/pageview.py, gramps/gui/widgets/grampletbar.py:
|
||||
Strange behavior for the scrollbar in the bottombar Fixes #012438
|
||||
* gramps/plugins/webreport/basepage.py: Avoid application crash on
|
||||
invalid user input If the user inputs an invalid date this change keeps the application
|
||||
from crashing when such a date is found. The invalid date
|
||||
information is reported to the user in the log. Fixes #12658.
|
||||
|
||||
2022-02-04 romjerome <romjerome@yahoo.fr>
|
||||
2023-05-13 Nick Hall <nick-h@gramps-project.org>
|
||||
|
||||
* data/grampsxml.dtd, data/grampsxml.rng: Fix place object element
|
||||
order in DTD and RNG schemas Element placeobj content does not follow the DTD and RNG, expecting
|
||||
(ptitle? , pname+) Fixes #12500
|
||||
* gramps/plugins/export/exportgedcom.py: Fix export where private
|
||||
citations are excluded
|
||||
|
||||
2022-01-31 Krystian Safjan <ksafjan@gmail.com>
|
||||
2022-06-01 prculley <paulr2787@gmail.com>
|
||||
|
||||
* po/pl.po: Fixes suggested after review by @stojex
|
||||
* gramps/plugins/tool/eventcmp.py: Fix Event compare tool to display
|
||||
enclosed places properly
|
||||
|
||||
2022-01-07 Krystian Safjan <ksafjan@gmail.com>
|
||||
2022-06-08 SNoiraud <Serge.Noiraud@free.fr>
|
||||
|
||||
* po/pl.po: Update Polish translation - Consistent usage of "Tag": was "Tag" or "Atrybut", note that "Attribute" (atrybut) is something different than tag - "Magazyn" (repository) renamed to "Repozytorium" - other fixes and addons
|
||||
* gramps/gui/viewmanager.py: Check that view exists before calling
|
||||
post_create method Avoids 'NoneType' object has no attribute 'post_create' error. Fixes #12638
|
||||
|
||||
2021-09-04 SNoiraud <Serge.Noiraud@free.fr>
|
||||
2022-06-15 Jingxuan He <LostBenjamin@users.noreply.github.com>
|
||||
|
||||
* gramps/gui/widgets/grampletpane.py: Solve InterpolationSyntaxError
|
||||
if "%" in a string The grampletpane module save data in a config file for all the
|
||||
gramplets added in the dashboard. The python configparser module
|
||||
doesn't like if we have a "%" character in a string. Fixes #012423
|
||||
* gramps/plugins/webreport/webcal.py: Fix a wrong operator bug in
|
||||
the web calendar report
|
||||
|
||||
2021-11-06 SNoiraud <Serge.Noiraud@free.fr>
|
||||
2022-10-08 Himanshu Gohel <1551217+hgohel@users.noreply.github.com>
|
||||
|
||||
* gramps/plugins/drawreport/calendarreport.py: '<' not supported
|
||||
between 2 instances of IndexMark Fixes #012467
|
||||
* gramps/gen/plug/docgen/treedoc.py: Revert "Enclose tree report
|
||||
image path and file name in braces" Fixes #12437 by reverting commit
|
||||
75921ceaf40f3ced597d99c43794b98f81e49957 due to reports of
|
||||
regression where processing of the generated TeX file fails due to
|
||||
bad path specificiation for image files. Change was introduced in bug fix for #10495. Bugs #12437 and #12697 reported the regression and confirmed that
|
||||
reverting the change fixes the regression.
|
||||
|
||||
2022-01-29 Nick Hall <nick-h@gramps-project.org>
|
||||
2022-10-22 SNoiraud <Serge.Noiraud@free.fr>
|
||||
|
||||
* gramps/gen/filters/rules/test/person_rules_test.py,
|
||||
gramps/plugins/test/db_undo_and_signals_test.py: Remove debug
|
||||
sattements in unit tests
|
||||
* gramps/plugins/lib/maps/geography.py: Geography View: Fix number
|
||||
of arguments in add_bookmark method add_bookmark() takes 2 positional arguments but 3 were given Fixes #12718
|
||||
|
||||
2022-01-29 Nick Hall <nick-h@gramps-project.org>
|
||||
2022-12-08 GaryGriffin <genealogy@garygriffin.net>
|
||||
|
||||
* gramps/gen/lib/date.py, gramps/gen/lib/test/date_test.py: Fix
|
||||
negative Span when dates are not Gregorian Fixes #12525
|
||||
* gramps/plugins/lib/libsubstkeyword.py: Use date-specific place in
|
||||
report substitution variables Fix place title in graphical reports which have user-defined display
|
||||
formats to use date-specific alternate name. This impacts Ancestor Tree, Descendant Tree, and Family Descendant
|
||||
Tree. Fixes #12763.
|
||||
|
||||
2022-01-29 Mirko Leonhaeuser <mirko@leonhaeuser.de>
|
||||
2022-12-27 John Ralls <jralls@ceridwen.us>
|
||||
|
||||
* po/de.po: get German translation with manual in sync (Display name
|
||||
editor)
|
||||
* gramps/grampsapp.py, gramps/gui/aboutdialog.py,
|
||||
gramps/gui/logger/_errorreportassistant.py,
|
||||
gramps/plugins/db/bsddb/bsddbtxn.py,
|
||||
gramps/plugins/db/bsddb/cursor.py, gramps/plugins/db/bsddb/read.py,
|
||||
gramps/plugins/db/bsddb/summary.py,
|
||||
gramps/plugins/db/bsddb/test/cursor_test.py,
|
||||
gramps/plugins/db/bsddb/undoredo.py,
|
||||
gramps/plugins/db/bsddb/upgrade.py,
|
||||
gramps/plugins/db/bsddb/write.py, gramps/plugins/gramplet/leak.py,
|
||||
mac/patches/gramps-berkeleydb.patch: Try to import berkeleydb if
|
||||
bsddb3 isn't found. berkelydb is usable for python >= 3.6 and required for python >=
|
||||
3.10. See https://www.jcea.es/programacion/pybsddb.htm.
|
||||
|
||||
2021-08-11 SNoiraud <Serge.Noiraud@free.fr>
|
||||
2023-02-12 Vincent Smeets <Vincent.VSmeets@GMail.com>
|
||||
|
||||
* gramps/gen/display/name.py: Incorrect grouping if no ma/patronymic
|
||||
surname
|
||||
* gramps/plugins/docgen/htmldoc.py: HtmlDoc: Create a unique
|
||||
filename for cropped images
|
||||
|
||||
2021-08-07 SNoiraud <Serge.Noiraud@free.fr>
|
||||
2022-10-24 D.A.Lordemann <LordemannD@gmail.com>
|
||||
|
||||
* gramps/gen/display/name.py: Group As override is ignored for
|
||||
ma/patronymic surnames Fixes #12395 discourse:
|
||||
* gramps/plugins/export/exportgedcom.py: Fix corrupted NOTE tag in
|
||||
Gedcom export Remove Python2 code obsoleted by Python3, which was corrupting
|
||||
GEDCOM export of Gramps Notes text that includes multi-byte utf-8
|
||||
characters. Fixes #12709.
|
||||
|
||||
https://gramps.discourse.group/t/patronymic-and-matronymic-name/1684/5
|
||||
2022-09-27 SNoiraud <Serge.Noiraud@free.fr>
|
||||
|
||||
2021-07-29 SNoiraud <Serge.Noiraud@free.fr>
|
||||
* gramps/gui/viewmanager.py: Fix IndexError that sometimes occurs
|
||||
when changing view This occurs when restarting Gramps. Fixes #12636, #12304, #12429, #12623, #12695.
|
||||
|
||||
* gramps/gui/editors/editplace.py: Add comments for the lat-lon
|
||||
field of editplace
|
||||
2023-03-18 SNoiraud <Serge.Noiraud@free.fr>
|
||||
|
||||
2021-07-28 SNoiraud <Serge.Noiraud@free.fr>
|
||||
* gramps/gen/proxy/referencedbyselection.py,
|
||||
gramps/gui/widgets/styledtexteditor.py,
|
||||
gramps/plugins/lib/libhtmlbackend.py: Fix crash when invalid note
|
||||
link Fixes #012854
|
||||
|
||||
* gramps/gui/editors/editplace.py,
|
||||
gramps/gui/editors/editplaceref.py: Place editor, lat and long text
|
||||
are swapped Fixes #012374
|
||||
2023-04-17 SNoiraud <Serge.Noiraud@free.fr>
|
||||
|
||||
2021-07-28 prculley <paulr2787@gmail.com>
|
||||
* gramps/gui/utils.py: Tags with color names don't work in pedigree
|
||||
views Color tags work correctly in all views except in pedigree views.
|
||||
These views modify colors: ... context.set_source_rgba(*(self.bordercolor[:3] + (0.4,))) ... and context.set_source_rgb(*self.bgcolor[:3]) As it works everywhere except in these views, I think it is a bug
|
||||
even if we cannot enter color names in tags Fixes #012866
|
||||
|
||||
* gramps/gui/viewmanager.py: Fix Statusbar progress being shown
|
||||
before use Fixes #12373
|
||||
2023-04-05 SNoiraud <Serge.Noiraud@free.fr>
|
||||
|
||||
2021-07-26 prculley <paulr2787@gmail.com>
|
||||
* gramps/gui/views/treemodels/eventmodel.py: Crash when invalid
|
||||
event date
|
||||
|
||||
* gramps/plugins/db/dbapi/dbapi.py: Fix exception when removing a
|
||||
group name in Sqlite db when group name is already missing. Fixes #12367
|
||||
2023-04-04 SNoiraud <Serge.Noiraud@free.fr>
|
||||
|
||||
2021-07-26 prculley <paulr2787@gmail.com>
|
||||
* gramps/gui/listmodel.py: ListModel: Only the first level is
|
||||
managed When we use checkboxes in columns. The path was converted to int.
|
||||
Why ? But when we have multiple level, the path format is "x:y" for
|
||||
two levels, "x:y:z" for three levels, etc
|
||||
|
||||
* gramps/gui/editors/editname.py: Fix error when trying to close
|
||||
name editor during long name group mapping view rebuild. Fixes #12328
|
||||
2023-03-07 Nick Hall <nick-h@gramps-project.org>
|
||||
|
||||
2021-07-19 SNoiraud <Serge.Noiraud@free.fr>
|
||||
* .github/workflows/gramps-ci.yml: Update Gramps CI workflow to run
|
||||
on Ubuntu 20.04 Ubuntu 18.04 became fully unsupported on 1 Dec 2022.
|
||||
|
||||
* gramps/plugins/lib/maps/geography.py,
|
||||
gramps/plugins/lib/maps/osmgps.py, gramps/plugins/view/geoclose.py,
|
||||
gramps/plugins/view/geofamclose.py: OsmGpsMap-CRITICAL: Map source
|
||||
setup called twice Fixes #012352
|
||||
2022-12-27 John Ralls <jralls@ceridwen.us>
|
||||
|
||||
2021-08-15 Ross Gammon <rossgammon@debian.org>
|
||||
* mac/gramps.modules: mac: Patch bsddb to use berkeleydb instead of
|
||||
bsddb3 module.
|
||||
|
||||
* gramps/gen/filters/rules/test/person_rules_test.py: Fix probably
|
||||
alive test The probably alive funtion was fixed just prior to the Gramps 5.1.4
|
||||
release. It appears the relevant unit test was not updated to match.
|
||||
The relevant commit:
|
||||
2022-12-27 John Ralls <jralls@ceridwen.us>
|
||||
|
||||
https://github.com/gramps-project/gramps/commit/a685b96f700dcfc6b953413cb3adc8be61d87438
|
||||
* mac/gramps.modules, mac/patches/berkeleydb-4.8-mutex.patch: Mac
|
||||
build: Patch berkeleydb configure to work on Apple Silicon.
|
||||
|
||||
2022-01-28 Nick Hall <nick-h@gramps-project.org>
|
||||
2022-12-26 John Ralls <jralls@ceridwen.us>
|
||||
|
||||
* .github/workflows/gramps-ci.yml, setup.py: Use GitHub Actions to
|
||||
run continuous integration checks
|
||||
* mac/gramps.modules: [mac] Update Exiv2 download URL, moved to
|
||||
github.
|
||||
|
||||
2022-01-27 John Ralls <jralls@ceridwen.us>
|
||||
2022-12-24 John Ralls <jralls@ceridwen.us>
|
||||
|
||||
* mac/gramps.modules: Update Exiv2, PYExiv2, and json-glib.
|
||||
* mac/Info.plist, mac/gramps.bundle, mac/gramps.modules: Repackage
|
||||
Gramps 5.1.5 with Gtk updates fixing use on macOS 13 Ventura.
|
||||
|
||||
2021-08-15 Ross Gammon <rossgammon@debian.org>
|
||||
2022-03-08 Nick Hall <nick-h@gramps-project.org>
|
||||
|
||||
* gramps/plugins/lib/librecords.py: Fix spouse's name and underlined
|
||||
call names in records Fixes #12391
|
||||
|
||||
2022-03-16 Nick Hall <nick-h@gramps-project.org>
|
||||
|
||||
* .github/workflows/gramps-ci.yml: Fix package installation failures
|
||||
in CI
|
||||
|
||||
2019-12-09 Sam Manzi <manzi.sam@gmail.com>
|
||||
|
||||
* gramps/gen/utils/grampslocale.py: Update INCOMPLETE_TRANSLATIONS * Remove: he * Add: zh_HK, zh_TW
|
||||
|
||||
2022-02-12 Ross Gammon <rossgammon@debian.org>
|
||||
|
||||
* debian/changelog, debian/copyright,
|
||||
debian/patches/fix-probably_alive_test.patch,
|
||||
debian/patches/series, debian/watch: Update Debian folder for Gramps
|
||||
5.1.4 release
|
||||
debian/patches/fix-probably_alive_test.patch, debian/patches/series:
|
||||
Update Debian folder after 5.1.5 release
|
||||
|
||||
2022-01-25 pehlm <github1@m.pekholm.org>
|
||||
2022-02-05 John Ralls <jralls@ceridwen.us>
|
||||
|
||||
* po/sv.po: Minor update of Swedish translation
|
||||
* mac/Info.plist, mac/gramps.modules: Package Gramps 5.1.5 for
|
||||
macOS.
|
||||
|
||||
2022-01-04 Tian Shixiong <tiansworld@fedoraproject.org>
|
||||
2022-02-05 Nick Hall <nick-h@gramps-project.org>
|
||||
|
||||
* po/zh_CN.po: Minor update to zh_CN translation
|
||||
|
||||
2021-11-03 Mirko Leonhaeuser <mirko@leonhaeuser.de>
|
||||
|
||||
* po/de.po: small German translation fixes
|
||||
|
||||
2021-11-01 Mirko Leonhaeuser <mirko@leonhaeuser.de>
|
||||
|
||||
* po/de.po: Fixed German translation error of "Character set
|
||||
encoding"
|
||||
|
||||
2021-10-25 Mirko Leonhaeuser <mirko@leonhaeuser.de>
|
||||
|
||||
* po/de.po: Fixed German translation error of "Graph generations"
|
||||
|
||||
2021-10-16 John Ralls <jralls@ceridwen.us>
|
||||
|
||||
* mac/Info.plist: Repackage Gramps.app to work with macOS 12.
|
||||
|
||||
2021-10-16 John Ralls <jralls@ceridwen.us>
|
||||
|
||||
* mac/gramps.bundle: [macOS]Add entitlements path to bundle-file so
|
||||
Gramps.app is signed with it.
|
||||
|
||||
2021-09-19 Mirko Leonhaeuser <mirko@leonhaeuser.de>
|
||||
|
||||
* po/de.po: Fixed German translation error of "filter person"
|
||||
|
||||
2021-08-30 Mirko Leonhaeuser <mirko@leonhaeuser.de>
|
||||
|
||||
* po/de.po: fixed error in German translation found during manual
|
||||
translation also fixed in master
|
||||
|
||||
2021-08-11 Mirko Leonhaeuser <mirko@leonhaeuser.de>
|
||||
|
||||
* po/de.po: fixed German translation of 'Descendant families of'
|
||||
already done in trunk Weblate
|
||||
|
||||
2021-08-10 John Ralls <jralls@ceridwen.us>
|
||||
|
||||
* mac/gramps.modules, mac/patches/pyfontconfig-curexc.patch: Add
|
||||
python-fontconfig to the macOS build. Needed to enable using genealogical symbols.
|
||||
|
||||
2021-07-29 John Ralls <jralls@ceridwen.us>
|
||||
|
||||
* mac/Info.plist, mac/gramps.bundle: Inlude fontconfig's etc/fonts
|
||||
in macOS app bundle. Graphviz now uses fontconfig to find its fonts. Fixes #12370
|
||||
|
||||
2021-07-26 John Ralls <jralls@ceridwen.us>
|
||||
|
||||
* mac/Info.plist, mac/gramps.bundle, mac/gramps.modules,
|
||||
mac/gramps_launcher.py: Bundle release of Gramps 5.1.4.
|
||||
|
||||
2021-07-26 Nick Hall <nick-h@gramps-project.org>
|
||||
|
||||
* Bump to 5.1.5
|
||||
* Bump to 5.1.6
|
||||
|
||||
|
||||
@@ -1,3 +1,50 @@
|
||||
2023-06-29
|
||||
Version 5.1.6
|
||||
* Update copyright date.
|
||||
* Narrative web: problem with small pictures. Fixes #12884.
|
||||
* Implement the "<CTRL>J" for the family view. Fixes #12882.
|
||||
* Avoid application crash on invalid user input. If the user inputs an invalid
|
||||
date this change keeps the application from crashing. The invalid date
|
||||
information is reported to the user in the log. Fixes #12658.
|
||||
* Fix export where private citations are excluded.
|
||||
* Fix Event Compare tool to display enclosed places properly.
|
||||
* Check that view exists before calling post_create method. Avoids 'NoneType'
|
||||
object has no attribute 'post_create' error. Fixes #12638.
|
||||
* Fix a wrong operator bug in the web calendar report.
|
||||
* Revert "Enclose tree report image path and file name in braces" due to reports
|
||||
of regression where processing of the generated TeX file fails due to bad path
|
||||
specificiation for image files. Fixes #12437 and #12697.
|
||||
* Geography View: Fix number of arguments in add_bookmark method. Fixes #12718.
|
||||
* Use date-specific place in report substitution variables. Fix place title in
|
||||
graphical reports which have user-defined display formats to use date-specific
|
||||
alternate name. This impacts the Ancestor Tree, Descendant Tree, and Family
|
||||
Descendant Tree reports. Fixes #12763.
|
||||
* Try to import berkeleydb if bsddb3 isn't found. berkelydb is usable for
|
||||
python >= 3.6 and required for python >= 3.10.
|
||||
See https://www.jcea.es/programacion/pybsddb.htm.
|
||||
* HtmlDoc: Create a unique filename for cropped images.
|
||||
* Fix corrupted NOTE tag in Gedcom export. Remove Python2 code obsoleted by
|
||||
Python3, which was corrupting Gedcom export of Gramps Notes text that includes
|
||||
multi-byte utf-8 characters. Fixes #12709.
|
||||
* Fix IndexError that sometimes occurs when changing view This occurs when
|
||||
restarting Gramps. Fixes #12636, #12304, #12429, #12623, #12695.
|
||||
* Fix crash when invalid note link. Fixes #12854.
|
||||
* Fix tags with color names in pedigree views. Fixes #12866.
|
||||
* Crash when invalid event date.
|
||||
* ListModel: Fix multiple level paths when we use checkboxes in columns.
|
||||
The path was previously converted to int.
|
||||
* Update Gramps CI workflow to run on Ubuntu 20.04. Ubuntu 18.04 became fully
|
||||
unsupported on 1 Dec 2022.
|
||||
* Fix package installation failures in CI.
|
||||
* Fix spouse's name and underlined call names in records. Fixes #12391.
|
||||
* Update INCOMPLETE_TRANSLATIONS list. Remove: he, Add: zh_HK, zh_TW.
|
||||
* Update Debian folder after 5.1.5 release.
|
||||
* Mac:
|
||||
* Patch bsddb to use berkeleydb instead of bsddb3 module.
|
||||
* Patch berkeleydb configure to work on Apple Silicon.
|
||||
* Update Exiv2 download URL, moved to github.
|
||||
* Repackage Gramps 5.1.5 with Gtk updates fixing use on macOS 13 Ventura.
|
||||
|
||||
2022-02-05
|
||||
Version 5.1.5
|
||||
* Update translations: de, pl, sv, zh_CN.
|
||||
|
||||
Vendored
+8
@@ -1,3 +1,11 @@
|
||||
gramps (5.1.5-1) unstable; urgency=medium
|
||||
|
||||
* New release
|
||||
* Update copyright file
|
||||
* Drop patch, incorporated upstream
|
||||
|
||||
-- Ross Gammon <rossgammon@debian.org> Sat, 12 Feb 2022 17:01:21 +0100
|
||||
|
||||
gramps (5.1.4-1) unstable; urgency=medium
|
||||
|
||||
* New release
|
||||
|
||||
Vendored
+1
-1
@@ -46,7 +46,7 @@ Copyright: 2000-2007, Alex Roitman
|
||||
2009, Florian Heinle
|
||||
2009, Gerald W. Britton
|
||||
2009, Igal Shapira
|
||||
2009-2018, Nick Hall
|
||||
2009-2022, Nick Hall
|
||||
2009, Pander Musubi
|
||||
2009, Robert Ham
|
||||
2009, Swoon on bug tracker
|
||||
|
||||
-22
@@ -1,22 +0,0 @@
|
||||
Description: Fix probably alive test
|
||||
The probably alive funtion was fixed just prior to the Gramps 5.1.4
|
||||
release. It appears the relevant unit test was not updated to match.
|
||||
The relevant commit:
|
||||
https://github.com/gramps-project/gramps/commit/a685b96f700dcfc6b953413cb3adc8be61d87438
|
||||
Author: Ross Gammon <rossgammon@debian.org>
|
||||
Forwarded: no
|
||||
Applied-Upstream: no
|
||||
Last-Update: 2021-08-09
|
||||
---
|
||||
This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
|
||||
--- a/gramps/gen/filters/rules/test/person_rules_test.py
|
||||
+++ b/gramps/gen/filters/rules/test/person_rules_test.py
|
||||
@@ -347,7 +347,7 @@
|
||||
"""
|
||||
rule = ProbablyAlive(['1900'])
|
||||
res = self.filter_with_rule(rule)
|
||||
- self.assertEqual(len(res), 766)
|
||||
+ self.assertEqual(len(res), 733)
|
||||
|
||||
def test_RegExpName(self):
|
||||
"""
|
||||
Vendored
-1
@@ -1 +0,0 @@
|
||||
fix-probably_alive_test.patch
|
||||
+1
-1
@@ -57,7 +57,7 @@ master_doc = 'index'
|
||||
|
||||
# General information about the project.
|
||||
project = 'Gramps'
|
||||
copyright = '2001-2019, The Gramps Project'
|
||||
copyright = '2001-2023, The Gramps Project'
|
||||
author = 'Donald N. Allingham'
|
||||
|
||||
# The version info for the project you're documenting, acts as replacement for
|
||||
|
||||
+2
-2
@@ -145,7 +145,7 @@ sys.path.insert(0, ROOT_DIR)
|
||||
git_revision = get_git_revision(ROOT_DIR).replace('\n', '')
|
||||
if sys.platform == 'win32' and git_revision == "":
|
||||
git_revision = get_git_revision(os.path.split(ROOT_DIR)[1])
|
||||
#VERSION += git_revision
|
||||
VERSION += git_revision
|
||||
#VERSION += "-1"
|
||||
|
||||
#
|
||||
@@ -225,7 +225,7 @@ GTK_GETTEXT_DOMAIN = 'gtk30'
|
||||
#
|
||||
#-------------------------------------------------------------------------
|
||||
COPYRIGHT_MSG = "© 2001-2006 Donald N. Allingham\n" \
|
||||
"© 2007-2022 The Gramps Developers"
|
||||
"© 2007-2023 The Gramps Developers"
|
||||
COMMENTS = _("Gramps\n (Genealogical Research and Analysis "
|
||||
"Management Programming System)\n"
|
||||
"is a personal genealogy program.")
|
||||
|
||||
@@ -460,8 +460,7 @@ class TreeDocBase(BaseDoc, TreeDoc):
|
||||
if os.path.isfile(path):
|
||||
if win():
|
||||
path = path.replace('\\', '/')
|
||||
self.write(level+1, 'image = {{%s}%s},\n' %
|
||||
os.path.splitext(path))
|
||||
self.write(level+1, 'image = {%s},\n' % path)
|
||||
break # first image only
|
||||
self.write(level, '}\n')
|
||||
|
||||
|
||||
@@ -346,7 +346,7 @@ class ReferencedBySelectionProxyDb(ProxyDbBase):
|
||||
for tag in note.text.get_tags():
|
||||
if tag.name == 'Link':
|
||||
if tag.value.startswith("gramps://"):
|
||||
obj_class, prop, value = tag.value[9:].split("/")
|
||||
obj_class, prop, value = tag.value[9:].split("/", 2)
|
||||
if obj_class == "Media": # bug6493
|
||||
obj_class = "Media"
|
||||
if prop == "handle":
|
||||
|
||||
@@ -117,7 +117,7 @@ _LOCALE_NAMES = {
|
||||
_RTL_LOCALES = ('ar', 'he')
|
||||
|
||||
# locales with less than 70% currently translated
|
||||
INCOMPLETE_TRANSLATIONS = ('ar', 'bg', 'he', 'sq', 'ta', 'tr')
|
||||
INCOMPLETE_TRANSLATIONS = ('ar', 'bg', 'sq', 'ta', 'tr', 'zh_HK', 'zh_TW')
|
||||
|
||||
def _check_mswin_locale(locale):
|
||||
msloc = None
|
||||
|
||||
+10
-3
@@ -325,9 +325,16 @@ def show_settings():
|
||||
.replace('(', '').replace(')', '')
|
||||
bsddb_location_str = bsddb.__file__
|
||||
except:
|
||||
bsddb_str = 'not found'
|
||||
bsddb_db_str = 'not found'
|
||||
bsddb_location_str = 'not found'
|
||||
try:
|
||||
import berkeleydb as bsddb
|
||||
bsddb_str = bsddb.__version__
|
||||
bsddb_db_str = str(bsddb.db.version()).replace(', ', '.')\
|
||||
.replace('(', '').replace(')', '')
|
||||
bsddb_location_str = bsddb.__file__
|
||||
except:
|
||||
bsddb_str = 'not found'
|
||||
bsddb_db_str = 'not found'
|
||||
bsddb_location_str = 'not found'
|
||||
|
||||
try:
|
||||
import sqlite3
|
||||
|
||||
@@ -68,7 +68,11 @@ try:
|
||||
import bsddb3 as bsddb ## ok, in try/except
|
||||
BSDDB_STR = ellipses(str(bsddb.__version__) + " " + str(bsddb.db.version()))
|
||||
except:
|
||||
BSDDB_STR = 'not found'
|
||||
try:
|
||||
import berkeleydb as bsddb
|
||||
BSDDB_STR = ellipses(str(bsddb.__version__) + " " + str(bsddb.db.version()))
|
||||
except:
|
||||
BSDDB_STR = 'not found'
|
||||
|
||||
try:
|
||||
import sqlite3
|
||||
|
||||
@@ -233,7 +233,7 @@ class ListModel:
|
||||
new_value = not self.model[path][col]
|
||||
self.model[path][col] = new_value
|
||||
if col in self.function:
|
||||
self.function[col](int(path), new_value)
|
||||
self.function[col](path, new_value)
|
||||
|
||||
def __edited_cb(self, cell, path, new_text, col):
|
||||
"""
|
||||
@@ -241,7 +241,7 @@ class ListModel:
|
||||
"""
|
||||
self.model[path][col] = new_text
|
||||
if col in self.function:
|
||||
self.function[col](int(path), new_text)
|
||||
self.function[col](path, new_text)
|
||||
|
||||
def unselect(self):
|
||||
"""
|
||||
|
||||
@@ -37,7 +37,11 @@ try:
|
||||
import bsddb3 as bsddb # ok, in try/except
|
||||
BSDDB_STR = str(bsddb.__version__) + " " + str(bsddb.db.version())
|
||||
except:
|
||||
BSDDB_STR = 'not found'
|
||||
try:
|
||||
import berkeleydb as bsddb
|
||||
BSDDB_STR = str(bsddb.__version__) + " " + str(bsddb.db.version())
|
||||
except:
|
||||
BSDDB_STR = 'not found'
|
||||
|
||||
try:
|
||||
import sqlite3
|
||||
|
||||
@@ -549,11 +549,26 @@ def color_graph_box(alive=False, gender=Person.MALE):
|
||||
|
||||
# color functions. For hsv and hls values, use import colorsys !
|
||||
|
||||
def name_to_hex(value):
|
||||
"""
|
||||
Convert a named color to a 6 digit hexadecimal value to rgb.
|
||||
"""
|
||||
if value[:1] != "#":
|
||||
# We have color names like "green", "orange", "yellow",...
|
||||
# We need to convert them to hex format
|
||||
Color = Gdk.RGBA()
|
||||
Color.parse(value)
|
||||
value = "#%02x%02x%02x" % (int(Color.red * 255),
|
||||
int(Color.green * 255),
|
||||
int(Color.blue * 255))
|
||||
return value
|
||||
|
||||
def hex_to_rgb_float(value):
|
||||
"""
|
||||
Convert a 6 or 12 digit hexademical value to rgb. Returns tuple of floats
|
||||
between 0 and 1.
|
||||
"""
|
||||
value = name_to_hex(value)
|
||||
value = value.lstrip('#')
|
||||
lenv = len(value)
|
||||
return tuple(int(value[i:i+lenv//3], 16)/16.0**(lenv//3)
|
||||
@@ -563,6 +578,7 @@ def hex_to_rgb(value):
|
||||
"""
|
||||
Convert a 6 or 12 digit hexadecimal value to rgb. Returns tuple of integers.
|
||||
"""
|
||||
value = name_to_hex(value)
|
||||
value = value.lstrip('#')
|
||||
lenv = len(value)
|
||||
return tuple(int(value[i:i+lenv//3], 16) for i in range(0, lenv, lenv//3))
|
||||
|
||||
@@ -786,7 +786,12 @@ class ViewManager(CLIManager):
|
||||
self.__create_page(page_def[0], page_def[1])
|
||||
|
||||
self.notebook.set_current_page(page_num)
|
||||
return self.pages[page_num]
|
||||
try:
|
||||
return self.pages[page_num]
|
||||
except IndexError:
|
||||
# The following is to avoid 'IndexError: list index out of range'
|
||||
# Should solve bug 12636
|
||||
return self.pages[0]
|
||||
|
||||
def get_category(self, cat_name):
|
||||
"""
|
||||
@@ -837,7 +842,8 @@ class ViewManager(CLIManager):
|
||||
hbox.add(Gtk.Label(label=pdata.name))
|
||||
hbox.show_all()
|
||||
page_num = self.notebook.append_page(page.get_display(), hbox)
|
||||
self.active_page.post_create()
|
||||
if self.active_page:
|
||||
self.active_page.post_create()
|
||||
if not self.file_loaded:
|
||||
self.uimanager.set_actions_visible(self.actiongroup, False)
|
||||
self.uimanager.set_actions_visible(self.readonlygroup, False)
|
||||
@@ -880,7 +886,12 @@ class ViewManager(CLIManager):
|
||||
"""
|
||||
self.__disconnect_previous_page()
|
||||
|
||||
self.active_page = self.pages[page_num]
|
||||
# The following is to avoid 'IndexError: list index out of range'
|
||||
# Bugs: 12304, 12429, 12623, 12695
|
||||
try:
|
||||
self.active_page = self.pages[page_num]
|
||||
except IndexError:
|
||||
self.active_page = self.pages[0]
|
||||
self.__connect_active_page(page_num)
|
||||
self.active_page.set_active()
|
||||
while Gtk.events_pending():
|
||||
|
||||
@@ -160,6 +160,8 @@ class EventModel(FlatBaseModel):
|
||||
date_str = get_date(event)
|
||||
if date_str != "":
|
||||
retval = escape(date_str)
|
||||
else:
|
||||
retval = ""
|
||||
if not get_date_valid(event):
|
||||
return INVALID_DATE_FORMAT % retval
|
||||
else:
|
||||
|
||||
@@ -396,7 +396,7 @@ class StyledTextEditor(Gtk.TextView):
|
||||
simple_access = SimpleAccess(win_obj.dbstate.db)
|
||||
url = link_tag.data
|
||||
if url.startswith("gramps://"):
|
||||
obj_class, prop, value = url[9:].split("/")
|
||||
obj_class, prop, value = url[9:].split("/", 2)
|
||||
display = simple_access.display(obj_class, prop, value) or url
|
||||
return display + ((_("\nCommand-Click to follow link") if mac() else
|
||||
_("\nCtrl-Click to follow link"))
|
||||
@@ -809,7 +809,7 @@ class StyledTextEditor(Gtk.TextView):
|
||||
win_obj = find_parent_with_attr(self, attr="dbstate")
|
||||
if win_obj:
|
||||
# Edit the object:
|
||||
obj_class, prop, value = url[9:].split("/")
|
||||
obj_class, prop, value = url[9:].split("/", 2)
|
||||
from ..editors import EditObject
|
||||
EditObject(win_obj.dbstate,
|
||||
win_obj.uistate,
|
||||
|
||||
@@ -218,7 +218,10 @@ class BSDDBTxn:
|
||||
# test code
|
||||
if __name__ == "__main__":
|
||||
print("1")
|
||||
from bsddb3 import db, dbshelve
|
||||
try:
|
||||
from bsddb3 import db, dbshelve
|
||||
except:
|
||||
from berkeleydb import db, dbshelve
|
||||
print("2")
|
||||
x = db.DBEnv()
|
||||
print("3")
|
||||
|
||||
@@ -29,14 +29,17 @@ from pickle import dumps, loads
|
||||
try:
|
||||
from bsddb3 import db
|
||||
except:
|
||||
try:
|
||||
from berkeleydb import db
|
||||
except:
|
||||
# FIXME: make this more abstract to deal with other backends
|
||||
class db:
|
||||
DB_RMW = 0
|
||||
DB_FIRST = 0
|
||||
DB_LAST = 0
|
||||
DB_CURRENT = 0
|
||||
DB_PREV = 0
|
||||
DB_NEXT = 0
|
||||
class db:
|
||||
DB_RMW = 0
|
||||
DB_FIRST = 0
|
||||
DB_LAST = 0
|
||||
DB_CURRENT = 0
|
||||
DB_PREV = 0
|
||||
DB_NEXT = 0
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
#
|
||||
|
||||
@@ -41,12 +41,15 @@ from functools import partial
|
||||
try:
|
||||
from bsddb3 import db
|
||||
except:
|
||||
# FIXME: make this more abstract to deal with other backends
|
||||
class db:
|
||||
DBRunRecoveryError = 0
|
||||
DBAccessError = 0
|
||||
DBPageNotFoundError = 0
|
||||
DBInvalidArgError = 0
|
||||
try:
|
||||
from berkeleydb import db
|
||||
except:
|
||||
# FIXME: make this more abstract to deal with other backends
|
||||
class db:
|
||||
DBRunRecoveryError = 0
|
||||
DBAccessError = 0
|
||||
DBPageNotFoundError = 0
|
||||
DBInvalidArgError = 0
|
||||
|
||||
import re
|
||||
import logging
|
||||
|
||||
@@ -22,8 +22,10 @@
|
||||
## specific to bsddb
|
||||
|
||||
import os
|
||||
from bsddb3 import dbshelve, db
|
||||
|
||||
try:
|
||||
from bsddb3 import dbshelve, db
|
||||
except:
|
||||
from berkeleydb import db, dbshelve
|
||||
from gramps.gen.db import META, PERSON_TBL
|
||||
from gramps.gen.db.dbconst import BDBVERSFN
|
||||
|
||||
|
||||
@@ -23,8 +23,10 @@ import os
|
||||
import tempfile
|
||||
import shutil
|
||||
|
||||
from bsddb3 import dbshelve, db
|
||||
|
||||
try:
|
||||
from bsddb3 import dbshelve, db
|
||||
except:
|
||||
from berkeleydb import db, dbshelve
|
||||
from ..read import DbBsddbTreeCursor
|
||||
|
||||
class Data:
|
||||
|
||||
@@ -36,12 +36,15 @@ from collections import deque
|
||||
try:
|
||||
from bsddb3 import db
|
||||
except:
|
||||
try:
|
||||
from berkeleydb import db
|
||||
except:
|
||||
# FIXME: make this more abstract to deal with other backends
|
||||
class db:
|
||||
DBRunRecoveryError = 0
|
||||
DBAccessError = 0
|
||||
DBPageNotFoundError = 0
|
||||
DBInvalidArgError = 0
|
||||
class db:
|
||||
DBRunRecoveryError = 0
|
||||
DBAccessError = 0
|
||||
DBPageNotFoundError = 0
|
||||
DBInvalidArgError = 0
|
||||
|
||||
from gramps.gen.const import GRAMPS_LOCALE as glocale
|
||||
_ = glocale.translation.gettext
|
||||
|
||||
@@ -32,8 +32,10 @@ import os
|
||||
import re
|
||||
import time
|
||||
import logging
|
||||
from bsddb3 import db
|
||||
|
||||
try:
|
||||
from bsddb3 import db
|
||||
except:
|
||||
from berkeleydb import db
|
||||
#-------------------------------------------------------------------------
|
||||
#
|
||||
# Gramps modules
|
||||
|
||||
@@ -40,8 +40,14 @@ import logging
|
||||
from sys import maxsize, getfilesystemencoding, version_info
|
||||
from ast import literal_eval as safe_eval
|
||||
|
||||
from bsddb3 import dbshelve, db
|
||||
from bsddb3.db import DB_CREATE, DB_AUTO_COMMIT, DB_DUP, DB_DUPSORT, DB_RDONLY
|
||||
try:
|
||||
from bsddb3 import dbshelve, db
|
||||
except:
|
||||
from berkeleydb import db, dbshelve
|
||||
try:
|
||||
from bsddb3.db import DB_CREATE, DB_AUTO_COMMIT, DB_DUP, DB_DUPSORT, DB_RDONLY
|
||||
except:
|
||||
from berkeleydb.db import DB_CREATE, DB_AUTO_COMMIT, DB_DUP, DB_DUPSORT, DB_RDONLY
|
||||
|
||||
DBFLAGS_O = DB_CREATE | DB_AUTO_COMMIT # Default flags for database open
|
||||
DBFLAGS_R = DB_RDONLY # Flags to open a database read-only
|
||||
|
||||
@@ -556,7 +556,10 @@ class HtmlDoc(BaseDoc, TextDoc):
|
||||
"""
|
||||
self._empty = 0
|
||||
size = int(max(w_cm, h_cm) * float(150.0/2.54))
|
||||
refname = "is%s" % os.path.basename(name)
|
||||
if crop:
|
||||
refname = "is-%d-%d-%d-%d-%s" % (crop[0], crop[1], crop[2], crop[3], os.path.basename(name))
|
||||
else:
|
||||
refname = "is%s" % os.path.basename(name)
|
||||
|
||||
imdir = self._backend.datadirfull()
|
||||
|
||||
|
||||
@@ -160,10 +160,9 @@ def breakup(txt, limit):
|
||||
data = []
|
||||
while len(txt) > limit:
|
||||
# look for non-space pair to break between
|
||||
# do not break within a UTF-8 byte sequence, i. e. first char >127
|
||||
# fix issue #0012709 by removing Python2 code obsoleted by Python3
|
||||
idx = limit
|
||||
while (idx > 0 and (txt[idx - 1].isspace() or txt[idx].isspace() or
|
||||
ord(txt[idx - 1]) > 127)):
|
||||
while (idx > 0 and (txt[idx - 1].isspace() or txt[idx].isspace())):
|
||||
idx -= 1
|
||||
if idx == 0:
|
||||
#no words to break on, just break at limit anyway
|
||||
@@ -1344,6 +1343,8 @@ class GedcomWriter(UpdateCallback):
|
||||
"""
|
||||
|
||||
citation = self.dbase.get_citation_from_handle(citation_handle)
|
||||
if citation is None: # removed by proxy
|
||||
return
|
||||
|
||||
src_handle = citation.get_reference_handle()
|
||||
if src_handle is None:
|
||||
|
||||
@@ -184,10 +184,13 @@ class Leak(Gramplet):
|
||||
try:
|
||||
from bsddb3.db import DBError
|
||||
except:
|
||||
class DBError(Exception):
|
||||
"""
|
||||
Dummy.
|
||||
"""
|
||||
try:
|
||||
from berkeleydb.db import DBError
|
||||
except:
|
||||
class DBError(Exception):
|
||||
"""
|
||||
Dummy.
|
||||
"""
|
||||
self.parent = self.top.get_toplevel()
|
||||
progress = ProgressMeter(
|
||||
_('Updating display...'), '', parent=self.parent, can_cancel=True)
|
||||
|
||||
@@ -300,7 +300,7 @@ class HtmlBackend(DocBackend):
|
||||
"""
|
||||
if value.startswith("gramps://"):
|
||||
if self.build_link:
|
||||
obj_class, prop, handle = value[9:].split("/", 3)
|
||||
obj_class, prop, handle = value[9:].split("/", 2)
|
||||
if prop in ["handle", "gramps_id"]:
|
||||
value = self.build_link(prop, handle, obj_class)
|
||||
if not value:
|
||||
|
||||
@@ -314,13 +314,16 @@ def find_records(db, filter, top_size, callname,
|
||||
if mother is None:
|
||||
continue
|
||||
|
||||
name = StyledText(trans_text("%(father)s and %(mother)s")) % {
|
||||
'father': _get_styled_primary_name(father, callname,
|
||||
trans_text=trans_text,
|
||||
name_format=name_format),
|
||||
'mother': _get_styled_primary_name(mother, callname,
|
||||
trans_text=trans_text,
|
||||
name_format=name_format)}
|
||||
father_name = _get_styled_primary_name(father, callname,
|
||||
trans_text=trans_text,
|
||||
name_format=name_format)
|
||||
mother_name = _get_styled_primary_name(mother, callname,
|
||||
trans_text=trans_text,
|
||||
name_format=name_format)
|
||||
|
||||
name = StyledText(trans_text("%(father)s and %(mother)s"))
|
||||
name = name.replace('%(father)s', father_name)
|
||||
name = name.replace('%(mother)s', mother_name)
|
||||
|
||||
if (living_mode == LivingProxyDb.MODE_INCLUDE_ALL
|
||||
or (not probably_alive(unfil_father, db) and
|
||||
|
||||
@@ -346,7 +346,7 @@ class PlaceFormat(GenericFormat):
|
||||
return None
|
||||
|
||||
def _default_format(self, place):
|
||||
return _pd.display(self.database, place)
|
||||
return _pd.display(self.database, place, place.event_date)
|
||||
|
||||
def parse_format(self, database, place):
|
||||
""" Parse the place """
|
||||
@@ -432,6 +432,8 @@ class EventFormat(GenericFormat):
|
||||
""" start formatting a place in this event """
|
||||
place_format = PlaceFormat(self.database, self.string_in)
|
||||
place = place_format.get_place(self.database, event)
|
||||
if event and place:
|
||||
place.event_date = event.get_date_object()
|
||||
return place_format.parse_format(self.database, place)
|
||||
|
||||
def format_attrib():
|
||||
@@ -889,6 +891,8 @@ class VariableParse:
|
||||
return the result """
|
||||
place_f = PlaceFormat(self.database, self._in)
|
||||
place = place_f.get_place(self.database, event)
|
||||
if event and place:
|
||||
place.event_date = event.get_date_object()
|
||||
if self.empty_item(place):
|
||||
return
|
||||
return place_f.parse_format(self.database, place)
|
||||
|
||||
@@ -193,11 +193,12 @@ class GeoGraphyView(OsmGps, NavigationView):
|
||||
"""
|
||||
self.build_tree()
|
||||
|
||||
def add_bookmark(self, menu):
|
||||
def add_bookmark(self, menu, handle):
|
||||
"""
|
||||
Add the place to the bookmark
|
||||
"""
|
||||
dummy_menu = menu
|
||||
dummy_hdle = handle
|
||||
mlist = self.selected_handles()
|
||||
if mlist:
|
||||
self.bookmarks.add(mlist[0])
|
||||
|
||||
@@ -60,6 +60,7 @@ _ = glocale.translation.sgettext
|
||||
from gramps.gui.glade import Glade
|
||||
from gramps.gui.editors import FilterEditor
|
||||
from gramps.gen.constfunc import get_curr_dir
|
||||
from gramps.gen.display.place import displayer as _pd
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
#
|
||||
@@ -332,7 +333,7 @@ class EventComparisonResults(ManagedWindow):
|
||||
if ename in the_map and len(the_map[ename]) > 0:
|
||||
event_handle = the_map[ename][0]
|
||||
del the_map[ename][0]
|
||||
date = place = ""
|
||||
date = p_title = ""
|
||||
|
||||
if event_handle:
|
||||
event = self.db.get_event_from_handle(event_handle)
|
||||
@@ -343,8 +344,9 @@ class EventComparisonResults(ManagedWindow):
|
||||
place_handle = event.get_place_handle()
|
||||
if place_handle:
|
||||
place = self.db.get_place_from_handle(
|
||||
place_handle).get_title()
|
||||
tlist += [date, sortdate, place]
|
||||
place_handle)
|
||||
p_title = _pd.display(self.dbstate.db, place)
|
||||
tlist += [date, sortdate, p_title]
|
||||
added = True
|
||||
else:
|
||||
tlist += [""]*3
|
||||
|
||||
@@ -348,6 +348,16 @@ class FamilyView(ListView):
|
||||
_("A bookmark could not be set because "
|
||||
"no one was selected."), parent=self.uistate.window)
|
||||
|
||||
def get_handle_from_gramps_id(self, gid):
|
||||
"""
|
||||
Return the handle of the family having the given Gramps ID.
|
||||
"""
|
||||
obj = self.dbstate.db.get_family_from_gramps_id(gid)
|
||||
if obj:
|
||||
return obj.get_handle()
|
||||
else:
|
||||
return None
|
||||
|
||||
def add(self, *obj):
|
||||
family = Family()
|
||||
try:
|
||||
|
||||
@@ -2873,9 +2873,17 @@ class BasePage: # pylint: disable=C1001
|
||||
if self.reference_sort:
|
||||
role = ""
|
||||
elif role[1:2] == ':':
|
||||
# format of role is role_type:ISO date string
|
||||
if role.count(':') > 1:
|
||||
print("Invalid date :", role[2:], " for individual with ID:", gid,
|
||||
". Please, use the 'verify the data' tool to correct this.")
|
||||
cal, role = role.split(':', 1)
|
||||
else:
|
||||
cal, role = role.split(':')
|
||||
|
||||
# cal is the original calendar
|
||||
cal, role = role.split(':')
|
||||
# conver ISO date to Date for translation.
|
||||
|
||||
# convert ISO date to Date for translation.
|
||||
# all modifiers are in english, so convert them
|
||||
# to the local language
|
||||
if len(role.split(' - ')) > 1:
|
||||
|
||||
@@ -472,7 +472,13 @@ class MediaPages(BasePage):
|
||||
if orig_image_path != newpath:
|
||||
url = self.report.build_url_fname(
|
||||
newpath, None, self.uplink)
|
||||
s_width = 'width: %dpx;' % max_width
|
||||
regions = self.media_ref_rect_regions(media_handle)
|
||||
if regions:
|
||||
s_width = 'width: %dpx;' % max_width
|
||||
elif width < max_width:
|
||||
s_width = 'width: %dpx;' % width
|
||||
else:
|
||||
s_width = 'width: %dpx;' % max_width
|
||||
mediadisplay += Html("a", href=url) + (
|
||||
Html("img", src=url,
|
||||
style=s_width,
|
||||
|
||||
@@ -1307,7 +1307,7 @@ class WebCalReport(Report):
|
||||
age_at_death = age_at_death.format(dlocale=self.rlocale)
|
||||
|
||||
# determine birthday information???
|
||||
if (self.birthday and birth_date is not Date()
|
||||
if (self.birthday and birth_date != Date()
|
||||
and birth_date.is_valid()):
|
||||
birth_date = gregorian(birth_date)
|
||||
|
||||
|
||||
+1
-1
@@ -18,7 +18,7 @@
|
||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
|
||||
VERSION_TUPLE = (5, 1, 5)
|
||||
VERSION_TUPLE = (5, 1, 7)
|
||||
VERSION_QUALIFIER = ""
|
||||
VERSION = '.'.join(map(str,VERSION_TUPLE)) + VERSION_QUALIFIER
|
||||
major_version = "%s.%s" % (VERSION_TUPLE[0], VERSION_TUPLE[1])
|
||||
|
||||
+5
-5
@@ -7,7 +7,7 @@
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>Gramps</string>
|
||||
<key>CFBundleGetInfoString</key>
|
||||
<string>Gramps-5.1.4-5, (C) 1997-2021 The Gramps Team http://www.gramps-project.org</string>
|
||||
<string>Gramps-5.1.6-1, (C) 1997-2023 The Gramps Team http://www.gramps-project.org</string>
|
||||
<key>CFBundleIconFile</key>
|
||||
<string>gramps.icns</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
@@ -17,15 +17,15 @@
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>APPL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>Gramps-5.1.4-5</string>
|
||||
<string>Gramps-5.1.6-1</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>Gramps-5.1.4-5</string>
|
||||
<string>Gramps-5.1.6-1</string>
|
||||
<key>NSHumanReadableCopyright</key>
|
||||
<string>Copyright 1997 - 2021 The Gramps Team, GNU General Public License.</string>
|
||||
<string>Copyright 1997 - 2023 The Gramps Team, GNU General Public License.</string>
|
||||
<key>LSMinimumSystemVersion</key>
|
||||
<string>10.12</string>
|
||||
<string>10.13</string>
|
||||
<key>GtkOSXLaunchScriptFile</key>
|
||||
<string>gramps_launcher.py</string>
|
||||
<key>NSHighResolutionCapable</key>
|
||||
|
||||
+8
-8
@@ -14,7 +14,7 @@
|
||||
<plist>${project}/Info.plist</plist>
|
||||
<entitlements>${project}/release.entitlements.plist</entitlements>
|
||||
<!-- Build gramps-launcher with:
|
||||
gcc -L$PREFIX/lib `python-config -\-cflags -\-ldflags -\-embed` \
|
||||
gcc -L$PREFIX/lib `python3-config -\-cflags -\-ldflags -\-embed` \
|
||||
-o $PREFIX/bin/gramps-launcher \
|
||||
path/to/gtk-mac-bundler/examples/python-launcher.c
|
||||
with the obvious substitution.
|
||||
@@ -42,7 +42,7 @@
|
||||
</binary>
|
||||
|
||||
<binary recurse="True">
|
||||
${prefix}/lib/python3.9/*.so
|
||||
${prefix}/lib/python3.11/*.so
|
||||
</binary>
|
||||
|
||||
<binary>
|
||||
@@ -78,7 +78,7 @@
|
||||
</binary>
|
||||
|
||||
<binary>
|
||||
${prefix}/lib/libtiff.5.dylib
|
||||
${prefix}/lib/libtiff.6.dylib
|
||||
</binary>
|
||||
|
||||
<binary dest="${bundle}/Contents/MacOS/">
|
||||
@@ -153,19 +153,19 @@
|
||||
<!-- We have to pull in the python modules, which are mixed python
|
||||
and loadable modules. -->
|
||||
<data recurse="True">
|
||||
${prefix}/lib/python3.9/*.py
|
||||
${prefix}/lib/python3.11/*.py
|
||||
</data>
|
||||
|
||||
<data>
|
||||
${prefix}/lib/python3.9/config-3.9-darwin/
|
||||
${prefix}/lib/python3.11/config-3.11-darwin/
|
||||
</data>
|
||||
|
||||
<data>
|
||||
${prefix}/lib/python3.9/site-packages/gramps/gen/utils/resource-path
|
||||
${prefix}/lib/python3.11/site-packages/gramps/gen/utils/resource-path
|
||||
</data>
|
||||
|
||||
<data>
|
||||
${prefix}/include/python3.9/pyconfig.h
|
||||
${prefix}/include/python3.11/pyconfig.h
|
||||
</data>
|
||||
|
||||
|
||||
@@ -182,7 +182,7 @@
|
||||
</data>
|
||||
|
||||
<data recurse="True">
|
||||
${prefix}/lib/python3.9/site-packages/gramps/*.glade
|
||||
${prefix}/lib/python3.11/site-packages/gramps/*.glade
|
||||
</data>
|
||||
|
||||
<data>
|
||||
|
||||
+25
-18
@@ -13,7 +13,7 @@
|
||||
href="http://download.oracle.com/"/>
|
||||
<repository type="tarball" name="pymodules"
|
||||
href="https://pypi.python.org/packages/"/>
|
||||
<repository type="git" name="github" href="git://github.com/"/>
|
||||
<repository type="git" name="github" href="https://github.com/"/>
|
||||
<repository type="tarball" name="github-tarball" href="https://github.com/"/>
|
||||
<repository type="tarball" name="exiv2.org"
|
||||
href="http://www.exiv2.org/releases/"/>
|
||||
@@ -55,9 +55,10 @@ gtk-mac-bundler gtk-osx-build/projects/gramps/gramps.bundle
|
||||
</distutils>
|
||||
|
||||
<distutils id="gramps" supports-non-srcdir-builds="no">
|
||||
<branch module="gramps-project/gramps/archive/v5.1.4.tar.gz"
|
||||
repo="github-tarball" version="5.1.4"
|
||||
checkoutdir="gramps-gramps-5.1.4"/>
|
||||
<branch module="gramps-project/gramps/archive/v5.1.6.tar.gz"
|
||||
repo="github-tarball" version="5.1.6"
|
||||
checkoutdir="gramps-gramps-5.1.6">
|
||||
</branch>
|
||||
<dependencies>
|
||||
<dep package="meta-gramps-modules"/>
|
||||
</dependencies>
|
||||
@@ -81,9 +82,9 @@ gtk-mac-bundler gtk-osx-build/projects/gramps/gramps.bundle
|
||||
</meson>
|
||||
|
||||
<meson id="geocode-glib" mesonargs="-Denable-gtk-doc=false">
|
||||
<branch module="geocode-glib/3.26/geocode-glib-3.26.2.tar.xz"
|
||||
version="3.26.2" repo="ftp.gnome.org"
|
||||
hash="sha256:01fe84cfa0be50c6e401147a2bc5e2f1574326e2293b55c69879be3e82030fd1"/>
|
||||
<branch module="geocode-glib/3.26/geocode-glib-3.26.4.tar.xz"
|
||||
version="3.26.4" repo="ftp.gnome.org"
|
||||
hash="sha256:2d9a6826d158470449a173871221596da0f83ebdcff98b90c7049089056a37aa"/>
|
||||
<dependencies>
|
||||
<dep package="json-glib"/>
|
||||
<dep package="libsoup"/>
|
||||
@@ -100,10 +101,15 @@ gtk-mac-bundler gtk-osx-build/projects/gramps/gramps.bundle
|
||||
</dependencies>
|
||||
</autotools>
|
||||
|
||||
<cmake id="exiv2" cmakeargs="-DEXIV2_ENABLE_PNG=ON">
|
||||
<branch module="exiv2-0.27.4-Source.tar.gz" repo="exiv2.org"
|
||||
<!-- Exiv v0.28 requires std::filesystem, not available on macOS until v10.15. -->
|
||||
<cmake id="exiv2"
|
||||
cmakeargs="-DEXIV2_ENABLE_PNG=ON -DCMAKE_CXX_STANDARD=14">
|
||||
<branch module="Exiv2/exiv2/releases/download/v0.27.4/exiv2-0.27.4-Source.tar.gz" repo="github-tarball"
|
||||
checkoutdir="exiv2-0.27.4-Source" version="0.27.4"
|
||||
hash="sha256:84366dba7c162af9a7603bcd6c16f40fe0e9af294ba2fd2f66ffffb9fbec904e"/>
|
||||
>
|
||||
<!-- patch file="exiv-2.27-autoptr.patch"
|
||||
strip="1"/ -->
|
||||
</branch>
|
||||
</cmake>
|
||||
|
||||
<meson id="gexiv2" mesonargs="-Dvapi=false">
|
||||
@@ -116,11 +122,11 @@ gtk-mac-bundler gtk-osx-build/projects/gramps/gramps.bundle
|
||||
<dep package="pygobject3"/>
|
||||
</dependencies>
|
||||
</meson>
|
||||
https://files.pythonhosted.org/packages/
|
||||
<distutils id="pillow">
|
||||
<branch module="21/23/af6bac2a601be6670064a817273d4190b79df6f74d8012926a39bc7aa77f/Pillow-8.2.0.tar.gz" version="8.2.0"
|
||||
<branch module="00/d5/4903f310765e0ff2b8e91ffe55031ac6af77d982f0156061e20a4d1a8b2d/Pillow-9.5.0.tar.gz"
|
||||
version="9.5.0"
|
||||
repo="pymodules"
|
||||
hash="sha256:a787ab10d7bb5494e5f76536ac460741788f1fbce851068d73a87ca7c35fc3e1">
|
||||
hash="sha256:bf548479d336726d7a0eceb6e767e179fbde37833ae42794602631a070d630f1">
|
||||
</branch>
|
||||
<dependencies>
|
||||
<!--dep package="setuptools"/-->
|
||||
@@ -128,9 +134,9 @@ https://files.pythonhosted.org/packages/
|
||||
</distutils>
|
||||
|
||||
<distutils id='pyicu'>
|
||||
<branch version='2.7.2' repo='pymodules'
|
||||
module='17/0f/9d6b7eb01650960239a5d4dc21cd6e7a96921807c043d287bae4b2f440e1/PyICU-2.7.2.tar.gz'
|
||||
hash="sha256:1382869b22d91cc99274f9b525fa7d9199b44d9007ff0036a09747839a01e9dc"/>
|
||||
<branch version='2.11' repo='pymodules'
|
||||
module="03/1b/800fce0236be0b8a99b3ccbb797786dd178028960b3fd65544e2d8bad5ac/PyICU-2.11.tar.gz"
|
||||
hash="sha256:3ab531264cfe9132b3d2ac5d708da9a4649d25f6e6813730ac88cf040a08a844"/>
|
||||
|
||||
<dependencies>
|
||||
<dep package='icu'/>
|
||||
@@ -147,6 +153,7 @@ https://files.pythonhosted.org/packages/
|
||||
repo="oracle"
|
||||
hash="sha256:12edc0df75bf9abd7f82f821795bcee50f42cb2e5f76a6a281b85732798364ef" >
|
||||
<patch file="berkeleydb-4.8-atomic.patch" strip='1'/>
|
||||
<patch file="berkeleydb-4.8-mutex.patch" strip='1'/>
|
||||
</branch>
|
||||
</autotools>
|
||||
|
||||
@@ -163,6 +170,7 @@ https://files.pythonhosted.org/packages/
|
||||
repo="oracle"
|
||||
hash="sha256:12edc0df75bf9abd7f82f821795bcee50f42cb2e5f76a6a281b85732798364ef">
|
||||
<patch file="berkeleydb-4.8-atomic.patch" strip='1'/>
|
||||
<patch file="berkeleydb-4.8-mutex.patch" strip='1'/>
|
||||
</branch>
|
||||
</autotools>
|
||||
|
||||
@@ -205,12 +213,11 @@ https://files.pythonhosted.org/packages/
|
||||
<dep package="osmgpsmap"/>
|
||||
<dep package="graphviz"/>
|
||||
<dep package="gexiv2"/>
|
||||
<dep package="berkeleydb"/>
|
||||
<dep package="pybsddb"/>
|
||||
<dep package="gtk-mac-integration-python"/>
|
||||
<dep package="pycairo"/>
|
||||
<dep package="pygobject3"/>
|
||||
<dep package='pyicu'/>
|
||||
<dep package='pybsddb'/>
|
||||
<dep package="pillow"/>
|
||||
</dependencies>
|
||||
</metamodule>
|
||||
|
||||
@@ -0,0 +1,115 @@
|
||||
--- a/dist/configure 2022-12-26 13:46:24.000000000 -0800
|
||||
+++ b/dist/configure 2022-12-27 11:35:26.000000000 -0800
|
||||
@@ -18756,6 +18756,7 @@
|
||||
/* end confdefs.h. */
|
||||
|
||||
#include <pthread.h>
|
||||
+#include <stdlib.h>
|
||||
int
|
||||
main ()
|
||||
{
|
||||
@@ -18792,7 +18793,8 @@
|
||||
/* end confdefs.h. */
|
||||
|
||||
#include <pthread.h>
|
||||
-main() {
|
||||
+#include <stdlib.h>
|
||||
+int main() {
|
||||
pthread_cond_t cond;
|
||||
pthread_mutex_t mutex;
|
||||
pthread_condattr_t condattr;
|
||||
@@ -18828,6 +18830,7 @@
|
||||
/* end confdefs.h. */
|
||||
|
||||
#include <pthread.h>
|
||||
+#include <stdlib.h>
|
||||
int
|
||||
main ()
|
||||
{
|
||||
@@ -18864,7 +18867,7 @@
|
||||
/* end confdefs.h. */
|
||||
|
||||
#include <pthread.h>
|
||||
-main() {
|
||||
+int main() {
|
||||
pthread_cond_t cond;
|
||||
pthread_mutex_t mutex;
|
||||
pthread_condattr_t condattr;
|
||||
@@ -18899,6 +18902,7 @@
|
||||
/* end confdefs.h. */
|
||||
|
||||
#include <pthread.h>
|
||||
+#include <stdlib.h>
|
||||
int
|
||||
main ()
|
||||
{
|
||||
@@ -18933,7 +18937,8 @@
|
||||
/* end confdefs.h. */
|
||||
|
||||
#include <pthread.h>
|
||||
-main() {
|
||||
+#include <stdlib.h>
|
||||
+int main() {
|
||||
pthread_cond_t cond;
|
||||
pthread_mutex_t mutex;
|
||||
pthread_condattr_t condattr;
|
||||
@@ -18967,6 +18972,7 @@
|
||||
/* end confdefs.h. */
|
||||
|
||||
#include <pthread.h>
|
||||
+#include <stdlib.h>
|
||||
int
|
||||
main ()
|
||||
{
|
||||
@@ -19001,7 +19007,8 @@
|
||||
/* end confdefs.h. */
|
||||
|
||||
#include <pthread.h>
|
||||
-main() {
|
||||
+#include <stdlib.h>
|
||||
+int main() {
|
||||
pthread_cond_t cond;
|
||||
pthread_mutex_t mutex;
|
||||
pthread_condattr_t condattr;
|
||||
@@ -19038,6 +19045,7 @@
|
||||
/* end confdefs.h. */
|
||||
|
||||
#include <synch.h>
|
||||
+#include <stdlib.h>
|
||||
int
|
||||
main ()
|
||||
{
|
||||
@@ -19069,6 +19077,7 @@
|
||||
|
||||
#include <thread.h>
|
||||
#include <synch.h>
|
||||
+#include <stdlib.h>
|
||||
int
|
||||
main ()
|
||||
{
|
||||
@@ -19099,6 +19108,7 @@
|
||||
|
||||
#include <thread.h>
|
||||
#include <synch.h>
|
||||
+#include <stdlib.h>
|
||||
int
|
||||
main ()
|
||||
{
|
||||
@@ -20743,7 +20753,7 @@
|
||||
/* end confdefs.h. */
|
||||
|
||||
#include <sys/time.h>
|
||||
-main() {
|
||||
+int main() {
|
||||
struct timespec t;
|
||||
return (clock_gettime(CLOCK_MONOTONIC, &t) != 0);
|
||||
}
|
||||
@@ -21634,7 +21644,7 @@
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
/* end confdefs.h. */
|
||||
|
||||
- main() {
|
||||
+ int main() {
|
||||
$db_cv_seq_type l;
|
||||
unsigned $db_cv_seq_type u;
|
||||
char buf[100];
|
||||
@@ -0,0 +1,273 @@
|
||||
From 9ea0164f1f84f92deea7a0bde0343e2f0e485525 Mon Sep 17 00:00:00 2001
|
||||
From: John Ralls <jralls@ceridwen.us>
|
||||
Date: Tue, 27 Dec 2022 12:50:14 -0800
|
||||
Subject: [PATCH] Try to import berkeleydb if bsddb3 isn't found.
|
||||
|
||||
berkelydb is usable for python >= 3.6 and required for
|
||||
python >= 3.10. See https://www.jcea.es/programacion/pybsddb.htm.
|
||||
---
|
||||
gramps/grampsapp.py | 13 ++++++++++---
|
||||
gramps/gui/aboutdialog.py | 6 +++++-
|
||||
gramps/gui/logger/_errorreportassistant.py | 6 +++++-
|
||||
gramps/plugins/db/bsddb/bsddbtxn.py | 5 ++++-
|
||||
gramps/plugins/db/bsddb/cursor.py | 17 ++++++++++-------
|
||||
gramps/plugins/db/bsddb/read.py | 15 +++++++++------
|
||||
gramps/plugins/db/bsddb/summary.py | 6 ++++--
|
||||
gramps/plugins/db/bsddb/test/cursor_test.py | 6 ++++--
|
||||
gramps/plugins/db/bsddb/undoredo.py | 13 ++++++++-----
|
||||
gramps/plugins/db/bsddb/upgrade.py | 6 ++++--
|
||||
gramps/plugins/db/bsddb/write.py | 10 ++++++++--
|
||||
gramps/plugins/gramplet/leak.py | 11 +++++++----
|
||||
12 files changed, 78 insertions(+), 36 deletions(-)
|
||||
|
||||
diff --git a/gramps/grampsapp.py b/gramps/grampsapp.py
|
||||
index 2163edc8a..fed06207d 100644
|
||||
--- a/gramps/grampsapp.py
|
||||
+++ b/gramps/grampsapp.py
|
||||
@@ -325,9 +325,16 @@ def show_settings():
|
||||
.replace('(', '').replace(')', '')
|
||||
bsddb_location_str = bsddb.__file__
|
||||
except:
|
||||
- bsddb_str = 'not found'
|
||||
- bsddb_db_str = 'not found'
|
||||
- bsddb_location_str = 'not found'
|
||||
+ try:
|
||||
+ import berkeleydb as bsddb
|
||||
+ bsddb_str = bsddb.__version__
|
||||
+ bsddb_db_str = str(bsddb.db.version()).replace(', ', '.')\
|
||||
+ .replace('(', '').replace(')', '')
|
||||
+ bsddb_location_str = bsddb.__file__
|
||||
+ except:
|
||||
+ bsddb_str = 'not found'
|
||||
+ bsddb_db_str = 'not found'
|
||||
+ bsddb_location_str = 'not found'
|
||||
|
||||
try:
|
||||
import sqlite3
|
||||
diff --git a/gramps/gui/aboutdialog.py b/gramps/gui/aboutdialog.py
|
||||
index f2b28a036..2afb77816 100644
|
||||
--- a/gramps/gui/aboutdialog.py
|
||||
+++ b/gramps/gui/aboutdialog.py
|
||||
@@ -68,7 +68,11 @@ try:
|
||||
import bsddb3 as bsddb ## ok, in try/except
|
||||
BSDDB_STR = ellipses(str(bsddb.__version__) + " " + str(bsddb.db.version()))
|
||||
except:
|
||||
- BSDDB_STR = 'not found'
|
||||
+ try:
|
||||
+ import berkeleydb as bsddb
|
||||
+ BSDDB_STR = ellipses(str(bsddb.__version__) + " " + str(bsddb.db.version()))
|
||||
+ except:
|
||||
+ BSDDB_STR = 'not found'
|
||||
|
||||
try:
|
||||
import sqlite3
|
||||
diff --git a/gramps/gui/logger/_errorreportassistant.py b/gramps/gui/logger/_errorreportassistant.py
|
||||
index af9979693..1924701e2 100644
|
||||
--- a/gramps/gui/logger/_errorreportassistant.py
|
||||
+++ b/gramps/gui/logger/_errorreportassistant.py
|
||||
@@ -37,7 +37,11 @@ try:
|
||||
import bsddb3 as bsddb # ok, in try/except
|
||||
BSDDB_STR = str(bsddb.__version__) + " " + str(bsddb.db.version())
|
||||
except:
|
||||
- BSDDB_STR = 'not found'
|
||||
+ try:
|
||||
+ import berkeleydb as bsddb
|
||||
+ BSDDB_STR = str(bsddb.__version__) + " " + str(bsddb.db.version())
|
||||
+ except:
|
||||
+ BSDDB_STR = 'not found'
|
||||
|
||||
try:
|
||||
import sqlite3
|
||||
diff --git a/gramps/plugins/db/bsddb/bsddbtxn.py b/gramps/plugins/db/bsddb/bsddbtxn.py
|
||||
index 7af99494e..0f3fe0de4 100644
|
||||
--- a/gramps/plugins/db/bsddb/bsddbtxn.py
|
||||
+++ b/gramps/plugins/db/bsddb/bsddbtxn.py
|
||||
@@ -218,7 +218,10 @@ class BSDDBTxn:
|
||||
# test code
|
||||
if __name__ == "__main__":
|
||||
print("1")
|
||||
- from bsddb3 import db, dbshelve
|
||||
+ try:
|
||||
+ from bsddb3 import db, dbshelve
|
||||
+ except:
|
||||
+ from berkeleydb import db, dbshelve
|
||||
print("2")
|
||||
x = db.DBEnv()
|
||||
print("3")
|
||||
diff --git a/gramps/plugins/db/bsddb/cursor.py b/gramps/plugins/db/bsddb/cursor.py
|
||||
index 1eecffc03..4ddd9a64c 100644
|
||||
--- a/gramps/plugins/db/bsddb/cursor.py
|
||||
+++ b/gramps/plugins/db/bsddb/cursor.py
|
||||
@@ -29,14 +29,17 @@ from pickle import dumps, loads
|
||||
try:
|
||||
from bsddb3 import db
|
||||
except:
|
||||
+ try:
|
||||
+ from berkeleydb import db
|
||||
+ except:
|
||||
# FIXME: make this more abstract to deal with other backends
|
||||
- class db:
|
||||
- DB_RMW = 0
|
||||
- DB_FIRST = 0
|
||||
- DB_LAST = 0
|
||||
- DB_CURRENT = 0
|
||||
- DB_PREV = 0
|
||||
- DB_NEXT = 0
|
||||
+ class db:
|
||||
+ DB_RMW = 0
|
||||
+ DB_FIRST = 0
|
||||
+ DB_LAST = 0
|
||||
+ DB_CURRENT = 0
|
||||
+ DB_PREV = 0
|
||||
+ DB_NEXT = 0
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
#
|
||||
diff --git a/gramps/plugins/db/bsddb/read.py b/gramps/plugins/db/bsddb/read.py
|
||||
index 57906b795..6b0b6a7a8 100644
|
||||
--- a/gramps/plugins/db/bsddb/read.py
|
||||
+++ b/gramps/plugins/db/bsddb/read.py
|
||||
@@ -41,12 +41,15 @@ from functools import partial
|
||||
try:
|
||||
from bsddb3 import db
|
||||
except:
|
||||
- # FIXME: make this more abstract to deal with other backends
|
||||
- class db:
|
||||
- DBRunRecoveryError = 0
|
||||
- DBAccessError = 0
|
||||
- DBPageNotFoundError = 0
|
||||
- DBInvalidArgError = 0
|
||||
+ try:
|
||||
+ from berkeleydb import db
|
||||
+ except:
|
||||
+ # FIXME: make this more abstract to deal with other backends
|
||||
+ class db:
|
||||
+ DBRunRecoveryError = 0
|
||||
+ DBAccessError = 0
|
||||
+ DBPageNotFoundError = 0
|
||||
+ DBInvalidArgError = 0
|
||||
|
||||
import re
|
||||
import logging
|
||||
diff --git a/gramps/plugins/db/bsddb/summary.py b/gramps/plugins/db/bsddb/summary.py
|
||||
index e73908128..a911d666f 100644
|
||||
--- a/gramps/plugins/db/bsddb/summary.py
|
||||
+++ b/gramps/plugins/db/bsddb/summary.py
|
||||
@@ -22,8 +22,10 @@
|
||||
## specific to bsddb
|
||||
|
||||
import os
|
||||
-from bsddb3 import dbshelve, db
|
||||
-
|
||||
+try:
|
||||
+ from bsddb3 import dbshelve, db
|
||||
+except:
|
||||
+ from berkeleydb import db, dbshelve
|
||||
from gramps.gen.db import META, PERSON_TBL
|
||||
from gramps.gen.db.dbconst import BDBVERSFN
|
||||
|
||||
diff --git a/gramps/plugins/db/bsddb/test/cursor_test.py b/gramps/plugins/db/bsddb/test/cursor_test.py
|
||||
index e90e16fd4..1411aca43 100644
|
||||
--- a/gramps/plugins/db/bsddb/test/cursor_test.py
|
||||
+++ b/gramps/plugins/db/bsddb/test/cursor_test.py
|
||||
@@ -23,8 +23,10 @@ import os
|
||||
import tempfile
|
||||
import shutil
|
||||
|
||||
-from bsddb3 import dbshelve, db
|
||||
-
|
||||
+try:
|
||||
+ from bsddb3 import dbshelve, db
|
||||
+except:
|
||||
+ from berkeleydb import db, dbshelve
|
||||
from ..read import DbBsddbTreeCursor
|
||||
|
||||
class Data:
|
||||
diff --git a/gramps/plugins/db/bsddb/undoredo.py b/gramps/plugins/db/bsddb/undoredo.py
|
||||
index 53ab39a60..729f21eb9 100644
|
||||
--- a/gramps/plugins/db/bsddb/undoredo.py
|
||||
+++ b/gramps/plugins/db/bsddb/undoredo.py
|
||||
@@ -36,12 +36,15 @@ from collections import deque
|
||||
try:
|
||||
from bsddb3 import db
|
||||
except:
|
||||
+ try:
|
||||
+ from berkeleydb import db
|
||||
+ except:
|
||||
# FIXME: make this more abstract to deal with other backends
|
||||
- class db:
|
||||
- DBRunRecoveryError = 0
|
||||
- DBAccessError = 0
|
||||
- DBPageNotFoundError = 0
|
||||
- DBInvalidArgError = 0
|
||||
+ class db:
|
||||
+ DBRunRecoveryError = 0
|
||||
+ DBAccessError = 0
|
||||
+ DBPageNotFoundError = 0
|
||||
+ DBInvalidArgError = 0
|
||||
|
||||
from gramps.gen.const import GRAMPS_LOCALE as glocale
|
||||
_ = glocale.translation.gettext
|
||||
diff --git a/gramps/plugins/db/bsddb/upgrade.py b/gramps/plugins/db/bsddb/upgrade.py
|
||||
index 48fd189dd..6861fcd5c 100644
|
||||
--- a/gramps/plugins/db/bsddb/upgrade.py
|
||||
+++ b/gramps/plugins/db/bsddb/upgrade.py
|
||||
@@ -32,8 +32,10 @@ import os
|
||||
import re
|
||||
import time
|
||||
import logging
|
||||
-from bsddb3 import db
|
||||
-
|
||||
+try:
|
||||
+ from bsddb3 import db
|
||||
+except:
|
||||
+ from berkeleydb import db
|
||||
#-------------------------------------------------------------------------
|
||||
#
|
||||
# Gramps modules
|
||||
diff --git a/gramps/plugins/db/bsddb/write.py b/gramps/plugins/db/bsddb/write.py
|
||||
index f1743fd21..809b77383 100644
|
||||
--- a/gramps/plugins/db/bsddb/write.py
|
||||
+++ b/gramps/plugins/db/bsddb/write.py
|
||||
@@ -40,8 +40,14 @@ import logging
|
||||
from sys import maxsize, getfilesystemencoding, version_info
|
||||
from ast import literal_eval as safe_eval
|
||||
|
||||
-from bsddb3 import dbshelve, db
|
||||
-from bsddb3.db import DB_CREATE, DB_AUTO_COMMIT, DB_DUP, DB_DUPSORT, DB_RDONLY
|
||||
+try:
|
||||
+ from bsddb3 import dbshelve, db
|
||||
+except:
|
||||
+ from berkeleydb import db, dbshelve
|
||||
+try:
|
||||
+ from bsddb3.db import DB_CREATE, DB_AUTO_COMMIT, DB_DUP, DB_DUPSORT, DB_RDONLY
|
||||
+except:
|
||||
+ from berkeleydb.db import DB_CREATE, DB_AUTO_COMMIT, DB_DUP, DB_DUPSORT, DB_RDONLY
|
||||
|
||||
DBFLAGS_O = DB_CREATE | DB_AUTO_COMMIT # Default flags for database open
|
||||
DBFLAGS_R = DB_RDONLY # Flags to open a database read-only
|
||||
diff --git a/gramps/plugins/gramplet/leak.py b/gramps/plugins/gramplet/leak.py
|
||||
index 949531cf7..0c09c0c4e 100644
|
||||
--- a/gramps/plugins/gramplet/leak.py
|
||||
+++ b/gramps/plugins/gramplet/leak.py
|
||||
@@ -184,10 +184,13 @@ class Leak(Gramplet):
|
||||
try:
|
||||
from bsddb3.db import DBError
|
||||
except:
|
||||
- class DBError(Exception):
|
||||
- """
|
||||
- Dummy.
|
||||
- """
|
||||
+ try:
|
||||
+ from berkeleydb.db import DBError
|
||||
+ except:
|
||||
+ class DBError(Exception):
|
||||
+ """
|
||||
+ Dummy.
|
||||
+ """
|
||||
self.parent = self.top.get_toplevel()
|
||||
progress = ProgressMeter(
|
||||
_('Updating display...'), '', parent=self.parent, can_cancel=True)
|
||||
--
|
||||
2.37.1 (Apple Git-137.1)
|
||||
|
||||
Reference in New Issue
Block a user