Skip to content

Instantly share code, notes, and snippets.

View marcelolebre's full-sized avatar

Marcelo Lebre marcelolebre

  • Remote.com
  • Lisbon, Portugal
View GitHub Profile
@marcelolebre
marcelolebre / terminate_active_locks.sql
Created August 19, 2017 08:52
Terminate locks on Postgres
select pg_terminate_backend(pid) from active_locks;
class UserValues(ValueComposite):
def __init__(self, user_values):
super(UserValues, self).initialize([])
self.serialize_and_append_from_values(user_values)
class UserValue(ValueComposite):
def __init__(self, user):
super(UserValue, self).initialize({})
self.serialize_with(username=user.username)
self.serialize_with(email=user.email)
self.serialize_with(first_name=user.first_name)
self.serialize_with(last_name=user.last_name)
class UserValue(ValueComposite):
def __init__(self, user):
super(UserValue, self).initialize({})
self.serialize_with(username=user.username)
self.serialize_with(email=user.email)
self.serialize_with(first_name=user.first_name)
self.serialize_with(last_name=user.last_name)
class ValueComposite(object):
def initialize(self, raw_value):
self._raw_value = raw_value
# Serializer methods for dict based value objects (initialized with {})
def serialize_with(self, **entry):
self._raw_value.update(entry)
def serialize_from_value(self, value):
class UserValue(ValueComposite):
def __init__(self, username, email, first_name, last_name):
super(UserValue, self).initialize({})
self.serialize_with(username=username)
self.serialize_with(email=email)
self.serialize_with(first_name=first_name)
self.serialize_with(last_name=last_name)
class RoleFinder(object):
@classmethod
def get_from_id(cls, role_id):
return Role.query.get(role_id)
@classmethod
def get_from_app(cls, app_id):
return Role.query.filter_by(app_id=app_id).first()
class CreateAppService(object):
def __init__(self, name, description):
self._name = name
self._description = description
def call(self):
app = App.create(name=self._name, description=self._description)
return app
@bp.route('/create/', methods=['POST'], endpoint='create')
def create():
form = AppForm(request.form)
name = form.name.data
description = form.description.data
app = AppHandler.create(name, description)
return redirect(url_for('app.show', app_id=app.id), code=301)
class AppHandler(object):
@classmethod
def create(cls, name, description):
return CreateAppService(name, description).call()
@classmethod
def update(cls, app_id, name, description):
app = AppFinder.get_from_id(app_id)
return UpdateAppService(app, name, description).call()