Skip to content

Instantly share code, notes, and snippets.

View catermelon's full-sized avatar
🚩
oh no

Rachelle Green catermelon

🚩
oh no
View GitHub Profile
@catermelon
catermelon / me.pub
Created February 12, 2022 06:01
gpg public key
-----BEGIN PGP PUBLIC KEY BLOCK-----
mQINBGIHRHkBEADocq8TrwFZB4JjEgjzCCm7qakBf7VcNjl3ZaXTWC7o/mnpf3Ts
MasFXmi01c/F3jiowJstsrbLdCuYTr9vNegURF/BvGSIMpcwz3bNW9hz/HCrhqzw
jVo9JfER/mg+yJGIvFj3eqwNDg0pHI3iWXEgdbCBrQKgJTNjhQRfuqJCuPCAie4A
vX0G57qoQMu82q7K5D9uNRSd5+9PGWsypNTQVU/45gQa6WEXLWOYaw5ZChmhGQcV
AwnYWTxv3TK0WPbQRtpxcR1HqRtjugAV61YvIaaeWxqsXNnYkyYzC1WiLuhRqpLV
+oFbQyubwKT1D3PF9UkKKZLUgvI9MsQdGA5BUQNaxn0UkZc4t43FV2hJTG1t52iu
4mqPMAYsHpIug1BWFXqvkyTnOhfr6TUgle21/Qt7+KLdX+cR79ISn9WHBNf93+0H
vRb/Y1KH6dQP9ZwIWLF/N9gd9GD7r7zfcR4UsBnaSI2ZdoDqkyerWyascSaeOLVw

Keybase proof

I hereby claim:

  • I am catermelon on github.
  • I am ohnorainbow (https://keybase.io/ohnorainbow) on keybase.
  • I have a public key whose fingerprint is 852C 5FFC D2EE 9F6A D016 B0E5 BCA7 3947 7A89 393C

To claim this, I am signing this object:

from flask import current_app
class FeatureFlags(object):
def __init__(self, app=None):
if app is not None:
self.init_app(app)
def init_app(self, app):
@catermelon
catermelon / config.py
Created October 4, 2013 15:49
Flask-SQLAlchemy - separating reads and writes
# This is not used unless SQLALCHEMY_BINDS is not present
SQLALCHEMY_DATABASE_URI = 'mysql+pymysql://{username}:{password}@{hostname}/{database}?charset=utf8'
SQLALCHEMY_BINDS = {
'master': 'mysql+pymysql://{username}:{password}@{hostname}/{database}?charset=utf8',
'slave': 'mysql+pymysql://{username}:{password}@{hostname}/{database}?charset=utf8'
}
@catermelon
catermelon / sample.py
Created January 20, 2015 22:54
PyExchange Stackoverflow answer
from pyexchange import Exchange2010Service, ExchangeNTLMAuthConnection
from datetime import datetime
import time
from pytz import timezone, utc
def getEvents():
URL = u'https://blah.blah/EWS/exchange.asmx'
USERNAME = u'DOMAIN\\user'
PASSWORD = u"password"
@catermelon
catermelon / exchange_test.py
Last active January 28, 2016 07:05
Script to easily test XML requests against an exchange server
#!/usr/bin/env python
import os
import logging
import requests
from requests_ntlm import HttpNtlmAuth
import getpass
import xml.dom.minidom
logging.basicConfig(level=logging.DEBUG)
@catermelon
catermelon / gist:7494177
Created November 16, 2013 00:31
You have a string with many consecutive letters: "aabbaadddc". Write a function that compresses the string by counting the consecutive letters. (If there is only one letter, it should resolve to itself). "aaaaabbaadddc" -> "a5b2a2d3c"
#"aabbbcccdde" => "a2b3c3d2e1"
def encode_string(unencoded):
if unencoded is None or unencoded == "":
return None
last_letter = None
count = 0
@catermelon
catermelon / zombie.py
Created October 9, 2013 04:12
ZombieBot
class Rachel_ChanceItIfUsing(object):
def __init__(self, name):
self.name = name
self.minShotguns = 2
def turn(self, gameState):
green_dice_left = 6
red_dice_left = 3
# Write a program that prints the numbers from 1 to 100. But for multiples of three print "Fizz"
# instead of the number and for the multiples of five print "Buzz". For numbers which are
# multiples of both three and five print "FizzBuzz".
# This is a moldly oldie in the programmer community, it's known as "FizzBuzz" (for obvious
# reasons). Here's a blog post:
# http://www.codinghorror.com/blog/2007/02/why-cant-programmers-program.html
# This solution runs through every number between 1 and 100, checks if they are evenly
@catermelon
catermelon / autodoc on RTD
Created July 18, 2013 18:15
Autodoc still not worky
Build for PyExchange-Test
Built: July 18, 2013. 1:01 p.m.
State: Finished
Outcome: Passed
Version: latest