Skip to content

Instantly share code, notes, and snippets.

View Xion's full-sized avatar

Karol Kuczmarski Xion

View GitHub Profile
@Xion
Xion / error.py
Created August 23, 2015 16:33
ErrorExtension for Jinja
"""
Jinja extension adding support for {% error %} tag
that allows to raise exceptions directly from templates.
"""
from jinja2 import TemplateAssertionError
from jinja2.ext import Extension
from jinja2.nodes import CallBlock, Const
class ErrorExtension(Extension):
@Xion
Xion / interruptibleFadeOut.js
Created August 31, 2015 03:20
Interruptible fade-out DOM animation
function interruptibleFadeOut(element, options) {
if (typeof options === 'number') {
options = {fadeOut: options};
}
element = $(element);
return new Promise(function(resolve) {
// Event handlers used by the effect.
var events = {
mouseenter: function() { interruptAnimation(); },
@Xion
Xion / auth.py
Last active October 2, 2022 02:16
Query string authenticators for Requests
"""
Requests' authenticator that attaches given parameters
to the URL query string.
License: Public Domain.
"""
from requests.auth import AuthBase
class QueryStringAuth(AuthBase):
@Xion
Xion / purge_memcache.exp
Created September 20, 2015 03:14
Flush all keys from memcached server
#!/usr/bin/expect --
# Purge local memcache, flushing all the keys & values
set escapechar !; # easier to send than default ^]
set host [lindex $argv 1];
if { ![string length $host] } {
set host "localhost";
}
@Xion
Xion / sqla_regex.py
Last active May 13, 2021 05:16
Regular expression filters in SQLAlchemy
"""
Module implementing an enhanced string column type for SQLAlchemy
with a support for regular expression operators in Postgres and SQLite.
"""
import re
from sqlalchemy import String as _String, event, exc
from sqlalchemy.engine import Engine
from sqlalchemy.ext.compiler import compiles
from sqlalchemy.sql.expression import BinaryExpression, func, literal
@Xion
Xion / sqla_enum.py
Created October 25, 2015 23:02
SQLAlchemy column type for storing Python enums
from enum import Enum
from inspect import isclass
import re
from sqlalchemy.types import TypeDecorator, TypeEngine
__all__ = ['EnumType']
@Xion
Xion / requestcontexttask.py
Created November 4, 2015 06:39
Base class for Celery tasks running inside Flask request context
from celery import Task
from flask import has_request_context, make_response, request
from myapp import app
__all__ = ['RequestContextTask']
class RequestContextTask(Task):
@Xion
Xion / lambdacode.py
Last active November 23, 2023 03:59
Retrieve source code of a (short) lambda -- http://xion.io/post/code/python-get-lambda-code.html
import ast
import inspect
import os
def get_short_lambda_source(lambda_func):
"""Return the source of a (short) lambda function.
If it's impossible to obtain, returns None.
"""
try:
@Xion
Xion / mock.py
Created May 8, 2016 00:12
Fix for Mock.configure_mock
"""
Extensions to the standard Python mock library.
Use it instead of the library itself.
"""
from __future__ import absolute_import
try:
from unittest.mock import *
except ImportErorr:
from mock import *
@Xion
Xion / playground.rs
Last active November 1, 2017 18:12 — forked from anonymous/playground.rs
Rust code shared from the playground
#[macro_use]
extern crate serde_derive;
extern crate toml;
use std::borrow::Cow;
use std::fs::File;
use std::io::Read;
#[derive(Debug, Serialize, Deserialize)]
pub struct Config<'a> {