Skip to content

Instantly share code, notes, and snippets.

View typehorror's full-sized avatar
Living life

Type Horror typehorror

Living life
View GitHub Profile
@typehorror
typehorror / __init__.py
Created November 20, 2012 01:14
Here is my way of having fixture loaded within my unit-test. the data from the fixture will then be loaded in your DB instance and also available on the object through self.data
from flask import Flask, render_template
from flask.ext.sqlalchemy import SQLAlchemy
from flask.ext.login import LoginManager
# Database
db = SQLAlchemy()
def create_app(config="config"):
# Init app and load config
app = Flask(__name__)
@typehorror
typehorror / loreming.py
Created November 26, 2012 06:35
I recently wanted to generate data for a project I'm working on. Lorem ipsum offers a package but I really think it is "oversized" for what I needed: generating random text content that looks human.
import random
def paragraph(min=1, max=20):
def sentence():
nouns = ["time", "person", "year", "way", "day", "thing", "man", "world",
"life", "hand", "part", "child", "eye", "woman", "place", "work", "week",
"case", "point", "government", "company", "number", "group", "problem", "fact"]
verbs = ["be", "have", "do", "say", "get", "make", "go", "know", "take",
"see", "come", "think", "look", "want", "give", "use", "find", "tell", "ask",
"work", "seem", "feel", "try", "leave", "call"]
@typehorror
typehorror / name_generator.py
Created November 26, 2012 15:08
I give you a random name generator using the most common american first names (male and female) and last name.
import random
FIRST_NAMES = 'James', 'John', 'Robert', 'Michael', 'William', 'David',
'Richard', 'Charles', 'Joseph', 'Thomas', 'Christopher', 'Daniel', 'Paul',
'Mark', 'Donald', 'George', 'Kenneth', 'Steven', 'Edward', 'Brian',
'Ronald', 'Anthony', 'Kevin', 'Jason', 'Matthew', 'Gary', 'Timothy',
'Jose', 'Larry', 'Jeffrey', 'Frank', 'Scott', 'Eric', 'Stephen', 'Andrew',
'Raymond', 'Gregory', 'Joshua', 'Jerry', 'Dennis', 'Walter', 'Patrick',
'Peter', 'Harold', 'Douglas', 'Henry', 'Carl', 'Arthur', 'Ryan', 'Roger',
'Joe', 'Juan', 'Jack', 'Albert', 'Jonathan', 'Justin', 'Terry', 'Gerald',
@typehorror
typehorror / event_models.py
Created November 28, 2012 21:19
A solution I use on my flask project to store event related to any generic object to be later displayed on a feed.
from datetime import datetime
from sqlalchemy.ext.declarative import declared_attr
from sqlalchemy.ext.associationproxy import association_proxy
from sqlalchemy import event
from app import db
class EventAssociation(db.Model):
__tablename__ = "events_association"
@typehorror
typehorror / equal.js
Last active October 13, 2015 15:58
A javascript function to compare (by inference) object, strings, number
// test that every value of A exists in B and are equal
// true equality: eq(a,b,1)
// true: eq({b:[1,2]}, {a:1, b:[1,2]})
// false: eq({a:1, b:[1,2]},{b:[1,2]})
// false: eq({b:[1,2]}, {a:1, b:[1,2,3]})
// false: eq({b:[1,2,3]}, {a:1, b:[1,2]})
function eq(a, b, bidirectional){
if (typeof(a) != typeof(b)) return false;
if (typeof(a) in {string: 1, number: 1}) return a == b;
if (a.length != b.length) return false;
#!/usr/bin/python
from __future__ import with_statement
# To run:
#
# python -m timeit -n5 -s 'from palindrome import run, get_words, palindrome_X; words = get_words()' 'run(words, palindrome_X)'
def palindrome_1(x):
# 998ms / loop (Best of 3)
return x == ''.join(reversed(x))
@typehorror
typehorror / LICENSE.txt
Last active December 14, 2015 09:59 — forked from mkalas/LICENSE.txt
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
Version 2, December 2004
Copyright (C) 2011 Jed Schmidt <http://jed.is>
Everyone is permitted to copy and distribute verbatim or modified
copies of this license document, and changing it is allowed as long
as the name is changed.
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
@typehorror
typehorror / Flask-SQLAlchemy Caching.md
Last active February 15, 2024 14:44
Flask SQLAlchemy Caching

Flask-SQLAlchemy Caching

The following gist is an extract of the article Flask-SQLAlchemy Caching. It allows automated simple cache query and invalidation of cache relations through event among other features.

Usage

retrieve one object

# pulling one User object

user = User.query.get(1)

@typehorror
typehorror / crawler.md
Last active February 19, 2024 03:06
Simple Website Crawler (in python)

Simple Website Crawler

The following gist is an extract of the article Building a simple crawler. It allows crawling from a URL and for a given number of bounce.

Basic Usage

from crawler import Crawler
crawler = Crawler()
crawler.crawl('http://techcrunch.com/')

displays the urls