Skip to content

Instantly share code, notes, and snippets.

@bacher09
bacher09 / gist:2330507
Created April 7, 2012 17:11
pseudo model
class AbsractDelModel(Model):
is_deleted = BoleanField(default = False)
class Meta:
abstract = True
class ArchesModel(Model):
name = CharField()
@bacher09
bacher09 / gist:2793840
Created May 26, 2012 12:53
working with portage abstract layer, pseudocode
port_tree = PortageTree()
for package in port_tree.iter_packages():
for ebuild in package.iter_ebuilds():
ebuild.get_info() # get info about ebuild
@bacher09
bacher09 / gist:2902635
Created June 9, 2012 21:27
Lazy input example
class LazyInput(object):
def __init__(self, str):
self._str = str
self._as_str = None
def __str__(self):
if self._as_str is None:
self._as_str = raw_input(self._str)
return self._as_str
@bacher09
bacher09 / upload.py
Last active March 30, 2021 19:58
Example of how catch RequestEntityTooLarge exception
from flask import Flask, request
from werkzeug.exceptions import RequestEntityTooLarge
app = Flask(__name__)
app.config['MAX_CONTENT_LENGTH'] = 4 * 1024 # 4 Kb limit
app.config['DEBUG'] = True
@app.route("/", methods=["GET", "POST"])
def hello():
try:
@bacher09
bacher09 / gist:7411777
Created November 11, 2013 11:23
Example of template_global in flask >= 0.10
from flask import Flask, render_template_string
MAIN_TEMPLATE = """ \
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>{{ message }}</title>
</head>
@bacher09
bacher09 / gist:7411829
Created November 11, 2013 11:28
Example of template_global in flask < 0.10
from flask import Flask, render_template_string
MAIN_TEMPLATE = """ \
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>{{ message }}</title>
</head>
@bacher09
bacher09 / decrypt.py
Created November 20, 2013 18:20
Decrypt files from testing program
import six
from six.moves import zip
import struct
uint = lambda x: x & 0xffffffff
uhex = lambda x: hex(x & 0xffffffff)
str_to_int = lambda x: struct.unpack("<i", x)[0]
int_to_str = lambda x: struct.pack("<i", sign_int(x))
sign_int = lambda x: x if x < 0x7FFFFFFF else x - 0x100000000
Realworldish Benchmark:
jinja 0.0009 seconds
mako 0.0008 seconds
django 0.0067 seconds
genshi 0.0144 seconds
(venv)slava@slava-air ~/src/jinja2/examples/rwbench $ python rwbench.py
Realworldish Benchmark:
jinja 0.0013 seconds
mako 0.0012 seconds
django 0.0066 seconds
@bacher09
bacher09 / demo.py
Created September 17, 2014 17:58
Pyramid auth example
import os
import logging
from pyramid.config import Configurator
from pyramid.events import NewRequest
from pyramid.events import subscriber
from pyramid.events import ApplicationCreated
from pyramid.httpexceptions import HTTPFound
from pyramid.session import UnencryptedCookieSessionFactoryConfig
from pyramid.authentication import AuthTktAuthenticationPolicy
@bacher09
bacher09 / custom_select.py
Created September 19, 2014 11:15
sqlalchemy columns rearrange
from sqlalchemy import create_engine, Column, Integer, MetaData, Table, String
from sqlalchemy.sql import select, Select, ColumnCollection
engine = create_engine('sqlite:///:memory:', echo=True)
metadata = MetaData()
class RearrangeSelect(Select):