Skip to content

Instantly share code, notes, and snippets.

Martyn CLEMENT martync

Block or report user

Report or block martync

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
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.