Skip to content

Instantly share code, notes, and snippets.

@fission6
fission6 / jquery deferred api calls
Created October 31, 2012 19:17
complex use case for API calls utilizing jQuery deferreds
function processSiteRequest( data ) {
var sites = data.response.sites;
// loop through each site given back for the paginated result set
$.each( sites || [], function(index, site) {
debugPrint("Site: " + site.name);
$.each( site.content_categories || [], function( index, category ) {
// build up category to publisher map
debugPrint(" Category: " + category.name);
if ( category.id in category_publisher_map ) {
@fission6
fission6 / geo_hstore_manager.py
Created October 16, 2012 21:22 — forked from glenrobertson/geo_hstore_manager.py
Combine Django GeoManager with HStoreManager
# pip install django-orm-extensions
from django.contrib.gis.db.models import GeoManager
from django.contrib.gis.db.models.query import GeoQuerySet
from django.contrib.gis.db.models.sql.where import GeoWhereNode
from django.contrib.gis.db.models.sql import GeoQuery
from django_hstore.query import HStoreQuerySet, HStoreWhereNode
from django_hstore.managers import HStoreManager
class GeoHStoreWhereNode(GeoWhereNode, HStoreWhereNode):
@fission6
fission6 / gist:3043478
Created July 3, 2012 21:39
Send email with text and html in django
def email_user(user, email, template):
"""
"""
if 'domain' not in email:
email['domain'] = SITE_DOMAIN
c = Context({'user': user, 'email' : email})
html_content = template.render(c)
text_content = strip_tags(html_content)
print 'Sending Email to {0}'.format(user)
@fission6
fission6 / remote-typeahead.js
Created June 27, 2012 19:47 — forked from geuis/remote-typeahead.js
Remote data querying for Twitter Bootstrap 2.0 Typeahead without modifications
<script>
// Charles Lawrence - Feb 16, 2012. Free to use and modify. Please attribute back to @geuis if you find this useful
// Twitter Bootstrap Typeahead doesn't support remote data querying. This is an expected feature in the future. In the meantime, others have submitted patches to the core bootstrap component that allow it.
// The following will allow remote autocompletes *without* modifying any officially released core code.
// If others find ways to improve this, please share.
var autocomplete = $('#searchinput').typeahead()
.on('keyup', function(ev){
ev.stopPropagation();
@fission6
fission6 / Deploy Notes
Last active November 19, 2015 14:16
Deployment notes for Ubuntu Instance Nginx, uwsgi, postgres, django, virtualenv stack
Deployment notes for Ubuntu Instance
Nginx, uwsgi, postgres, django, virtualenv stack
* ssh root
root access (need pem)
ssh -i whatever.pem ubuntu@ec2-*-*-*-*.compute-1.amazonaws.com
* secure box
- cut off all ports but 22 and 80 using AWS Management Console
- edit /etc/ssh/sshd_config ensure PasswordAuthentication no
#!/usr/env python2
from random import choice
pop = ['a', 'b', 'c',]
simulations = 0
"""
while simulations < 3:
simulations += 1
@fission6
fission6 / model_utils.py
Created May 3, 2012 17:40
Chaining Custome QuerySet method for Django Models
from django.db import models
# http://www.djangosnippets.org/snippets/562/#c673
class QuerySetManager(models.Manager):
# http://docs.djangoproject.com/en/dev/topics/db/managers/#using-managers-for-related-object-access
# Not working cause of:
# http://code.djangoproject.com/ticket/9643
@fission6
fission6 / optional_boost.py
Created January 28, 2012 17:39 — forked from toastdriven/optional_boost.py
For fission6...
>>> from haystack.inputs import Raw
>>> from haystack.query import SearchQuerySet, SQ
>>> sqs = SearchQuerySet().filter(content='python')
>>> sqs2 = SearchQuerySet().filter(SQ(content='python') | (SQ(content='python') & SQ(content=Raw('pycon^10'))))
>>>
>>> sqs.count()
16
>>> sqs2.count()
16
>>>
@fission6
fission6 / es.sh
Created January 16, 2012 19:21 — forked from aaronshaf/es.sh
Install ElasticSearch on Ubuntu 11.04
cd ~
sudo apt-get install unzip
sudo apt-get install python-software-properties -y
sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner"
sudo apt-get update
sudo apt-get install sun-java6-jre sun-java6-plugin -y
wget https://github.com/downloads/elasticsearch/elasticsearch/elasticsearch-0.17.6.tar.gz -O elasticsearch.tar.gz
tar -xf elasticsearch.tar.gz
rm elasticsearch.tar.gz
@fission6
fission6 / models.py
Created January 5, 2012 19:50
monkey patch django User to access Mongo Document
@property
def document(self):
user_id = self.id
user_document = UserDocument.objects.get(user_fk=user_id)
return user_document
User.add_to_class("document", document)