Skip to content

Instantly share code, notes, and snippets.

View sloria's full-sized avatar

Steven Loria sloria

View GitHub Profile
<button data-areyousure>Default</button>
<button data-areyousure="¿Está seguro?"
data-confirm="Sí"
data-cancel="No">Custom Text</button>
<button id="callbacks">Callbacks</button>
<script>
$("#callbacks").areyousure({ yes: function() {alert('Sure.');},
@sloria
sloria / gist:ebcc633a2310ead47857
Created May 15, 2014 21:23
Non-working portscan denial test
- name: test csf | Port scans are denied
connection: local
sudo: no
# doalarm runs a command and returns an error if no output was captured in
# 3 seconds
# Here, a portscan is attempted; CSF should hang the connection, so doalarm() should
# return an error
command: doalarm () { perl -e 'alarm shift; exec @ARGV' "$@"; } && doalarm 3 nc -z 192.168.111.111 1-1023
register: portscan_result
failed_when: portscan_result.stdout
from marshmallow import Schema, fields
class FooSchema(Schema):
author_name = fields.Nested('UserSerializer')
class Meta:
fields = ('id', 'author_name')
foos = Foo.query.all()
schema = FooSchema(many=True)
@sloria
sloria / validator_poc.py
Last active August 29, 2015 14:10
proof of concept for integrating 3rd-party validators with marshmallow
"""Proof of concept for converting 3rd-party validators to marshmallow validators,
demonstating multiple possible implementations.
"""
from marshmallow import fields
from marshmallow.exceptions import UnmarshallingError, ValidationError
import pytest
class Converter(object):
__name__ = 'Converter'
# The slow way
class Person:
def __init__(self, name, occupation):
self.name = name
self.occupation = occupation
self.relatives = self._get_all_relatives()
def _get_all_relatives():
...
# This is an expensive operation
class Boiler:
def safety_check(self):
# Convert fixed-point floating point
temperature = self.modbus.read_holding()
pressure_psi = self.abb_f100.register / F100_FACTOR
if (psi_to_pascal(pressure_psi) > MAX_PRESSURE or
temperature > MAX_TEMPERATURE):
# Shutdown!
self.pnoz.relay[15] &= MASK_POWER_COIL
self.pnoz.port.write('$PL,15\0')
def send_task(self, task, job, obligation):
...
processed = ...
...
copied = ...
...
executed = ...
100 more lines
# At initiation `point` is not well-formed
point = Point()
point.x = 12
point.y = 5
# Better
point = Point(x=12, y=5)
class TaskSender:
def __init__(self, task, job obligation):
self.task = task
self.job = job
self.obligation = obligation
self.processed = []
self.copied = []
self.executed = []
def __call__(self):
if self.flags & 0b1000: # Am I visible?
...
# Better
...
@property
def is_visible(self):
return self.flags & 0b1000
if self.is_visible: