Topic: Python script that lists when a post change has been undone

Posted under e621 Tools and Applications

My itent:

Hopefully find tag vandalism caused by the Undo button.

Script behavior:
  • This script goes through post version pages, iterating through each post in them.
  • When reading an individual post's version list, it will compare 2 versions at a time, and see how similar they are.
  • If 2 versions aren't unique, they're saved to a file. Saved versions have their post id listed, as well as how many tags matched in those versions.

Currently, every post change ID(not change_seq) is saved to another file, so the script won't run through the same versions twice.

A few issues I haven't figured a solution for yet:
    • If an undo happens after a post has been scanned, I believe it will not be detected.
    • I'm not completely sure how to use the saved data besides manually checking everything.
    • How to check if an Undo has already been fixed?
Future plans:
    • Create another script to go through the list of saved posts, prioritizing the ones with the largest number of tags
    • Make an interface for all of this.
    • Reduce listed IDs from individual numbers entries into number ranges.

---

* Requires the "requests" python package.
Download

There are two versions inside the files, cleaner and fuller.
I dunno which one is better so please tell me what you think.

"Cleaner outputs as follows:"
Post # 1207966   | ver. 11 : 10  |  Matched 1  out of  10     |  Undo probability:  10 %

Post # 1207964   | ver. 6 : 7  |  Matched 1  out of  3     |  Undo probability:  33 %

Post # 1934939   | ver. 7 : 8  |  Matched 1  out of  2     |  Undo probability:  50 %
Post # 1934939   | ver. 12 : 13  |  Matched 5  out of  5     |  Undo probability:  100 %
Post # 1934939   | ver. 13 : 14  |  Matched 1  out of  5     |  Undo probability:  20 %
"While fuller outputs as follows:"
Version: 10 |  + 1  /  1    |    source:http://candyclops.tumblr.com/post/160038341471/commission-for-silver-sickle
https://derpibooru.org/1428197
Version: 11 |  - 3  /  3    |    source:http://candyclops.tumblr.com/post/160038341471/commission-for-silver-sickle
https://derpibooru.org/1428197
^^===== Post # 1207966   | ver. 11 : 10  |  Matched 1  out of  10     |  Undo probability:  10 % =====^^


Version: 7 |  - 1  /  1    |    source:https://www.furaffinity.net/view/23414632/
https://www.furaffinity.net/user/fasttrack37d/
http://d.facdn.net/art/fasttrack37d/1493882801/1493882801.fasttrack37d_kincademksketch[load].png
Version: 6 |  + 2  /  2    |    source:https://www.furaffinity.net/view/23414632/
https://www.furaffinity.net/user/fasttrack37d/
http://d.facdn.net/art/fasttrack37d/1493882801/1493882801.fasttrack37d_kincademksketch[load].png
^^===== Post # 1207964   | ver. 6 : 7  |  Matched 1  out of  3     |  Undo probability:  33 % =====^^


Version: 8 |  - 1  /  1    |    oralv
Version: 7 |  + 1  /  1    |    oralv
^^===== Post # 1934939   | ver. 7 : 8  |  Matched 1  out of  2     |  Undo probability:  50 % =====^^

Version: 13 |  + 1  /  5    |    brother
Version: 12 |  - 1  /  5    |    brother
Version: 13 |  + 2  /  5    |    brother_and_sister
Version: 12 |  - 2  /  5    |    brother_and_sister
Version: 13 |  + 3  /  5    |    incest
Version: 12 |  - 3  /  5    |    incest
Version: 13 |  + 4  /  5    |    sibling
Version: 12 |  - 4  /  5    |    sibling
Version: 13 |  + 5  /  5    |    sister
Version: 12 |  - 5  /  5    |    sister
^^===== Post # 1934939   | ver. 12 : 13  |  Matched 5  out of  5     |  Undo probability:  100 % =====^^

I'm not used to coding, feedback is welcome.

If you want the script to go on by itself, set pause_console to 0 on line 31.

m3g4p0n1 said:
I can't just check if they are identical, because of cases where a tag was automatically added due to an alias or implication outside the user's control.

This is exactly what the DB exports are useful for.

wat8548 said:
This is exactly what the DB exports are useful for.

Oh, I was so focused on the post_versions that I forgot about that. >->

  • 1