Upvote Upvoted 17 Downvote Downvoted
Python Logs.TF Stats Calculator v2
posted in Projects
1
#1
0 Frags +

Throughout the last four days I've been working on a python script that searches through all of an inputted steamID's logs.tf pages. It can output many different things depending on what you want to search for, such as average dpm, total caps, total time played on a class, etc.
It's fully customizable, offering a wide range of search terms and various log type separation. This is the second version of an older script that was posted about a week back, here are all the new additions and changes:

Features:

  • Date Range Filtering
  • Gamemode Separation
  • Class Separation

For Specified Classes:
Total Kills
Total Deaths
Total Damage

Average Kills per 30m
Average Deaths per 30m

Total DPM
Total K/D
Total Time Played

Also Includes:

  • Total Caps
  • Combined version of specified class's stats
  • Intuitive UI

This is my first large-scale python project, so you're gonna have to live with the occasional error / crash / miscalculation. If you run into a bug and you're willing to report it, please let me know the inputs you gave leading up to it and I'll try to fix whatever went wrong in the code. I'll update the download link for every patch that's made.

If you have a logs.tf profile with over 10,000 logs, it'll only include the first 10,000 logs. This is due to the maximum amount of logs that logs.tf can show on the json version of a player profile. However, the script will now skip 'broken / old logs', so logs from before 2013 won't be included anyway. I tested it on b4nny's account and let it run while I went out to eat. His 9,700 logs look just under 2 hours to iterate through.

Download

Source Code

To do:
Utilize multithreading to speed up search times
Airshot calculator
Heal stats calculator

Throughout the last four days I've been working on a python script that searches through all of an inputted steamID's logs.tf pages. It can output many different things depending on what you want to search for, such as average dpm, total caps, total time played on a class, etc.
It's fully customizable, offering a wide range of search terms and various log type separation. This is the second version of an older script that was posted about a week back, here are all the new additions and changes:

[b][u]Features:[/u][/b]
[list]
[*] Date Range Filtering
[*] Gamemode Separation
[*] Class Separation
[/list]

[u]For Specified Classes:[/u]
Total Kills
Total Deaths
Total Damage

Average Kills per 30m
Average Deaths per 30m

Total DPM
Total K/D
Total Time Played

[u]Also Includes:[/u]
[list]
[*] Total Caps
[*] Combined version of specified class's stats
[*] Intuitive UI
[/list]

This is my first large-scale python project, so you're gonna have to live with the occasional error / crash / miscalculation. If you run into a bug and you're willing to report it, please let me know the inputs you gave leading up to it and I'll try to fix whatever went wrong in the code. I'll update the download link for every patch that's made.

If you have a logs.tf profile with over 10,000 logs, it'll only include the first 10,000 logs. This is due to the maximum amount of logs that logs.tf can show on the json version of a player profile. However, the script will now skip 'broken / old logs', so logs from before 2013 won't be included anyway. I tested it on b4nny's account and let it run while I went out to eat. His 9,700 logs look just under 2 hours to iterate through.

[url=https://mega.nz/file/WCYmlJhY#w4-IcpUH4Xp79SsFwbPQj1pwYBgysQ6znTlem-7d1C0]Download[/url]

[url=https://pastebin.com/5nfyyZxk]Source Code[/url]

[u]To do:[/u][b][/b]
Utilize multithreading to speed up search times
Airshot calculator
Heal stats calculator
2
#2
tf2pickup.org
-2 Frags +
mimkyMy reasoning for this is that the json version of a logs.tf page contains in-game chat logs. I don't want this to be ripped by RGL admins and used to go through everything a specific steamID has said in their logs. It's very easy to just change a couple search terms to accomplish this, so I'll be keeping it private. Being an RGL contributor isn't something I'd like to be known by.

Fine, I'll do it myself.

[quote=mimky]
My reasoning for this is that the json version of a logs.tf page contains in-game chat logs. I don't want this to be ripped by RGL admins and used to go through everything a specific steamID has said in their logs. It's very easy to just change a couple search terms to accomplish this, so I'll be keeping it private. Being an RGL contributor isn't something I'd like to be known by.[/quote]
Fine, I'll do it myself.
3
#3
0 Frags +

Cool project. Would be good to show heal stats similar to what logs.tf shows you.

Cool project. Would be good to show heal stats similar to what logs.tf shows you.
4
#4
3 Frags +

Getting a lot of "log appears to be broken/outdated (Skipped)" Especially with later logs. Think the last 100 or so of mine were all broke

Getting a lot of "log appears to be broken/outdated (Skipped)" Especially with later logs. Think the last 100 or so of mine were all broke
5
#5
0 Frags +

i didnt do any filtering and it didnt show stats for heavy

i didnt do any filtering and it didnt show stats for heavy
6
#6
4 Frags +

Cool idea but downloading a .exe is a little sus lol can you link the original python source? (or host a webapp that does it or something) Also multithreading in python isn't too bad, you should be able to speed up the 2 hour run time to look through 10,000 logs if you haven't done that already.

Cool idea but downloading a .exe is a little sus lol can you link the original python source? (or host a webapp that does it or something) Also multithreading in python isn't too bad, you should be able to speed up the 2 hour run time to look through 10,000 logs if you haven't done that already.
7
#7
2 Frags +
bearodactylCool idea but downloading a .exe is a little sus lol can you link the original python source? (or host a webapp that does it or something) Also multithreading in python isn't too bad, you should be able to speed up the 2 hour run time to look through 10,000 logs if you haven't done that already.

I'm definitely considering making it open source, if enough people ask for it then I'll probably post it. Utilizing multithreading in this project is actually kind of a beast idea, I'll give it a go soon.

Edit: Decided to just say fuck it and post SC. Enjoy!

[quote=bearodactyl]Cool idea but downloading a .exe is a little sus lol can you link the original python source? (or host a webapp that does it or something) Also multithreading in python isn't too bad, you should be able to speed up the 2 hour run time to look through 10,000 logs if you haven't done that already.[/quote]

I'm definitely considering making it open source, if enough people ask for it then I'll probably post it. Utilizing multithreading in this project is actually kind of a beast idea, I'll give it a go soon.

Edit: Decided to just say fuck it and post SC. Enjoy!
8
#8
2 Frags +
Moisti didnt do any filtering and it didnt show stats for heavy

Turns out the script was using the search term "heavy" instead of "heavyweapons". Should be fixed now, download link has been updated.

[quote=Moist]i didnt do any filtering and it didnt show stats for heavy[/quote]

Turns out the script was using the search term "heavy" instead of "heavyweapons". Should be fixed now, download link has been updated.
9
#9
3 Frags +

Feel free to keep posting suggestions everybody, I'd love to expand on this project more.

Feel free to keep posting suggestions everybody, I'd love to expand on this project more.
10
#10
2 Frags +

airshots check
the real accuracy would b cool too

airshots check
the real accuracy would b cool too
11
#11
1 Frags +

https://imgur.com/a/Ik00h73

Still getting the errors every third of fourth log.
Happens from about 10% onwards.

https://imgur.com/a/Ik00h73

Still getting the errors every third of fourth log.
Happens from about 10% onwards.
Please sign in through STEAM to post a comment.