Skip to content

Instantly share code, notes, and snippets.

@azizmb
azizmb / message_queue_pipeline.py
Created January 7, 2012 08:54
Scrapy pipeline to enque scraped items to message queue using carrot
from scrapy.xlib.pydispatch import dispatcher
from scrapy import signals
from scrapy.exceptions import DropItem
from scrapy.utils.serialize import ScrapyJSONEncoder
from carrot.connection import BrokerConnection
from carrot.messaging import Publisher
from twisted.internet.threads import deferToThread
@azizmb
azizmb / album_scrape.py
Created February 24, 2012 04:22
Script to download all photos from an album in imgur
from BeautifulSoup import BeautifulSoup
import requests
import os
album_url = "http://imgur.com/a/TYfWa/all/hot/day/page/%d?scrolled"
pages = 3
directory = "heroes"
posts_list = []
@azizmb
azizmb / bootstrap_helper.rb
Created April 24, 2012 16:18 — forked from thatfunkymunki/application_helper.rb
Make will_paginate generate HTML that bootstrap.less will render nicely, fixed for will_paginate 3.0.2
def bootstrap_paginate(pages, options={})
options.reverse_merge!(
:class => 'pagination',
:renderer => BootstrapLinkRenderer,
:previous_label => '←'.html_safe,
:next_label => '→'.html_safe
)
will_paginate(pages, options)
end
@azizmb
azizmb / _notification.html.haml
Created April 25, 2012 17:55
Bootstrap flash messages
- flash.each do |type, message|
.alert.alert-block{:class => "alert-#{bootstrap_alert_type(type)}" }
%h4.alert-heading #{ bootstrap_alert_type(type).titleize }!
= message
@azizmb
azizmb / bootstrap.validator.overrides.js
Created April 25, 2012 18:15
Bootstrap Validator Overrides
$.extend($.validator.messages, {
required: "can't be blank",
remote: 'needs to get fixed',
email: 'is an invalid email address',
url: 'is not a valid URL',
date: 'is not a valid date',
dateISO: 'is not a valid date (ISO)',
number: 'is not a valid number',
digits: 'needs to be digits',
creditcard: 'is not a valid credit card number',
@azizmb
azizmb / carmen_country_input.rb
Created May 18, 2012 19:24
Carmen Country input field for SimpleForm
class CarmenCountryInput < SimpleForm::Inputs::PriorityInput
def input
@builder.send(:"country_select", attribute_name, input_options, input_html_options)
end
end
Some brief instructions on how to use Sprocket 2 in Rails to get CoffeeScript
powered JS and SASS powered CSS with YUI compression all via the magic of rack.
This stuff will be native in Rails 3.1 and the layout of the files on the
filesystem will be different but this guide will get you working with it
while we wait for all that to finalize.
Ignore the number prefixes on each file. This is just to ensure proper order in the Gist.
It's based on eric1234 gist https://gist.github.com/911003. ijust made it 3.1 compliant in terms of convention
<div id="fb-root"></div>
<script>
var fbAppId = '< APP ID >';
(function(){
var fbInitFuncs = [];
var fbInitialized = false;
window.fbAsyncInit = function() {
@azizmb
azizmb / appname1-urls.py
Created August 29, 2012 13:15
A pattern for implementing RESTfull nested resources in Django
from django.conf.urls import patterns, url
from django.contrib.contenttypes.models import ContentType
from appname1.views import PostListView, PostDetailView, \
PostCreateView, PostDeleteView, PostUpdateView
from appname2.views import CommentListView,\
CommentDetailView, CommentCreateView, CommentDeleteView, \
CommentUpdateView
from models import Post
@azizmb
azizmb / test_urls.py
Created January 2, 2013 13:45
Script to test the status for a bunch of urls, with aggregate counts in the end. Usage: python test_urls.py file_with_404_links.txt
import sys
from collections import defaultdict
import requests
file_name = sys.argv[1]
results = defaultdict(list)
with open(file_name) as f: