ELDonation Tracker (Call for Features & Coders) - Extra Life JSON Code Discussion & Sharing - Extra Life Community Hub Jump to content
djotaku

ELDonation Tracker (Call for Features & Coders)

Recommended Posts

I'd announced this last year (http://community.extra-life.org/forums/topic/2755-donation-tracker-for-linux-streamers/), but realized that it should work just fine with Mac and Windows as it does with Linux.

 

A few days ago I got my first feature request on github:

 

https://github.com/djotaku/ELDonationTracker

 

(Aw! I've got big-boy project now!)

 

Planed for this year:

  • I'll be closing out that issue by adding in Team support.
  • Fixing the formatting so that money has 2 decimal places instead of just one.
  • I'll be switching to functional programming (vs the current script-like) to prepare for a GUI
  • I don't know if I'll get to a GUI this year, but I'm willing to merge code to do so. Why a GUI? I'd like to model it after @bfinleyui's utility where he has a main window that shows what's in the text files so that you don't need to open them all up to do a sanity check that it's pulling the correct data. He also has a second window he can spawn that's all black (for chroma key) that will update with a "DONATION Person's name - AMOUNT" that can be used in OBS or XSplit to let people know there are donations as they come in.He also allows you to use a JPEG or PNG along with it a la SteamAlerts. If I make a GUI it'll most likely be QTQuick for Linux as I have experience with that. I know both QT and GTK+ can also work on Windows, but if someone wanted to write a native WIndows client, that would work as well. It'd be nice if it worked with Python bindings so that the user doesn't have to compile anything to use the GUI. I know I can do that in Linux. Not sure about Windows.

 

Anything else you'd like to see? Feel free to file issues. Able to code GUIs? Feel free to join the project!

Share this post


Link to post
Share on other sites

OK, finished all those goals and am now working on the GUI.

 

Nice thing about the fact that I converted to functions is that it can now be imported as a library if you want to focus on GUIs or incorporating it into some other Python code you've got going on.

Share this post


Link to post
Share on other sites

OK, I've fixed it up to work with the new API! With @bfinleyui ending support on his Adobe Air app, I'll be actively working on my Python API so that I can use it on Windows as well. 

  • Like 1

Share this post


Link to post
Share on other sites

Been using it successfully for the past week. So far it's working well. I started work in a branch for a tkinter GUI:https://github.com/djotaku/ELDonationTracker/tree/tkinterGUI

 

For now I'm stuck on how to update the text. So I've moved to another approach where I create an HTML file. For the sanity check you can just load it into a browser and it'll update every 30 seconds. For the Steamalerts functionality - you can add that webpage as a source in OBS and it'll work OK. Once I get it working relatively well, I'll add that into Github for others to test and potentially contribute to.

Share this post


Link to post
Share on other sites

I've updated the commandline interface to be Python3! Hurray! I've also implemented unit tests which ended up catching an error in one of my functions. Software testing, ftw! Now that I'm in Python3 I hope to be able to support emojis and non-ascii characters. This is in the main git branch: https://github.com/djotaku/ELDonationTracker

Share this post


Link to post
Share on other sites

I've just added a video on Youtube on how to use it!

 

Share this post


Link to post
Share on other sites

And now a video for how to use it on Windows:

 

 

Share this post


Link to post
Share on other sites

New version released! It's all object-oriented now in preparation for finally getting a GUI working. At this time the important user-facing change is moving the user options out into another file rather than having them edit the main file. So, videos to go along with the new procedures!

 

https://youtu.be/sKaFQPoQeJw

 

https://youtu.be/hN94aPcEFng

Share this post


Link to post
Share on other sites

Finally got the GUI working. Here are videos for that!

 

Linux: 

 

and Windows video coming a little later tonight.

 

Share this post


Link to post
Share on other sites

Hey Eric,

 

Loving this application! I was wondering if you have any plans for adding team info functionality soon. I would love to use this app this year for my team.

Share this post


Link to post
Share on other sites
9 hours ago, Keegan said:

Hey Eric,

 

Loving this application! I was wondering if you have any plans for adding team info functionality soon. I would love to use this app this year for my team.

Sure, I can get that into the next milestone.

 

In the past, I've captured the goal, sum of the donations, and top members. Looking at the current donor drive API (https://github.com/DonorDrive/PublicAPI/blob/master/docs/1.0/resources/teams.md ) I'm not sure if the top members is available anymore - I'm going to have to do some experimentation. Of the other fields available, the ones that make sense to me that someone might be interested in are the name and the team captain. Edit to add: it actually is there, just documented in a different part of the API.

 

What team data would you be interested in?

Edited by djotaku

Share this post


Link to post
Share on other sites
2 hours ago, djotaku said:

Sure, I can get that into the next milestone.

 

In the past, I've captured the goal, sum of the donations, and top members. Looking at the current donor drive API (https://github.com/DonorDrive/PublicAPI/blob/master/docs/1.0/resources/teams.md ) I'm not sure if the top members is available anymore - I'm going to have to do some experimentation. Of the other fields available, the ones that make sense to me that someone might be interested in are the name and the team captain. Edit to add: it actually is there, just documented in a different part of the API.

 

What team data would you be interested in?

I was actually looking for total donations for the team, that way my group would be able to catch every donation even if it is not made to a specific member.

Share this post


Link to post
Share on other sites
21 hours ago, djotaku said:

Sure, I can get that into the next milestone.

 

In the past, I've captured the goal, sum of the donations, and top members. Looking at the current donor drive API (https://github.com/DonorDrive/PublicAPI/blob/master/docs/1.0/resources/teams.md ) I'm not sure if the top members is available anymore - I'm going to have to do some experimentation. Of the other fields available, the ones that make sense to me that someone might be interested in are the name and the team captain. Edit to add: it actually is there, just documented in a different part of the API.

 

What team data would you be interested in?

I actually managed to learn enough coding in python to make a simple tool to do exactly what I needed. If you still want to update this for other people in the community, feel free, but I am all set for this year.

 

Thanks for the help!

Share this post


Link to post
Share on other sites
3 hours ago, Keegan said:

I actually managed to learn enough coding in python to make a simple tool to do exactly what I needed. If you still want to update this for other people in the community, feel free, but I am all set for this year.

 

Thanks for the help!

 

No worries. I already started work on it, so feel free to come back and check on what I put together in case it meets your needs and allows it all to be in one program.

Share this post


Link to post
Share on other sites

Another release!

 

@Keegan it includes Team Data, so if you want, feel free to come back over to the software.

 

Here are the release notes:

 

1. I move to semantic versioning which is recommended by Github and is also more Pythonic. So instead of going by date on the tags, we're now on v.1.9.2. v2.0 - FYI - is going to be the first ready-to-go GUI version.

2. Team data is now generated! This release includes:

- Team_captain.txt
- Team_goal.txt
- Team_numDonations.txt
- Team_Top5ParticipantsHorizontal.txt
- Team_Top5Participants.txt
- Team_TopParticipantNameAmnt.txt
- Team_totalRaised.txt

Thanks to Keegan over on the Extra Life community forums for asking for Team data. There's more I hope to do with the Team data, but if there's something specific you want, open a feature request issue.

The next release should be to include the Team info on the GUI!

From now until game day there might be a higher level than usual of releases, so keep checking back!

If you're a GUI user:
pyinstaller created releases that will allow you to run this program even if you don't have Python or the necessary libraries installed. If you grab the Linux install - you will need to grab participant.conf and Engineer.png from the Github repo and put it into the dist/gui folder. (Just growing pains on learning Github's CI)

