Merge branch 'privatization-fixes'
Signed-off-by: Jacob Kiers <code@kiers.eu>
This commit is contained in:
commit
5897a90a99
@ -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,
|
||||
|
Loading…
Reference in New Issue
Block a user