Skip to content

Instantly share code, notes, and snippets.

@roadsideseb
roadsideseb / sentry.conf (nginx)
Created October 2, 2012 12:41
Current configuration of sentry.roadside-developer.com
server {
listen 80;
server_name sentry.roadside-developer.com;
access_log /var/log/nginx/access.sentry.roadside-developer.com;
gzip on;
gzip_proxied any;
gzip_types text/plain application/xml application/x-javascript text/javascript text/css;
location / {
@roadsideseb
roadsideseb / oscar_override_app.py
Created January 24, 2013 12:48
This is an unfinished managment command that I use when customising one of Oscar's core apps. It simply copies over all the files of the app (excluding subdirectories) and leaves the rest to you. I'd like to improve it at some point and make it part of Oscar but I didn't have the time for that yet. The command in action might look like this: ```…
import os
import imp
import shutil
import pkgutil
import logging
from optparse import make_option
from django.core.management.base import BaseCommand, CommandError
@roadsideseb
roadsideseb / gist:5127613
Created March 10, 2013 08:20
ZenPhoto / nginx config
server {
server_name domain.tld;
root /var/www/zenphoto;
index index.php;
# pass the PHP scripts to php-fpm server
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
@roadsideseb
roadsideseb / generic.py
Created March 11, 2013 03:20
SearchView wrapper for haystack to bring it in line with Django 1.3+ CBV
from functools import update_wrapper
from django.conf import settings
from django.utils.decorators import classonlymethod
from django.views.generic.base import TemplateResponseMixin
from haystack.query import SearchQuerySet
from haystack.forms import FacetedSearchForm
from haystack.views import FacetedSearchView as HaystackFacetedSearchView
@roadsideseb
roadsideseb / edit.py
Created April 9, 2013 08:42
MultiFormView for handling multiple forms in a Django CBV with a little more ease...
"""
The following mixins and views are borrowed and adapted from the following
gist:
https://gist.github.com/michelts/1029336
"""
from functools import partial
from django.views.generic.base import TemplateResponseMixin
from django.views.generic.edit import ProcessFormView, FormMixin
@roadsideseb
roadsideseb / 0002_datamigration.py
Created July 23, 2013 01:45
Using the 'loaddata' management command in a data migration with South is going to break things as soon as the used models change in any way (when running the migrations on a fresh install). The data loaders don't know about the frozen ORM provided by South but use the current state of the models as in the respective 'models.py'. Here's a fixtur…
from myproject.utils import loaddata
class Migration(DataMigration):
def forwards(self, orm):
loaddata(orm, 'some_fancy_fixture.json')
import xml
from boto.mws import response
from boto.handler import XmlHandler
from boto.mws.connection import MWSConnection
from unittest import TestCase
NESTED_MEMBER_LIST_XML = """<GetTestResponse>
======================================================================
ERROR: upload devices from inventory file
----------------------------------------------------------------------
File "/usr/lib/python2.7/unittest/case.py", line 332, in run
testMethod()
File "/home/elbaschid/Worx/Tangent/vodafone/tests/eshop/functional/test_upload_inventory.py", line 114, in test_upload_inventory
after_save_page = save_form.submit().maybe_follow()
File "/home/elbaschid/.virtualenvs/vodafone/local/lib/python2.7/site-packages/webtest/forms.py", line 538, in submit
params=fields, **args)
File "/home/elbaschid/.virtualenvs/vodafone/local/lib/python2.7/site-packages/webtest/response.py", line 293, in goto
@roadsideseb
roadsideseb / views.py
Created January 30, 2014 23:16
Packing slips for Oscar using PISA in the dashboard
from xhtml2pdf import pisa
from xhtml2pdf.pdf import pisaPDF
class OrderListView(ListView, BulkEditMixin):
...
actions = (
'generate_packing_slips',
...
@roadsideseb
roadsideseb / base.html
Created February 2, 2014 23:56
Oscar packing slip / invoice templates using pisa.
{% load staticfiles %}
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
@page {
size: a4 portrait;
margin: 1cm;
margin-left:2cm;
margin-right:2cm;