Merge branch 'privatization-fixes'
Signed-off-by: Jacob Kiers <code@kiers.eu>
This commit is contained in:
		| @@ -360,7 +360,7 @@ def _private_people_replacement_table( | ||||
|  | ||||
|  | ||||
| @tzk_builder | ||||
| def replace_private_people(initialer: Callable[[str], str] = None, replace_text = False) -> None: | ||||
| def replace_private_people(initialer: Callable[[str], str] = None, replace_link_text = False) -> None: | ||||
|     """ | ||||
|     Replace the names of people who are not marked Public with their initials. | ||||
|  | ||||
| @@ -378,16 +378,26 @@ def replace_private_people(initialer: Callable[[str], str] = None, replace_text | ||||
|     (e.g., MsJaneDoe becomes J.D.). The links point to the tiddler ``PrivatePerson``, | ||||
|     which explains this process. | ||||
|  | ||||
|     :param initialer:    If you don't like the way that initials | ||||
|                          are generated from tiddler filenames by default, | ||||
|                          you can customize it by passing a callable | ||||
|                          that takes one string argument | ||||
|                          (a tiddler filename without the full path, e.g., ``MsJaneDoe.tid``) | ||||
|                          and returns a string to be considered the "initials" of that person. | ||||
|     :param initialer: If you don't like the way that initials | ||||
|                       are generated from tiddler filenames by default, | ||||
|                       you can customize it by passing a callable | ||||
|                       that takes one string argument | ||||
|                       (a tiddler filename without the full path, e.g., ``MsJaneDoe.tid``) | ||||
|                       and returns a string to be considered the "initials" of that person. | ||||
|  | ||||
|     :param replace_text: If you have links in the form ``[[John|MrJohnDoe]]``, then enabling | ||||
|                          this option ensures that the link text `John` is also replaced with | ||||
|                          the initials. | ||||
|     :param replace_link_text: If you have links in the form | ||||
|                               ``So then [[John said|MrJohnDoe]] something about this``, | ||||
|                               then enabling this option ensures that the link is fully | ||||
|                               replaced with | ||||
|                               ``So then [[J.D.|PrivatePerson]] something about this``. | ||||
|                               This means that when using this feature, having the | ||||
|                               link text also be meaningful after redaction is important. | ||||
|  | ||||
|     .. warning :: | ||||
|         Using this link replacement feature does not redact everything, just the link | ||||
|         (and the link text with `replace_link_text` enabled). So *do not* rely on it | ||||
|         for redacting everything. Making a tiddler public still needs consideration and | ||||
|         tooling is there to help, not to replace your own judgment. | ||||
|     """ | ||||
|     assert 'public_wiki_folder' in build_state | ||||
|  | ||||
| @@ -405,7 +415,7 @@ def replace_private_people(initialer: Callable[[str], str] = None, replace_text | ||||
|                     if '|' + replace_person + ']]' in lines[i]: | ||||
|                         # link with the person as the target only; | ||||
|                         # beware that you might have put something private in the text | ||||
|                         if replace_text: | ||||
|                         if replace_link_text: | ||||
|                             # with this option, the initials are also | ||||
|                             # put in the text, solving the warning before | ||||
|                             end = lines[i].find('|' + replace_person + ']]') | ||||
| @@ -415,8 +425,8 @@ def replace_private_people(initialer: Callable[[str], str] = None, replace_text | ||||
|  | ||||
|                             lines[i] = lines[i].replace(search, replace) | ||||
|                         else: | ||||
|                             lines[i] = line.replace(replace_person, 'PrivatePerson') | ||||
|                     elif '[[' + replace_person + ']]' in line: | ||||
|                             lines[i] = lines[i].replace(replace_person, 'PrivatePerson') | ||||
|                     elif '[[' + replace_person + ']]' in lines[i]: | ||||
|                         # link with the person as the target and text | ||||
|                         lines[i] = lines[i].replace( | ||||
|                                 replace_person, | ||||
|   | ||||
		Reference in New Issue
	
	Block a user