-
Notifications
You must be signed in to change notification settings - Fork 128
RelID improvements #769
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: maintenance/gramps60
Are you sure you want to change the base?
RelID improvements #769
Conversation
Some cleanup, use of more recent modules and methods like
but not added because I am not comfortable with. |
I did not include some extra extensions like : (sorry, in french)
or Détection des communautés familiales
it was too far (multiple prompts for debug) and maybe it increases too much the number of columns. Here some lines (documentation) for helping to use these additionnal data or where to go with such improvements:
|
Some suggestions for additions to improve it:
Here's an example of how you could add a person comparison feature:
This function compares names, relationships, and surname diversity between two people and returns a dictionary containing the differences. You can then use this dictionary to display the comparison results in the user interface. ~codestral Agent |
even more suggestions for additions to improve the script:
Here's an example of how you could add an interactive family tree visualization using D3.js:
This code generates an interactive family tree visualization using D3.js, centered on a specific person. The generate_family_tree_visualization function creates the HTML content for the visualization, while the get_family_tree_data function retrieves the family tree data for a person. You can then use this HTML content to display the interactive family tree visualization in a web browser or embed it in a web-based user interface. etc. |
version a.b.c => a.b+1.c
more experimental (rather an idea than a code for production):
|
`Marriage` is a restrictive event on "Family" cell
Tried to run this on 6.0.5 on Mac. Gramps hung with: Had to ctrl-c to kill it after it hung. |
Set the home person and it displayed a list. Selected 'Save' and gramplet crashed with error: 143095: ERROR: grampsapp.py: line 188: Unhandled exception When the gramplet started, it asked to select a folder. It never asked to select a filename. |
One surprise was that when I selected a Home Person and invoked the gramplet, it listed the relations in a gramps window AND in the console. I was not expecting all of this in the console. |
Thank you, Gary, for these tests. |
Do you mean the variable name? 👍 |
oh, this could be a mixup... I was a little bit surprised to be able to get the ProgressMeter available via the CLI. Also, by playing with Gtk widgets (like window.show_all()) I tried to use an alternate windows and dialogs handling. I was not able to improve threading (Gtk or iteration with person_handle). This might be related to python 3.11 limitations but also I suppose to my lack on this domain... I need to make it more consistent againt others tools. Someone reported that this addon takes more than 2 hours for 280 000 individuals... According to code, it should be more around 15 minutes with default configuration (except with 'deep max generations/levels' sets to 100) ! I supposed that an improvement could be added on such piece of code:
As it only re-uses the filter rules, it will be difficult to modify something on this addon. Maybe just use it as a proof-of-concept on filtering slowdown, with large databases. |
Maybe you are in the 'verbose' mode (aka. the debug)? Instead of: |
I need to create a new empty Family Tree for having a database without default person. Maybe a very limited issue. Anyway, I am not sure for the fix. Maybe, something like: else:
_LOG.error("No default person set.")
WarningDialog(_("No default_person"))
- return
+ window.close() |
oh yes, the WarningDialog will also pop-up via CLI! File "/usr/lib/python3/dist-packages/gramps/gui/plug/tool.py", line 323, in cli_tool :-( I suppose you mean the WarningDialog? |
Maybe I rather remove the WarningDialog instead of trying to look at transient Gtk parent widget on CLI... |
I used "." for an empty path... |
-if self.path != '.':
+if self.path is not None: I have no idea how you can skip the folder path selection. I am trying to set an empty one or cancelling the selector, but no failure or traceback. |
* add the copyright for the author of the filter rule related * polish * provide a quick documentation for the data displayed on the ProgressMeter
was a limit with old configurations (more than 10 years ago)
max_level becomes MAX_LEVEL for the options class
Tested the most recent. These are the current issues that I see:
|
![]() |
Ah, ok, like on most dialogs into gramps, the common Gtk buttons ( That's the hbox/vbox stuff from Gtk3... :-( |
I cannot reproduce it, either via cli or gui, by creating an empty Family Tree and run the tool. It raises a message or Warning Dialog, but no crashes. |
Let me clarify, I run with the gui and create a new family tree and import a ged (Shakespeare in my case). If I then run the gramplet it generates the error |
You are right that it is starting to get complex. If I take a step back, my concern is that I get a window with a Save button. If I press the Save, I dont know if anything happened - the window is still open after pressing. I was expecting either pressing the Save to close the window upon completion or to have a close button. The only way to close this window is to use the window manager to close it. |
line 411 is currently this one:
you should get it on line 363! I suppose that you have at least two versions (to have a 'twice' copy of the plugin into your plugin directory)? |
I should be able to call the basic gtk widgets or built-in dialogs like:
|
My error. I recloned the addons and am now testing the latest version on MacOS. Sorry for the confusion.
Save button seems to be the only open issue on the Mac. Has someone tested on Linux? Win? |
You are right, I can reproduce the select folder issue under linux too. I did something wrong. The Current Working Directory (CWD) behavior does not really need a folder selector. Maybe I did a mixup during tests and fixes. About |
tweak improvement by using the information dialog
Tried the latest (with getcwd change). If default_person not set, it does not bring up FolderSelector window, and does not calculate relationships. Good At this point, things look good except the Save does not work (FolderChooser.get_current_folder() always returns None). re: merge - it is fine to leave as multiple commits. |
https://gramps-project.org/wiki/index.php/Addon:Display_relations_and_distances_with_the_home_person