Skip to content

Instantly share code, notes, and snippets.

View dpwrussell's full-sized avatar

Douglas Russell dpwrussell

View GitHub Profile
@dpwrussell
dpwrussell / marshmallow_sa_inherit_pk.py
Created August 28, 2015 20:18
MarshmallowSqlAlchemy's issue with overriden ids not being serialized
import sqlalchemy as sa
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import scoped_session, sessionmaker, relationship
from sqlalchemy.ext.hybrid import hybrid_property
from marshmallow_sqlalchemy import ModelSchema
engine = sa.create_engine('sqlite:///:memory:')
session = scoped_session(sessionmaker(bind=engine))
Base = declarative_base()
@dpwrussell
dpwrussell / marshmallow_sqlalchemy_issue_one_or_many_to_zero_or_one.py
Last active August 27, 2015 19:15
MarshmallowSqlalchemy issue with one/many to zero/one using sqlalchemy's uselist=False
import sqlalchemy as sa
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import scoped_session, sessionmaker, relationship
from sqlalchemy.ext.hybrid import hybrid_property
from marshmallow_sqlalchemy import ModelSchema
engine = sa.create_engine('sqlite:///:memory:')
session = scoped_session(sessionmaker(bind=engine))
Base = declarative_base()
@dpwrussell
dpwrussell / colander_experiment.py
Last active August 29, 2015 14:28
colanderalchemy_question_inheritance_backref
from sqlalchemy import Integer
from sqlalchemy import Column
from sqlalchemy import String
from sqlalchemy import ForeignKey
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker, relationship
from sqlalchemy.ext.declarative import declarative_base
import colander
@dpwrussell
dpwrussell / colander_experiment.py
Last active August 29, 2015 14:28
colanderalchemy_question_sideload
from sqlalchemy import Integer
from sqlalchemy import Column
from sqlalchemy import String
from sqlalchemy import ForeignKey
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker, relationship
from sqlalchemy.ext.declarative import declarative_base
import colander
@dpwrussell
dpwrussell / s3cache.py
Created August 12, 2015 17:19
Extremely rudimentary s3cache code
import boto3
from botocore.exceptions import ClientError
import hashlib
import os
import errno
def mkdir_p(path):
try:
os.makedirs(path)
@dpwrussell
dpwrussell / cte.py
Last active August 29, 2015 14:26
Question: Common Table Expressions with SQLAlchemy
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import Session, relationship, backref, sessionmaker
from sqlalchemy import create_engine, Column, String, Integer
from sqlalchemy.schema import ForeignKey
Base = declarative_base()
class Object(Base):
""" Object ORM """
@dpwrussell
dpwrussell / join_multiple_vs_chain_pm.py
Created August 3, 2015 14:51
SQLAlchemy question: Differing behaviours in chained join vs multiple on-clause
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import Session, relationship, backref, sessionmaker
from sqlalchemy import create_engine, Column, String, Integer
from sqlalchemy.schema import ForeignKey
Base = declarative_base()
class Object(Base):
""" Object ORM """
@dpwrussell
dpwrussell / sqlalchemy_question_join_mtm_pm.py
Created July 31, 2015 18:42
SQLAlchemy Quesiton: JOIN clause relationships with Many-To-Many association tables and joined table inheritance
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import Session, relationship, backref, sessionmaker
from sqlalchemy import create_engine, Column, String, Integer
from sqlalchemy.schema import ForeignKey
Base = declarative_base()
################# START Working Example
class A(Base):
__tablename__ = 'a'
[alias]
lg1 = log --graph --abbrev-commit --decorate --date=relative --format=format:'%C(bold blue)%h%C(reset) - %C(bold green)(%ar)%C(reset) %C(white)%s%C(reset) %C(dim white)- %an%C(reset)%C(bold yellow)%d%C(reset)' --all
lg2 = log --graph --abbrev-commit --decorate --format=format:'%C(bold blue)%h%C(reset) - %C(bold cyan)%aD%C(reset) %C(bold green)(%ar)%C(reset)%C(bold yellow)%d%C(reset)%n'' %C(white)%s%C(reset) %C(dim white)- %an%C(reset)' --all
lg = !"git lg1"
@dpwrussell
dpwrussell / override.py
Created September 23, 2014 09:38
Override a BlitzGateway wrapper
class ImageWrapper (omero.gateway.ImageWrapper):
"""
omero_model_ImageI class wrapper overwrite omero.gateway.ImageWrapper
"""
def getClientPath(self):
print 'This one being run'
qs = self._conn.getQueryService()
params = omero.sys.ParametersI()
params.addLong("iid", self.getId())