Skip to content

Instantly share code, notes, and snippets.

#!/usr/bin/env python3
# Scrapes breeding combinations + Monster Stats from Siralim Wiki and writes them to a csv file
import csv
import requests
import re
from bs4 import BeautifulSoup
with open('Breeding_Combinations.csv', 'w', newline='') as csvfile:
print('Starting Breeding Combinations write...')
writer = csv.writer(csvfile, quoting=csv.QUOTE_MINIMAL)
(function(){
var csv = require('fast-csv');
var jsonfile = require('jsonfile');
var monsters = {};
var skipHeaderRow = true;
var inputFile = "Breeding_Combinations.csv"; // implied to sibling of convert_siralim_csv.js
var outputFile = "MonsterInfo.json"; // explicitly sibling of convert_siralim_csv.js
var csvMap = [ // maps row columns to property names
"family",
"offspring",
@sleepygarden
sleepygarden / deobfuscate.js
Created April 6, 2016 19:17
Partially deobfuscated hexasphere.js april fools day joke - http://pub.ist.ac.at/~edels/hexasphere/
function canvasApp() {
if (!canvasSupport()) {
return;
}
var canvas = document.getElementById('canvasOne');
var ctx = canvas.getContext('2d');
setup();
@sleepygarden
sleepygarden / uploadHandler.js
Created February 8, 2016 19:02
Handle click to upload and drag to upload
function init(){
// default behavior is always show copy icon, open file in new window. override that!
window.addEventListener('dragover', function(e){
e.stopPropagation();
e.preventDefault();
e.dataTransfer.dropEffect = 'none';
});
window.addEventListener('drop', function(e){
e.stopPropagation();
e.preventDefault();
@sleepygarden
sleepygarden / arc-storage.js
Created December 2, 2015 21:38
ARC Storage - localStorage which syncs across tabs and clears once all tabs using it are gone
// ARC Storage - localStorage which syncs across tabs and clears once all tabs using it are gone.
// refreshing with a single tab open also wipes it
// tries awful hardto match the Storage API, but uses
var ARCStorage = (function(){
var arcStorage = {}, arcStoreSharers = 0, didInitSync = false;
$(window).focus(function() {
sync();
});
@sleepygarden
sleepygarden / clickgasm.py
Created June 7, 2014 20:41
Clickgasm.py - You ever wanna click something on OSX, like, really really fast?
"""
clickgasm.py, clicks an x,y point n times on OSX realllly fast
usage: "python clickgasm.py <click x,click y> <loop count>"
sleepygarden 2014
"""
import sys
import time
import datetime
@sleepygarden
sleepygarden / supermoji.py
Last active August 29, 2015 14:01
Supermoji - make your Hipchat emojis super!
# all forms must be the same height. each line in a form must be the same width, but each form's width may differ. blank lines are permitted at the top and bottom of each form.
A = """
XXXX
X X
XXXX
X X
X X
"""
B = """
XXX
@sleepygarden
sleepygarden / PListValidation.h+m
Created April 10, 2014 19:25
Validates NSDictionaries and NSArrays to check if they can writeToFile: (and are a valid PList)
//
// PListValidation.h
// Created by Michael Cornell on 4/8/14.
// Beerware License
//
// Validates Dictionaries and Arrays to check if they can writeToFile: (and are a valid PList)
#import <Foundation/Foundation.h>
@interface NSDictionary (PListValidation)
@sleepygarden
sleepygarden / unicode_clippy.py
Created September 27, 2013 21:09
trying to make sense of unicode_ebooks
# -*- coding: utf-8 -*-
import sys
import enchant
"""
trying to make sense of unicode_ebooks
you need pyenchant:
brew install enchant
pip install pyenchant
"""
@sleepygarden
sleepygarden / finger.py
Last active December 24, 2015 01:29
the finger, she flips
# -*- coding: utf-8 -*-
"""
useage: import finger
finger.flip()
"""
finger = """
/´¯/)
,/¯ /
/ /
/´¯/' '/´¯¯`·¸