Skip to content

Instantly share code, notes, and snippets.

View timmyomahony's full-sized avatar

Timmy O'Mahony timmyomahony

View GitHub Profile
@timmyomahony
timmyomahony / file.py
Created July 12, 2012 00:14
Automatic redirects when changing slugs
from django.contrib.redirects.models import Redirect
from django.contrib.sites.models import Site
class BlogPost(models.Model):
...
slug = models.CharField(unique=true, max_length=128)
@models.permalink
def get_absolute_url(def):
return ('blogpost_detail', (), { 'slug' : self.slug })
@timmyomahony
timmyomahony / twitter.py
Created September 26, 2012 06:48
Template tag to grab latest Twitter status (with tweepy)
import tweepy
import inspect
import re
from django.conf import settings
from django import template
from django.utils.safestring import mark_safe
register = template.Library()
@timmyomahony
timmyomahony / models.py
Created December 13, 2012 00:14
Automatically generating admin URLs for your objects
from django.contrib.contenttypes.models import ContentType
from django.core.urlresolvers import reverse
from django.db import models
class AdminURLMixin(object):
def get_admin_url(self):
content_type = ContentType \
.objects \
.get_for_model(self.__class__)
return reverse("admin:%s_%s_change" % (
@timmyomahony
timmyomahony / extra_cms_tags.py
Last active March 5, 2019 12:33
A template tag for `django-cms` that allows a placeholder to be rendered and placed in a context variable so that the placeholder can be conditionally loaded. This code was originally submitted on the `django-cms` Google Group by Benoit Domingue: https://groups.google.com/forum/#!topic/django-cms/WDUjIpSc23c/discussion
from classytags.arguments import Argument, MultiValueArgument
from classytags.values import StringValue
from cms.templatetags.cms_tags import Placeholder, PlaceholderOptions
from cms.models.placeholdermodel import Placeholder as PlaceholderModel
from django import template
from django.utils.safestring import mark_safe
register = template.Library()
@timmyomahony
timmyomahony / nginx.conf
Created August 11, 2013 13:31
Digital Ocean 512mb, Debian 7 x64, Default Nginx Configuration.
user nginx;
worker_processes 2;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
var single_pair_validator = function(hand){
};
var high_card_validation = function(white_numbered_hand, black_numbered_hand){
for(var i=0; i < white_numbered_hand.length; i++){
if(white_numbered_hand[i] > black_numbered_hand[i]){
return "White wins";
}
if(white_numbered_hand[i] < black_numbered_hand[i]){
@timmyomahony
timmyomahony / components.drag-box.js
Last active April 24, 2018 10:58
Draggable Ember Component
import Ember from 'ember';
export default Ember.Component.extend({
classNames: ['drag-box'],
attributeBindings: ['draggable'],
draggable: true,
x: 0,
y: 0,
positionChanged: Ember.observer('x', 'y', function(){
this.$().css({
import Ember from 'ember';
export default Ember.Component.extend({
tagName: "section",
page: 1,
paginateBy: 10,
paginatedItems: Ember.computed('amenities', 'page', function(){
var i = (parseInt(this.get('page')) - 1) * parseInt(this.get('paginateBy'));
var j = i + parseInt(this.get('paginateBy'));
return this.get('items').slice(i, j);
@timmyomahony
timmyomahony / components.slide-list-item.js
Last active July 18, 2016 11:11
Telling your parents you've rendered
import Ember from 'ember';
export default Ember.Component.extend({
tagName: 'li',
classNames: ['slide-list__list__item'],
didInsertElement() {
this._super(...arguments);
this.get('childRendered')();
}
});
@timmyomahony
timmyomahony / javscript-data-structures-and-control-challenge.markdown
Created January 15, 2017 14:00
Javscript data structures and control challenge

Javscript data structures and control challenge

This is from the challenge at the end of the the "javascript data structures and control" section of stream 1

A Pen by Timmy on CodePen.

License.