Skip to content

Instantly share code, notes, and snippets.

@tclancy
tclancy / MockElement.ts
Created Jul 13, 2021 — forked from fredyfx/MockElement.ts
Mock DOM Document and Element in TypeScript for Unit testing in Headless environment.
View MockElement.ts
/*
This can be used in unit tests to simulate a DOM document.
I have implemented the bare minimum. Feel free to add more, or to change my implementation.
Sample Usage:
import 'jasmine';
import { MockElement } from './support/mock-element';
@tclancy
tclancy / azure-pipelines.yml
Last active May 28, 2021
Microsoft Dynamics Power Apps Azure Build Pipeline
View azure-pipelines.yml
# Because there's nothing easily google-able for how to do this, here's
# a script to show the "basics" and create a permanent memorial to the
# week of my life it took to learn this
# 1. Install the Power Apps CLI via Powershell
# 2. Install node
# 3. Add node and install pcf-scripts (https://www.npmjs.com/package/pcf-scripts)
# 4. Run pcf scripts
# 5. Run msbuild on project file(s)
# 6. Run deployment Powershell script which looks like this:
# Install-Module Microsoft.Xrm.Data.PowerShell -Scope CurrentUser -Force
@tclancy
tclancy / newyorker-to-spotify.py
Last active Feb 4, 2021
Sends the items in The New Yorker's Night Life Listings to a Spotify Playlist
View newyorker-to-spotify.py
#!/usr/bin/env python3
import logging
from bs4 import BeautifulSoup
import requests
import spotipy
from spotipy.oauth2 import SpotifyOAuth
logger = logging.getLogger(__name__)
@tclancy
tclancy / problems.py
Last active Apr 11, 2022
Simple math problems for practice
View problems.py
#!/usr/bin/env python3
#-*- coding: utf-8 -*-
from functools import reduce
import operator
from random import randrange
from typing import Sequence
PROMPT = "What's the answer? "
@tclancy
tclancy / pre-commit.sh
Created May 29, 2018
Test Bash Script for Hook
View pre-commit.sh
#!/usr/bin/env bash
files=$(git diff --cached --name-only --staged --diff-filter=ACM WA-2310 | grep '\.jsx\?$')
echo ${files} | xargs eslint
@tclancy
tclancy / pywapi.py
Created Aug 2, 2017
pywapi 0.3.8 because it's a pain in the ass to find
View pywapi.py
#!/usr/bin/python
# -*- coding: utf-8 -*-
### BEGIN LICENSE
#Copyright (c) 2009 Eugene Kaznacheev <qetzal@gmail.com>
#Copyright (c) 2013 Joshua Tasker <jtasker@gmail.com>
#Permission is hereby granted, free of charge, to any person
#obtaining a copy of this software and associated documentation
#files (the "Software"), to deal in the Software without
#restriction, including without limitation the rights to use,
@tclancy
tclancy / backup_data_to_amazon.py
Created May 14, 2017
Django management command to tar files and send to S3
View backup_data_to_amazon.py
import datetime
import os
import tarfile
import time
from django.conf import settings
from django.core.mail import mail_admins
from django.core.management.base import BaseCommand
from boto.s3.connection import S3Connection
@tclancy
tclancy / TableVerticalSplitHack.js
Created Apr 26, 2017 — forked from vstefanoxx/TableVerticalSplitHack.js
Script to automatically split wide HTML tables that doesn't fit the width of the PDF page generated by WkHtmlToPdf (or equivalent). From an idea of Florin Stancu <niflostancu@gmail.com> and his script wkhtmltopdf.tablesplit.js, this implementation is quite different because the splitting is done vertically on a excessive wide table, while the or…
View TableVerticalSplitHack.js
/**
* WkHtmlToPdf table vertically-splitting hack
* Script to automatically split wide HTML tables that doesn't fit the width of the PDF page generated
* by WkHtmlToPdf (or equivalent)
*
* The general idea come from Florin Stancu <niflostancu@gmail.com> and his script wkhtmltopdf.tablesplit.js
* The implementation is quite different because the splitting is done vertically on a excessive
* wide table, while the original script was meant to split horizontally an excessive long table
*
* To use, you must adjust pdfPage object's contents to reflect your PDF's
@tclancy
tclancy / dashboard.js
Created Feb 3, 2017
vue.js example code
View dashboard.js
var app = new Vue({
http: {
headers: {
"X-CSRFToken": window.csrf_token
}
},
el: "#admin-dash-users",
data: {
addresses: [],
count: 0,
@tclancy
tclancy / pre-commit
Created Oct 7, 2016
git pre-commit hook for Python linting, image CRUSHING and a bit of JavaScript hygiene
View pre-commit
#!/usr/bin/env bash
rc=0
head=`git symbolic-ref HEAD`
#if echo $head | grep -E 'releases?/[0-9]\.[0-9]+|master'
#then
# echo "You cannot commit directly to a release branch"
# echo "Stash your changes and apply them to another branch"
# echo "or create a branch directly from these changes"