New Gram.py Script for 6.0

I’m not sure where this cloning would start and stop.

Do you expect that the secondary objects will be clone too? Or shared? How would you designate one or the other?

If you look at the Data Entry gramplet, it templates People from another person using the Copy Active Person button. It has rules about what 2ndry items to clone and which to share.

My bad!
By secondary object, I mean “second level” or “not primary” (gramps db). Child objects on iteration will not be “secondary objects”. So, secondary objects, like attributes, addresses, associations, etc.

@emyoulation,
You are right, I thought on the tiny XML viewer (hierarchical view) when Doug asked for a challenge.

Yes, something like that would be nice.

Could that be used to achieve this feature request?

With great power comes … the probability that you can really create a mess. One would have to be very careful about what was copied and what wasn’t in a clone. I think a clone function (and a GUI controls) are out of scope for this gramplet. Although still worth thinking about. If we went to the trouble of making it though, it would be easy to just add as a popup on an object.

1 Like

I didn’t add any new functionality to Gramps, I just made an easy interface for Gram.py

1 Like

Doug,
I also looked at diff.py, and I suppose where or when, these Gramp.py scripts (or super tool) could be useful.

I guess that to provide a quick read only importer (I/O string or whatever) for a subset of data does not really makes sense on Gram.py ecosystem (environment).

Maybe this might cover some GEPS, like:

because I am rather looking at this one:

To re-use SimpleAccess sounds like DB Print statement into python environment. So, is there any level, between the DB stuff and the UI stuff? If we have a python object related to the BD (Family Tree) and maybe just want to match it with an external subset of data via the UI.

Currently, this “read only” state could be useful on comparision or synchronization (synchronisation?), like the diff module. But the “user side” is maybe missing (* PEBCAK*). I like the idea of scripting (or small modules).

Like your “Twitter” hack or the old Tiny Tafel model

I suppose that there is no privacy issue by sharing something like:

{"surname":"Abbott"}
{"surname":"Adams"}
{"surname":"Adkins"}
{"surname":"Aguilar"}
{"surname":"Alexander"}
{"surname":"Allen"}
{"surname":"Alonso"}
{"surname":"Alvarado"}
{"surname":"Alvarez"}
{"surname":"Andersen"}
{"surname":"Anderson"}
{"surname":"Andrews"}
{"surname":"Armstrong"}
{"surname":"Arnold"}
{"surname":"Austin"}
{"surname":"Baker"}
{"surname":"Baldwin"}
{"surname":"Ball"}
{"surname":"Ballard"}
{"surname":"Худоногов"}
{"surname":"Черкашин"}
{"surname":"Чернов"}
{"surname":"Черных"}
{"surname":"Шадрин"}
{"surname":"Шестаков"}
{"surname":"Яковлев"}
{"surname":"الفضل"}
{"surname":"บุญ"}
{"surname":"中村"}
{"surname":"伊藤"}
{"surname":"史"}
{"surname":"小林"}
{"surname":"尤"}
{"surname":"山本"}
{"surname":"斎藤"}
{"surname":"李"}
{"place":"AK","lang":""}
{"place":"AK, USA","lang":""}
{"place":"AL","lang":""}
{"place":"AL, USA","lang":""}
{"place":"AR","lang":""}
{"place":"AR, USA","lang":""}
{"place":"AR-OK","lang":""}
{"place":"AR-OK, USA","lang":""}
{"place":"AZ","lang":""}
{"place":"AZ, USA","lang":""}
{"place":"Aberdeen","lang":""}
{"place":"Aberdeen, SD","lang":""}
{"place":"Aberdeen, WA","lang":""}
{"place":"Θεσσαλονίκη - (el)","lang":""}
{"place":"Ιωάννινα","lang":""}
{"place":"Ιωάννινα - (el)","lang":""}
{"place":"Μεσολόγγι","lang":""}
{"place":"Μεσολόγγι - (el)","lang":""}
{"place":"Σιάτιστα","lang":""}
{"place":"Σιάτιστα - (el)","lang":""}
{"source":"All possible citations"}
{"source":"Baptize registry 1850 - 1867 Great Falls Church"}
{"source":"Import from test2.ged"}
{"source":"World of the Wierd"}

close to a web search, but limited to typical genealogical records.

Scripting might be a “query” environment and could provide statistics too. No need to display advanced deep “glossy” report. Sandbox or whatever temp file format (jsonl, text, xml, etc.) with proxy support (dummy lite DB) as an help for switching between dataset and the Family Tree. I guess that it might be also a sanitized environment for AI?

About gram.py, diff.py or Super Tool, it should be possible to match any textual value for extending the data set via a subset of data. e.g., to load an external place database with up-to-date data or any mediawiki metadata (images, coordinates, history, etc.). We do not always want to maintain large textual descriptions. Same idea for sources as index into a repository could be updated or modified.

About the “statistics” and “analysis”, should be limited to one user or more gramps users with a large data set?

In fact, what is the name of a gramps user (in french)?

Anyway, my current limitation is to find a proper (and simple) way withing gramps, to match data from an addon. Few problems for primary objects. It becomes cryptic on the secondary objects. Serialization should match the need, but many lines of code means many possible coding errors.

Jérôme R.