Skip to content

Instantly share code, notes, and snippets.

pawl / dms_monit
Last active Aug 29, 2015
Dallas Makerspace Monit Configuration
View dms_monit
set mailserver localhost
# don't alert when pid changed or when monit starts
set alert but not on { pid, instance }
check process apache with pidfile /run/
start program = "/etc/init.d/apache2 start" with timeout 60 seconds
stop program = "/etc/init.d/apache2 stop"
if cpu > 60% for 2 cycles then alert
if cpu > 80% for 5 cycles then restart
pawl /
Last active Oct 26, 2020
Copy Schema Of A Remote Database Table To A New Local Table With SQLalchemy
from sqlalchemy import create_engine, Table, Column, Integer, Unicode, MetaData, String, Text, update, and_, select, func, types
# create engine, reflect existing columns, and create table object for oldTable
srcEngine = create_engine('mysql+mysqldb://username:password@') # change this for your source database
srcEngine._metadata = MetaData(bind=srcEngine)
srcEngine._metadata.reflect(srcEngine) # get columns from existing table
srcTable = Table('oldTable', srcEngine._metadata)
# create engine and table object for newTable
destEngine = create_engine('mysql+mysqldb://username:password@localhost/database') # change this for your destination database
pawl /
Created Apr 2, 2014
Parallax USB RFID reader Python Code
#! /usr/bin/python
import serial
import time
ser = serial.Serial('/dev/ttyUSB0', 2400, timeout=1) # replace '/dev/ttyUSB0' with your port
while True:
response =
if response <> "":
print "raw: " + str(response)
pawl /
Created Apr 29, 2014
Copy Sybase IQ Table Schema to MySQL Using SQLalchemy and SQL Anywhere ODBC
import sqlalchemy, sqlanydb
from sqlalchemy import create_engine, Table, Column, Integer, Unicode, MetaData, String, Text, update, and_, select, func, types
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker
def connect():
return sqlanydb.connect(DSN='<your DNS>', userid='<username>', password='<password>')
srcEngine = sqlalchemy.create_engine('sqlalchemy_sqlany://', creator=connect, echo=True) # pip install sqlalchemy-sqlany
pawl /
Created Jun 2, 2014
Get ID of edited item within WTforms validator - Flask-Admin
def start_must_not_conflict(form, field):
print request.args.get('id') # get ID
if Event.query.filter(db.and_(Event.location ==, Event.start.between(,, != request.args.get('id'))).first(): # exclude ID from query
raise wtforms.validators.ValidationError('Start time conflicts with another request for the same time.')
form_args = dict(
pawl /
Created Jun 2, 2014
Escape Newlines In Google Calendar API - Python
# how you need to format the body of the request
requestbody = """{
"description": %s,
"summary": %s
""" % (json.dumps(description), json.dumps(summary)) # use json.dumps to escape string for the request body
pawl / flotpie.js
Last active Aug 29, 2015
Change Percent To Numbers and Keep Color - Flot Pie Chart
View flotpie.js
options = {
series: {
pie: {
innerRadius: 0.5,
show: true,
label: {
show: true,
formatter: function (label, series) {
return '<div style="font-size:8pt;text-align:center;padding:2px; color: ' + series.color +';">' + label + '<br/>' +[0][1] + '</div>';
pawl /
Created Aug 6, 2014
Use List In Bind Parameters - SQLAlchemy
my_list = ['peach', 'grape', 'apple']
query_parameters = {}
counter = 1
for list_item in my_list:
query_parameters["list_item" + str(counter)] = list_item
counter += 1
where_clause = 'fruits IN(:' + ",:".join(query_parameters.keys()) + ')' # create clause to be inserted into query
query_text = db.text("""
pawl /
Last active Aug 29, 2015
Slow Nested For Loop Example
old_list = [
{'name': "matthew", 'test_result1': "A", 'test_result2': "A"},
{'name': "steve", 'test_result1': "B", 'test_result2': "D"},
{'name': "dave", 'test_result1': "C", 'test_result2': "F"}
new_list = [
{'name': "steve", 'test_result1': "A", 'test_result2': "F"},
{'name': "matthew", 'test_result1': "B", 'test_result2': "F"},
pawl /
Created Sep 10, 2014
Change Single GET Parameter - Flask
from application import app
from flask import request, url_for, redirect
def index():
modified_args = dict(request.args)
modified_args['key'] = 'modified_value'
return redirect(url_for('my_view', **modified_args))