Examine individual changes
This page allows you to examine the variables generated by the Abuse Filter for an individual change.
Variables generated for this change
Variable | Value |
---|---|
Edit count of the user (user_editcount) | 54 |
Name of the user account (user_name) | 'TheMCoder' |
Age of the user account (user_age) | 26969053 |
Page ID (page_id) | 22884 |
Page namespace (page_namespace) | 0 |
Page title (without namespace) (page_title) | '~ATH implementation attempt' |
Full page title (page_prefixedtitle) | '~ATH implementation attempt' |
Action (action) | 'edit' |
Edit summary/reason (summary) | '' |
Old content model (old_content_model) | 'wikitext' |
New content model (new_content_model) | 'wikitext' |
Old page wikitext, before the edit (old_wikitext) | 'This is my attempt at making [[~ATH]] via python.
All credit for the concept goes to Andrew Hussie.
== Syntax ==
It follows standard ~ATH code with a few differences. If you need a refresher, follow this link: [[~ATH]]<br>
First, it does not allow loops inside of loops. I might add that later. Second, the execute command only works for python files. Lastly, THIS.die() is required, if it is not added, an error will be returned.
=== Examples ===
A basic program would be
~ATH(Taskmgr.exe){}execute(test.py);
THIS.die()
and assuming that test.py is in the same folder with the following contents:
print("Hello, World!")
and that the program is running on windows(I do not know if psutil supports the other Oses)
It will return "Hello, World!" once Task Manager quits
== My Code ==
import psutil
import argparse
import string
command = ""
parser = argparse.ArgumentParser()
parser.add_argument("file", type=str)
parser.parse_args()
file = open(parser.parse_args().file, "r").read().replace('\n', '').split(';')
def is_process_running(process_name):
for process in psutil.process_iter(['name']):
if process.info['name'] == process_name:
return True
return False
def main():
if not "THIS.die()" in file:
print("Error: This.die() not found")
return
for line in file:
if line.startswith('~ATH('):
process_name = line.split('(')[1].split(')')[0]
while is_process_running(process_name):
pass
if line.split('{')[1].split('(')[0] == "execute":
program_name = line.split('(')[2].split(')')[0]
if program_name != "NULL":
exec(open(program_name, "r").read())
else:
print("Error: Invalid no execute() found. Use execute(program_name); at the end of the ~ATH command.
If you do not want to do anything, use execute(NULL); instead.")
if __name__ == "__main__":
main()' |
New page wikitext, after the edit (new_wikitext) | 'This is [[User:TheMCoder|User:TheMCoder]]'s attempt at making [[~ATH]] via python.
All credit for the concept goes to Andrew Hussie.
== Syntax ==
It follows standard ~ATH code with a few differences. If you need a refresher, follow this link: [[~ATH]]<br>
First, it does not allow loops inside of loops. I might add that later. Second, the execute command only works for python files. Lastly, THIS.die() is required, if it is not added, an error will be returned.
=== Examples ===
A basic program would be
~ATH(Taskmgr.exe){}execute(test.py);
THIS.die()
and assuming that test.py is in the same folder with the following contents:
print("Hello, World!")
and that the program is running on windows(I do not know if psutil supports the other Oses)
It will return "Hello, World!" once Task Manager quits
== My Code ==
import psutil
import argparse
import string
command = ""
parser = argparse.ArgumentParser()
parser.add_argument("file", type=str)
parser.parse_args()
file = open(parser.parse_args().file, "r").read().replace('\n', '').split(';')
def is_process_running(process_name):
for process in psutil.process_iter(['name']):
if process.info['name'] == process_name:
return True
return False
def main():
if not "THIS.die()" in file:
print("Error: This.die() not found")
return
for line in file:
if line.startswith('~ATH('):
process_name = line.split('(')[1].split(')')[0]
while is_process_running(process_name):
pass
if line.split('{')[1].split('(')[0] == "execute":
program_name = line.split('(')[2].split(')')[0]
if program_name != "NULL":
exec(open(program_name, "r").read())
else:
print("Error: Invalid no execute() found. Use execute(program_name); at the end of the ~ATH command.
If you do not want to do anything, use execute(NULL); instead.")
if __name__ == "__main__":
main()' |
Unified diff of changes made by edit (edit_diff) | '@@ -1,3 +1,3 @@
-This is my attempt at making [[~ATH]] via python.
+This is [[User:TheMCoder|User:TheMCoder]]'s attempt at making [[~ATH]] via python.
All credit for the concept goes to Andrew Hussie.
' |
New page size (new_size) | 2027 |
Old page size (old_size) | 1994 |
Lines added in edit (added_lines) | [
0 => 'This is [[User:TheMCoder|User:TheMCoder]]'s attempt at making [[~ATH]] via python.'
] |
Unix timestamp of change (timestamp) | '1749622692' |