Skip to content

Instantly share code, notes, and snippets.

@magopian
magopian / gist:6128849
Last active August 27, 2019 04:32
Local git mirror of github used by private Jenkins
So I've installed a dead simple backup, in /home/USER/git_backup/:
git clone --mirror git@github.com:USER/PROJECT.git
update.sh (launched every 5 minutes by cron):
#/bin/sh
cd /home/USER/git_backup/PROJECT.git
LINES=`git remote update 2>&1 | wc -l`
@magopian
magopian / admin_list_editable_autosubmit.js
Last active September 10, 2021 15:51
Small js script that automatically submits the changelist form on field changes. This is convenient when used with https://docs.djangoproject.com/en/dev/ref/contrib/admin/#django.contrib.admin.ModelAdmin.list_editable, and avoids having to remember to submit the form when done (the form on the changelist page doesn't look like a form after all, …
/*
* Only useful in changelist pages when the ModelAdmin displayed has
* "list_editable" (https://docs.djangoproject.com/en/dev/ref/contrib/admin/#django.contrib.admin.ModelAdmin.list_editable)
* configured.
*
* When one of the input/select/textarea value is changed, automatically submit
* the form using ajax.
*
* Only form fields relevant to the "list_editable" will trigger a form submit.
*
@magopian
magopian / conftest.py
Last active November 1, 2018 17:10
Some pytest(-django) fixtures that I find useful. There's also an "app" fixture to take advantage of django-webtest when used with py.test.
# -*- coding: utf-8 -*-
from __future__ import unicode_literals, absolute_import, division
import pytest
from django_webtest import DjangoTestApp, WebTestMixin
class Stub(object):
"""Stub methods, keep track of calls."""
@magopian
magopian / fix_permissions.py
Created November 19, 2013 11:00
Django admin command to "fix permissions" (create them properly for proxy models). This is needed because of the following bug in Django (not fixed as of 1.6): https://code.djangoproject.com/ticket/11154
# -*- coding: utf-8 -*-
"""Add permissions for proxy model.
This is needed because of the bug https://code.djangoproject.com/ticket/11154
in Django (as of 1.6, it's not fixed).
When a permission is created for a proxy model, it actually creates if for it's
base model app_label (eg: for "article" instead of "about", for the About proxy
model).
@magopian
magopian / conftest.py
Created November 27, 2013 10:46
Little hack for pytest_django: load data in your test database before the tests are run, only if the database is being created and not reused.
import pytest
@pytest.fixture(scope='session')
def _django_db_setup(request, _django_db_setup, _django_cursor_wrapper):
"""Load any data needed for the tests after the database is created.
This "overwrites" pytest_django's own _django_db_setup.
"""
@magopian
magopian / README.rst
Last active December 30, 2015 16:29
A few notes on how to deal with a Raspberry-pi

Raspberry-Pi tips and tricks

Backup SDCard to computer

Check the output of the lsblk command to find the correct device (eg: /dev/mmcblk0):

@magopian
magopian / gist:8915831
Created February 10, 2014 13:22
update from Django 1.4 to 1.5, various notes (not complete)
Not yet! But here are some notes (taken from the release notes):
## New
* use PBKDF2 for passwords
* new URL tags : remove all ```{% load url from future %}``` (and make sure there's no old style ```{% url %}``` tags lurking around)
* **INFO**: [update_fields](https://docs.djangoproject.com/en/dev/ref/models/instances/#specifying-which-fields-to-save) added to save only needed fields on a model
* **INFO**: calls to [call_command](https://docs.djangoproject.com/en/dev/ref/django-admin/#call-command) now propagates exceptions
* **INFO**: [LOGIN_URL](https://docs.djangoproject.com/en/dev/ref/settings/#std:setting-LOGIN_URL) and [LOGIN_REDIRECT_URL](https://docs.djangoproject.com/en/dev/ref/settings/#std:setting-LOGIN_REDIRECT_URL) settings now also allows view function names and named url patterns
* **INFO**: when using RequestContext, there's now a [perms](https://docs.djangoproject.com/en/dev/ref/templates/api/#django-contrib-auth-context-processors-auth) in the context that allows to do ```{% if 'someapp.so
@magopian
magopian / watch_turtle.py
Last active August 29, 2015 14:25
Auto-reload turtle code on file save (https://docs.python.org/3/library/turtle.html)
"""Reloads the `my_turtle.py` code on save.
Put simple turtle instructions in the `my_turtle.py` file,
and they'll be re-run (on a clean window) on each file save.
Usage:
1/ put some turtle instructions in a `my_turtle.py` file
(eg `turtle.forward(100)`)
2/ run `python watch_turtle.py` on a commandline
(no dependencies needed)
@magopian
magopian / index.js
Created March 11, 2016 08:54
requirebin sketch
// require() some stuff from npm (like you were using browserify)
// and then hit Run Code to run it on the right
var Validator = require('jsonschema').Validator;
var v = new Validator();
var schema = { "allOf" : [
{"type": "boolean"},
{"type": "string"}
]}
console.log(v.validate("foobar", schema));
@magopian
magopian / aiohttp + aiopg.py
Last active October 4, 2019 08:48
experiments with python asyncio (all three are roughly the same speed as the werkzeug+pg version, as it's CPU bound, not IO bound: asyncio doesn't help in such cases)
"""start with:
gunicorn utilery.views_aiohttp_aiopg:app -b 0.0.0.0:3579 -w 4 -k aiohttp.worker.GunicornWebWorker"""
import asyncio
import json
import math
import time
import psycopg2
import psycopg2.extras