djotaku's Content - Extra Life Community Hub Jump to content

djotaku

Members
  • Content Count

    157
  • Joined

  • Last visited

  • Days Won

    1

Posts posted by djotaku


  1. Current Release: v3.0

    Release URL: https://github.com/djotaku/ELDonationTracker/releases/tag/v3.0

     

    Release notes:

    Lots and lots of changes - some user-facing and some in the background, running more efficiently. (Or more maintain-ably)

    • In the GUI start/stop should reload the config now - no more need to restart the GUI. So if you change something in the configuration after you've started running the script, just hit stop and start again.
    • I have added the ability to persist the settings. No longer do you have to re-enter your settings when you upgrade. It will save to the XDG-recommended location on Linux and the equivalent on Windows. Because of this, the config file has a version now (in case I add new fields). When you start the GUI with an outdated version it will ask if you want to start from scratch or update your configs by opening settings, double-checking what's there and hitting save (or persist - depending on whether you want to persist your settings or just save within the folder you just extracted).
    • You now have the ability to change number of donations put into the text files. So if you want to display more than 5 donations on the screen (vertically or horizontally) you can now show any arbitrary number of donors and donations. See the settings button (or file) for that option.
    • I do have one "breaking" change for this release - some of the filenames have changed both to reflect the fact it no longer saves only 5 donations or donors and because I've realized that there is a difference in the API between donors and donations.

    So enjoy all that!

    With all those changes there's bound to be a bug that slipped in there (I hope not, but .... I'm only human) so please file an issue if anything is not working correctly.

     

    New tutorial videos:

     

     


  2. Different issue I'm noticing. Maybe I'm hitting the API too much post DDOS? But I amd getting connection timeout errors. If you could take a quick peek and let me know what you think -

     

    https://github.com/djotaku/ELDonationTracker

     

    I haven't changed anything in extralifedonations.py since before the DDOS.  Lines 172-203 govern the loop. I have it sleeping 30 seconds between each iteration. However, within that 30 seconds I hit at least 4 times - participant, donors, team, team donors. Is that too much now? Is there a more efficient way that's more compliant in the post-DDOS world?


  3. Rather than continue to hijack the thread where I was calling for features and coders, I'm starting this new thread for new releases. Of course, you can always subscribe to the releases on github.

     

    Github page: https://github.com/djotaku/ELDonationTracker

     

    What does this software do? Well, on either Windows or Linux (wherever you choose to game) you can run this program with a GUI or on the commandline to generate text files from the Extra Life data. You can then use these text files in OBS or XSplit to update as donations come in as you play.

     

    Current release: v2.2.3 - https://github.com/djotaku/ELDonationTracker/releases/tag/v2.2.3  See below for v3.0!!!

    I'm about to release v2.5, but it doesn't add any extra functionality. It adds in unit tests for people who want to help with development and for me as I refactor the code for better maintenance.

     

    If you have issues and need a bug fix, the best and fastest way to contact me is by making an issue on Github. (That's basically a bug report, but you can also use it for a feature request) Second best would be in this thread.

     

    I've got a bunch of instructions on the github page on how to use the software. But I'll copy into here the current videos of how to use it:

     

     

     


  4. Hey Tim,

     

    Is this a new requirement post-DDOS? I've been using the code without HTTPS all 2019 (and previously, of course). My code https://github.com/djotaku/ELDonationTracker does not use HTTPS, but that's why I tried it on the commandline in my previous post

     

    Quote

    >>> url="https://www.extra-life.org/api/participants/348774"
    >>> urllib.request.urlopen(url)
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
      File "/usr/lib64/python3.7/urllib/request.py", line 222, in urlopen
        return opener.open(url, data, timeout)
      File "/usr/lib64/python3.7/urllib/request.py", line 531, in open
        response = meth(req, response)
      File "/usr/lib64/python3.7/urllib/request.py", line 641, in http_response
        'http', request, response, code, msg, hdrs)
      File "/usr/lib64/python3.7/urllib/request.py", line 569, in error
        return self._call_chain(*args)
      File "/usr/lib64/python3.7/urllib/request.py", line 503, in _call_chain
        result = func(*args)
      File "/usr/lib64/python3.7/urllib/request.py", line 649, in http_error_default
        raise HTTPError(req.full_url, code, msg, hdrs, fp)
    urllib.error.HTTPError: HTTP Error 403: Forbidden

     

    and that failed for some reason. But github with https didn't give me that warning.

     

    edit to add, not sure what this guy's code is doing, but it's another complaint of python not workign:

     


  5. Sure. I did a quick sample call:

    Python 3.7.4 (default, Jul  9 2019, 16:32:37)
    [GCC 9.1.1 20190503 (Red Hat 9.1.1-1)] on linux
    Type "help", "copyright", "credits" or "license" for more information.
    >>> import urllib.request
    >>> url="http://www.extra-life.org/api/participants/348774"
    >>> urllib.request.urlopen(url)
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
      File "/usr/lib64/python3.7/urllib/request.py", line 222, in urlopen
        return opener.open(url, data, timeout)
      File "/usr/lib64/python3.7/urllib/request.py", line 531, in open
        response = meth(req, response)
      File "/usr/lib64/python3.7/urllib/request.py", line 641, in http_response
        'http', request, response, code, msg, hdrs)
      File "/usr/lib64/python3.7/urllib/request.py", line 569, in error
        return self._call_chain(*args)
      File "/usr/lib64/python3.7/urllib/request.py", line 503, in _call_chain
        result = func(*args)
      File "/usr/lib64/python3.7/urllib/request.py", line 649, in http_error_default
        raise HTTPError(req.full_url, code, msg, hdrs, fp)
    urllib.error.HTTPError: HTTP Error 403: Forbidden

     

    And if I visit that url in my browser it works. Now, the browser changes it to HTTPS, so I wanted to double-check that:

     

    >>> url="https://www.extra-life.org/api/participants/348774"
    >>> urllib.request.urlopen(url)
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
      File "/usr/lib64/python3.7/urllib/request.py", line 222, in urlopen
        return opener.open(url, data, timeout)
      File "/usr/lib64/python3.7/urllib/request.py", line 531, in open
        response = meth(req, response)
      File "/usr/lib64/python3.7/urllib/request.py", line 641, in http_response
        'http', request, response, code, msg, hdrs)
      File "/usr/lib64/python3.7/urllib/request.py", line 569, in error
        return self._call_chain(*args)
      File "/usr/lib64/python3.7/urllib/request.py", line 503, in _call_chain
        result = func(*args)
      File "/usr/lib64/python3.7/urllib/request.py", line 649, in http_error_default
        raise HTTPError(req.full_url, code, msg, hdrs, fp)
    urllib.error.HTTPError: HTTP Error 403: Forbidden

     

    And just to make sure it's not my machine:

     

    >> url="https://www.github.com"
    >>> urllib.request.urlopen(url)
    <http.client.HTTPResponse object at 0x7f4ba7254f10>

     

    Thanks!


  6. 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!


  7. 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!


  8. 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!


  9. 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.


  10. 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?

×
×
  • Create New...