Skip to content

Instantly share code, notes, and snippets.

Martyn CLEMENT martync

View GitHub Profile
View evolution_tarif_essence.py
taxe_carburant = 0.9
tarif_baril = 110
litre_par_baril = 159
# 2010
prix_litre = (tarif_baril + tarif_baril * taxe_carburant) / litre_par_baril
# 2011
View cli.py
# coding: utf-8
"""
Client TCP
----------
Exécute un client TCP qui envoie des message de statistiques
et de demande de configuration sur le serveur passé en paramètres.
@martync
martync / scores.py
Last active Dec 28, 2018
Scores du jeu
View scores.py
scores = [
{
"start_date": "2018-12-13 08:39:11.539570",
"end_date": "2018-12-13 08:40:06.429570",
"winner": 1
},
{
"start_date": "2018-12-13 10:28:45.539570",
"end_date": "2018-12-13 10:28:56.228670",
"winner": 2
@martync
martync / model_merge.py
Created Jun 21, 2017 — forked from aaronkeck/model_merge.py
Django Model Merge
View model_merge.py
from django.db import transaction
from django.db.models import Model
from django.contrib.contenttypes.generic import GenericForeignKey
from django.apps import apps
@transaction.atomic
def merge_model_objects(primary_object, alias_objects=None, keep_old=False):
"""
Use this function to merge model objects (i.e. Users, Organizations, Polls,
@martync
martync / memoize.py
Last active Jul 3, 2018
Memoize Django model's method.
View memoize.py
import functools
def memoize_django_model_method(obj):
@functools.wraps(obj)
def memoizer(*args, **kwargs):
# Get the model instance
instance = args[0]
@martync
martync / show_in_browser.py
Created Oct 16, 2013
When testing a django application, sometime you just want to see what's happening on your html content. That does the trick.
View show_in_browser.py
import time
from datetime import datetime
from subprocess import call
def show_in_browser(response):
"""
Write the response content into a temporary HTML file and
open it into your default browser.
@martync
martync / aggregate_tags.py
Created Apr 29, 2013
Django aggregation in template filters.
View aggregate_tags.py
from django import template
from django.db.models import Sum, Avg, Max, Min, Count
register = template.Library()
@register.filter
def sum(queryset, field):
return queryset.aggregate(sum_value=Sum(field)).get('sum_value')
@martync
martync / refresh_page.js
Created Apr 18, 2013
Ask the user to refresh the page after a countdown;
View refresh_page.js
function refresh_after(seconds){
seconds--;
if (seconds<=0){
alert('The page has expired, click OK to reload.')
document.location.href = document.location.href;
}else{
setTimeout(refresh_after, 1000, [seconds])
}
}
@martync
martync / regroup_tag.py
Created Mar 26, 2013
Template tag for Django : Regroup list of lists by index, exactly like the core {% regroup %} tag.
View regroup_tag.py
from itertools import groupby
from django import template
from django.template.base import TemplateSyntaxError
register = template.Library()
class RegroupListNode(template.Node):
def __init__(self, target, expression, var_name):
View Max_consecutive_numbers.py
def get_max_consecutive_number(datas):
"""
Retourne le nombre maximum de chiffres consécutifs
dans une listes. (Y'a t'il un built-in pour ça ? Itertool ?)
>> suit = [2003, 2008, 2007, 2001, 2010]
>> print get_max_consecutive_number(suit)
>>>> 2
>> suit = [2003, 2008, 2007, 2001, 2002, 2004]
You can’t perform that action at this time.