Skip to content

Instantly share code, notes, and snippets.

<?php
$global = array();
$reference = &$global;
$copy = $global;
$global[] = "global";
$reference[] = "reference";
$copy[] = "copy";
@OrangeTux
OrangeTux / gist:7300425
Created November 4, 2013 09:52
Python project structure
project/ # project root
conf/ # config files, could also be put in project/project/
lib/ # some libraries, probably you don't need it if you use a package manager like pip.
project/
__init__.py
project.py
core.py
submodule/
__init__.py
submodule.py
@OrangeTux
OrangeTux / gist:7385366
Last active December 27, 2015 20:29
Simplified version of problem.
# entity.py
def delete_entity(some_entity_id):
session.query(Entity).filter(Entity.id == some_entity_id).delete()
session.commit()
# test_entity.py
def test_delete_entity():
# Assume DB contains 1 entity with ID 1.
assert len(session.query(Entity).all()) == 1 # Passes always
@OrangeTux
OrangeTux / gist:7420803
Created November 11, 2013 21:34
Simplified problem
#project.py
if __name__ == '__main__':
from project.model import Base, Log
from project.db import engine
Base.metadata.create_all(engine) # Log shows me that table has been created.
# models.py
# .. imports and stuf
@OrangeTux
OrangeTux / gist:7448806
Created November 13, 2013 13:07
Conftest example
#conftest.py
from project import Session
from project.model import Model
import pytest
@pytest.fixture
def model():
model = Model(value='some_value')
Session.add(model)
@OrangeTux
OrangeTux / log.yml
Created November 13, 2013 14:52
Sample config for Python's logging module. Load it with ` logging.config.dictConfig(yaml.load(open('path/to/config','r')))`.
version: 1
formatters:
simple:
format: "%(asctime)s - %(name)s - %(levelname)s - %(message)s"
handlers:
console:
class: logging.StreamHandler
formatter: simple
level: DEBUG
stream: ext://sys.stdout
@OrangeTux
OrangeTux / gist:7561930
Last active December 28, 2015 20:59
Average
setpoints = [a, b, c, d, e] # List with setpoints, ordered by time.
sum_values = 0
sum_seconds = 0
for index, current_setpoint in enumerate(setpoints):
try:
next_setpoint = setpoints[index+1]
except KeyError:
return
# event.py
class Event():
# some implentation of adding, deleting and firing event handlers
pass
class ErrorEvent(Event):
pass
# some_file.py
from event import ErrorEvent
@OrangeTux
OrangeTux / conftest.py
Created January 9, 2014 10:57
Regenerate database with Py.test.
#conftest.py
import pytest
@pytest.fixture
def db():
test_db.create_all()
return test_db
@OrangeTux
OrangeTux / gist:f8c41a12f07b1c04afc7
Created July 25, 2014 12:40
Some pseude test code.
# my_app.py
from math import power
def some_fun(i):
if power(i) > 10:
return True
return False
# test_my_app.py