This is a major patch by Michael Nauta. It means all writes happen immediately to bsddb, and the bsddb
rollback is used on a crash. Transaction is no longer used to store changes and do them on commit.
Undo database is set on end.
At the same time with statement is used throughout for transactions
At the same time, the original bug in merge code should be fixed
Still some issues, that will be ironed out
svn: r16523
Old code:
for x in y:
f(x)
New Code:
map(f, y)
Also use defaultdict instead of simple dict when advantageous and use list comprehensions
instead of for loops where map() could be used but requires lambdas.
svn: r14135
* src/DataViews/PersonView.py
* src/ViewManager.py
* src/GrampsCfg.py
* src/plugins/WriteCD.py
* src/plugins/FindDupes.py
* src/Merge/_MergePerson.py
* src/DbManager.py
* src/ArgHandler.py
* src/docgen/HtmlDoc.py
* src/DbLoader.py
use from QuestionDialog import ErrorDialog etc to bring in line with
rest of gramps
* src/Editors/_EditPrimary.py: EditPrimary._uses_duplicate_id() check
for duplicates and give error dialog if id is already used. #0001347
* src/Editors/_EditFamily.py: EditFamily.__do_save(), add call to
_uses_duplicate_id(). #0001347
svn: r10046
* src/* Everything but src/images/* and src/data/* add correct svn
properties with the commands:
svn propset -R svn:mime-type text/plain src/
svn propset -R svn:eol-style native src/
svn propset -R svn:keywords Id src/
See below why the Id keyword is enough. From svn help propset
svn:keywords - Keywords to be expanded. Valid keywords are:
URL, HeadURL - The URL for the head version of the object.
Author, LastChangedBy - The last person to modify the file.
Date, LastChangedDate - The date/time the object was last modified.
Rev, Revision, - The last revision the object changed.
LastChangedRevision
Id - A compressed summary of the previous
4 keywords.
svn: r9912
* src/ReportBase/_ReportUtils.py: Use name_displayer.
* src/ReportBase/_CommandLineReport.py: Use name_displayer.
* src/ReportBase/_BareReportDialog.py: Use name_displayer.
* src/PluginUtils/_Tool.py: Use name_displayer.
* src/plugins/TimeLine.py: Use name_displayer.
* src/plugins/RelCalc.py: Use name_displayer.
* src/plugins/ReadGrdb.py: Use name_displayer.
* src/plugins/NarrativeWeb.py: Use name_displayer.
* src/plugins/IndivComplete.py: Use name_displayer.
* src/plugins/GraphViz.py: Use name_displayer.
* src/plugins/FindDupes.py: Use name_displayer.
* src/plugins/FamilyGroup.py: Use name_displayer.
* src/plugins/DetDescendantReport.py: Use name_displayer.
* src/plugins/DetAncestralReport.py: Use name_displayer.
* src/plugins/DesGraph.py: Use name_displayer.
* src/plugins/DescendReport.py: Use name_displayer.
* src/plugins/DescendChart.py: Use name_displayer.
* src/plugins/Check.py: Use name_displayer.
* src/plugins/Ancestors.py: Use name_displayer.
* src/plugins/AncestorReport.py: Use name_displayer.
* src/plugins/AncestorChart2.py: Use name_displayer.
* src/ObjectSelector/_PersonTreeFrame.py: Use name_displayer.
* src/ObjectSelector/_PersonFrame.py: Use name_displayer.
* src/Merge/_MergePerson.py: Use name_displayer.
* src/GrampsDbUtils/_WriteGedcom.py: Use name_displayer.
* src/GrampsDbUtils/_ReadXML.py: Use name_displayer.
* src/GrampsDbUtils/_GedcomParse.py: Use name_displayer.
* src/FilterEditor/_ShowResults.py: Use name_displayer.
* src/FilterEditor/_EditRule.py: Use name_displayer.
* src/Editors/_EditPrimary.py: Use name_displayer.
* src/Editors/_EditPersonRef.py: Use name_displayer.
* src/Editors/_EditPerson.py: Use name_displayer.
* src/Editors/_EditName.py: Use name_displayer.
* src/Editors/_EditLdsOrd.py: Use name_displayer.
* src/Editors/_EditFamily.py: Use name_displayer.
* src/DisplayTabs/_PersonRefModel.py: Use name_displayer.
* src/DisplayTabs/_NameModel.py: Use name_displayer.
* src/DisplayTabs/_ChildModel.py: Use name_displayer.
* src/DisplayTabs/_BackRefModel.py: Use name_displayer.
* src/DisplayModels/_PeopleModel.py: Use name_displayer.
* src/DisplayModels/_FamilyModel.py: Use name_displayer.
* src/DataViews/_PersonView.py: Use name_displayer.
* src/DataViews/_RelationView.py: Use name_displayer.
* src/DataViews/_PedigreeView.py: Use name_displayer.
* src/Utils.py: Use name_displayer.
* src/SubstKeywords.py: Use name_displayer.
* src/Sort.py: Use name_displayer.
* src/Reorder.py: Use name_displayer.
* src/PageView.py (BookMarkView.add_bookmark): Use name_displayer.
* src/Navigation.py: Use name_displayer.
* src/DisplayState.py: Use name_displayer.
* src/GrampsCfg.py: Use name_displayer.
* src/Bookmarks.py (Bookmarks.make_label): Use name_displayer.
* src/GrampsDb/Makefile.am (pkgdata_PYTHON): Ship new files.
* src/Makefile.am (gdir_PYTHON): Ship ProgressDialog.py
svn: r8680