Link all unlinked mentions with one click

I’ll just add, while this is a fairly simple Python snippet that you can read and understand, you’ve posted a code snippet that you don’t necessarily understand (I don’t know you or your skill level with code). A snippet that traverses multiple directories and modifies files.

This is relatively safe. But in unskilled hands, and for someone who doesn’t have good backups, it could mangle a vault. It’s not our job as moderators to do code reviews. So yes, hallucinated GPT answers are not encouraged.

Furthermore as a Python developer, let me give some specific feedback:

  1. Why is glob imported? Because you are running code that has been blindly mushed together from multiple sources.

  2. Do you know what f.read() does? It reads the entire file into a string. On most notes this would be perfectly fine. On an enormous file, this could cause memory issues. True, it would have to be pretty huge.

A better Python pattern would be to iterate over the lines:

with open() as note:
    for line in note:
        # do your loop on each line
  1. Do you understand what the IGNORECASE flag does? It’s pretty clear by reading it that it would ignore case, right?

replaces all instances of " ProGuides " with " [[ProGuides]]

No. That is false. It would replace all instances of ProGuides, proguides, PROGUIDES or PrOGuIdEs with [[ProGuides]].

It would also replace OhWhoopsyDoodleProGuides with OhWhoopsyDoodle[[ProGuides]].

Which in this one specific example is pretty safe. But if someone was trying to replace a fairly generic word, or an easily-stemmed word, again they could mangle their vault. This wasn’t bug-tested. This wasn’t thought through. You didn’t seem to understand the code you posted.


So if you don’t know the answer to something, please don’t post a hallucinated auto-generated answer.

Did that satisfy your concerns?

3 Likes