BryantD / swiftbar-plugins

Various SwiftBar plugins.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Bryant's SwiftBar Plugins

This repo contains various SwiftBar plugins I've written. They are not compatible with BitBar, because I take advantage of SwiftBar features (environment variables, SF Symbols).

All plugins are released under an MIT license.

cagematch-shows

Displays the ratings w/out results from the most recent match from a specified wrestling promotion; scrapes Cagematch for data.

Requirements

  • Python 3 (requests, BeautifulSoup)

Installation

By default, this plugin tracks NJPW shows. If you'd like to track another promotion, follow the optional steps as well.

  1. Download cagematch-shows.1h.py to your SwiftBar plugin folder

Optionally:

  1. Create a config folder inside your SwiftBar plugin folder

  2. Create a file in your config folder called cagematch-shows.ini

  3. Add the promotion name you'd like to track to that file, following the pattern here:

    [Config]
    promotion=World Wrestling Entertainment promotion_id=1

promotion_id is optional, but if you add it you'll save a HTTP call.

Usage

The show name and overall Cagematch rating (if any) is displayed in the menu bar. The drop down menu lists the matches, also with Cagematch ratings (if any). Select any match to go to the event page, which will show the card with ratings but no results.

To Do

  • Add a configurable filter to ignore shows (i.e., you might not care about AEW Elevation)
  • Improve promotion ID lookup by using search instead of scraping a huge pulldown menu

drivethrurpg-deal-day

Displays the current Deal of the Day at DriveThruRPG.

Requirements

  • Python 3 (requests, BeautifulSoup)

Installation

  1. Download drivethrurpg-deal-day.1d.py to your SwiftBar plugin folder

Usage

The item name and price displays in the menu bar. The drop down menu contains a list of rules systems the item works with. Click any rules system to go to the item page.

showdown-check

Displays the current Letterboxd showdown (see https://letterboxd.com/showdown/)

Requirements

Installation

  1. Download showdown-check.1d.sh to your SwiftBar plugin folder

That's it, no options.

Usage

One header line showing the current Letterboxd showdown (or None if none). For my own purposes, the script is also capable of running as a periodic standalone task that pops up a OS X notification if the showdown has changed.

wow-quest

A WoW world quest tracker (out of date as of recent patches).

Requirements

  • Python 3 (requests, BeautifulSoup)

Installation

  1. Download wow-quest.2h.py to your SwiftBar plugin folder
  2. Edit the configure() function to reflect your needs
    • emissaries_flagged is a list of full faction names
    • quests_flagged is a list of substrings to look for in the quest name
    • Other options should be fairly self-evident

Usage

Plugin example

A [!] icon shows up in the menu bar if there are any quests which match your flags; these will also be called out in the dropdown. Click on a quest to go to the quest's Wowhead page.

I happened to need to track BfA emissaries and SL world quests, so that's all this plugin tracks. If you need something else I'll happily take a pull request.

wow-ah

A very simple WoW auction house tracker. Unfortunately it currently requires some persistence to get it working.

Requirements

  • Python 3 (python-blizzardapi)

Installation

  1. Download wow-ah.1h.py to your SwiftBar plugin folder

  2. Generate a set of Blizzard API tokens here (you must have a Blizzard account)

  3. Create a config folder inside your SwiftBar plugin folder

  4. Create a file in your config folder called wow_ah.ini

  5. Add the API tokens and item information to that file, following the pattern here:

    [API]
    client_id=
    secret=

    [Server] connected_realm_id=

    [Item]
    item_name=<free form text, doesn't need to be the actual item name>
    item_id=
    context=<ID for the specific variant of an item (runecrafted base items have this)>

To find a realm ID, log into a character on the desired server and paste this string into chat:

/run local x=GetRealmID(); print("Realm ID: ", x)

To find an item_id, check Wowhead. The item ID is in the URL for any item page.

The context is optional; you don't need it unless you're looking for a specific variant of a multi-variant item. You can find the context number for an item via the WoW Auction House API. There is no documentation for this. I'll play with it more at some point and hopefully write better docs.

Usage

Really simple: you'll get a menu bar that shows the item name you specified and the price in gold. Silver and copper is rounded off.

Getting Help

You can email me at durrell@innocence.com, or file an issue in GitHub.

About

Various SwiftBar plugins.


Languages

Language:Python 91.1%Language:Shell 8.9%