If you prefer to use the commandline utilities without the GUI, just download the source code.tar.gz (Linux) or source code.zip file (Windows). New for YOU this release:
Addition of requirements.txt so that you can do a pip3 install -r requirements.txt and it will grab any packages you need.

Please file any bug reports on either the GUI or the commandline!

Enjoy!

Share this post


Link to post
Share on other sites

A new release to get the Team info into the GUI! (https://github.com/djotaku/ELDonationTracker/releases/tag/v1.9.3) Now it's probably going to be a bit until the next release so I can finalize the GUI stuff.

 

Release notes:

Another day, another release!

Team data will now appear on the GUI after your first run with the Team ID filled out in the settings. (And remember to hit 'save')

As a reminder, the team data is:

  • Team_captain.txt
  • Team_goal.txt
  • Team_numDonations.txt
  • Team_Top5ParticipantsHorizontal.txt
  • Team_Top5Participants.txt
  • Team_TopParticipantNameAmnt.txt
  • Team_totalRaised.txt

I'm hoping to make the next release the 2.0 release that gets the GUI out of beta.

From now until game day there might be a higher level than usual of releases, so keep checking back!

If you're a GUI user:
pyinstaller created releases that will allow you to run this program even if you don't have Python or the necessary libraries installed. If you grab the Linux install - you will need to grab participant.conf and Engineer.png from the Github repo and put it into the dist/gui folder. (Just growing pains on learning Github's CI)

If you prefer to use the commandline utilities without the GUI, just download the source code.tar.gz (Linux) or source code.zip file (Windows). New for YOU this release:
Addition of requirements.txt so that you can do a pip3 install -r requirements.txt and it will grab any packages you need.

Please file any bug reports on either the GUI or the commandline!

Enjoy!

Share this post


Link to post
Share on other sites

It's been a few releases since I last posted. I'm now at v2.2. https://github.com/djotaku/ELDonationTracker/releases/tag/v2.2 Because of all the new features I'll be recording a new instructional video this weekend if all goes well.

 

Release notes:

ot exactly a superstitious person, but release 13 had an issue I immediately discovered upon release - it doesn't handle anonymous donors well. So this fix handles that. Found it when testing against another user's donors.

Note:
You can select a sound file to play when you get a donation. I've provided on called Donation.mp3 that you'll find in the same directory as the files. You will need to manually add it via the settings because, unlike the image file, it needs to know exactly where it is on your computer.

I plan to record some new instructional videos soon.

If you're a GUI user:
pyinstaller created releases that will allow you to run this program even if you don't have Python or the necessary libraries installed.

If you prefer to use the commandline utilities without the GUI, just download the source code.tar.gz (Linux) or source code.zip file (Windows).

Please file any bug reports on either the GUI or the commandline!

Enjoy!

Share this post


Link to post
Share on other sites

video tutorial for using v2.2 on Windows is now live:

 

 

Share this post


Link to post
Share on other sites

video tutorial for release v2.2 on Linux is now live:

 

 

Share this post


Link to post
Share on other sites

If you're following this topic to see when I have a new release - please switch over to following

 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...