Skip to content

Instantly share code, notes, and snippets.

@tomatosoupcan
tomatosoupcan / ml_scraper.py
Created April 24, 2023 12:49
Scrape Data from Music League for Analysis
import requests
import spotipy
import pandas as pd
from spotipy.oauth2 import SpotifyClientCredentials
#define api information
user = 'ml_userid'
base_url = 'https://app.musicleague.com/api/v1/'
url = base_url + 'users/' + user + '/leagues'
cookie = {'session':'session cookie from browser'}
@tomatosoupcan
tomatosoupcan / scrapevaccine.py
Created March 22, 2021 20:25
Scrapes Vaccines Data for Michigan and Plots It
from selenium import webdriver
import numpy as np
import matplotlib.pyplot as plt
import scipy.stats as stats
np.set_printoptions(suppress=True)
def moving_avg(x, n):
cumsum = np.cumsum(np.insert(x, 0, 0))
return (cumsum[n:] - cumsum[:-n]) / float(n)
@tomatosoupcan
tomatosoupcan / mouseit.py
Last active March 4, 2021 04:52
Draw an image into Jackbox Games
import mouse
import keyboard
import cv2
import numpy as np
import urllib.request
import pyautogui
import time
import math
from matplotlib import pyplot as plt
from matplotlib.patches import Circle
import re
import requests
from lxml import html
text = 'text goes here http://aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.com/AaaaaaaaaAAaAaAaaAAa click on that'
matches = re.findall('http[s]?://(?:[a-zA-Z]|[0-9]|[$-_@.&+]|[!*\(\),]|(?:%[0-9a-fA-F][0-9a-fA-F]))+', text)
gnomecount = 0
for match in matches:
@tomatosoupcan
tomatosoupcan / mouseit.py
Created August 10, 2020 20:53
A simple python script to draw web images into jackbox games
import mouse
import keyboard
import cv2
import numpy as np
import urllib.request
import pyautogui
import time
from matplotlib import pyplot as plt
from matplotlib.patches import Circle
import gc
@tomatosoupcan
tomatosoupcan / applymodels.lua
Last active June 5, 2020 19:05
Applies playersmodels for TTT2
--Turn off enforce playermodels everywhere you can
--Place in garrysmod/addons/applypmodels/lua/autorun/server on your server
roundon = false
hook.Add( "TTTPrepareRound", "SetRoundOn1" function()
roundon = false
end )
hook.Add( "TTTBeginRound", "UpdatePlayerModelsBegin", function()
roundon = true
for k, v in pairs ( player.GetAll() ) do
@tomatosoupcan
tomatosoupcan / index.js
Created May 27, 2020 05:46
Changes to Discord Bot for TTT
const Discord = require('discord.js');
const config = require('./config.json');
const {log,error} = console;
const http = require('http');
const fs = require('fs');
const PORT = config.server.port; //unused port and since now the OFFICIAL ttt_discord_bot port ;)
var guild, channel, channel2;
/**
* Portable utilities for IRC.
*/
(function() {
'use strict';
var IrcUtils = angular.module('IrcUtils', []);
IrcUtils.service('IrcUtils', [function() {
@tomatosoupcan
tomatosoupcan / mtg_replace.py
Last active May 15, 2018 14:42
Weechat Replace Scryfall MTG Shortcode
# -*- coding: utf-8 -*-
import weechat
import re
import urllib2
weechat.register("mtg_replace", "tomatosoup", "0.1", "GPL3", "replaces mtg shortcodes and resolves scryfall images and replaces those too", "", "UTF-8")
weechat.prnt(" ", "Hello world")
mtgmatch = re.compile("^(.*)(:mana(.*):)(.*)")
halfmatch = re.compile(".*https://scryfall.com/card.*utm_source=slack.*")