Skip to content

Instantly share code, notes, and snippets.

View gtindo's full-sized avatar

gtindo gtindo

View GitHub Profile
class FileVideoStream:
def __init__(self, path, workers=6, queue_size=128):
# Get number of frame
self.nb_frame = imutils.video.count_frames(path)
# Compute number of frame per workers
self.bias = math.ceil(self.nb_frame / workers)
# self.stream = cv2.VideoCapture(path)
self.streams = {}
@gtindo
gtindo / sharing_memory_thread.py
Created October 29, 2019 10:31
Worker thread is doing some task, logger thread log printed messages
from threading import Thread, Event
event = Event()
def worker(number, outputs, exit_code):
msg = "=== Table de mulitiplication par {}".format(number)
outputs.append(msg)
from flask import Blueprint, request
from werkzeug.utils import secure_filename
from pandas import pandas as pd
from flask_cors import cross_origin
import os
import uuid
from .. import config
bp = Blueprint("process", __name__, url_prefix='/process')
@gtindo
gtindo / rabbitmq_manager.py
Created August 29, 2019 11:01
Rabbitmq Client manager
import logging
import pika
import configparser
LOG_FORMAT = ('%(levelname) -10s %(asctime)s %(name) -30s %(funcName) '
'-35s %(lineno) -5d: %(message)s')
LOGGER = logging.getLogger(__name__)
class RabbitmqManager:
@gtindo
gtindo / quickstart.py
Created August 6, 2019 10:11
Flask quick start
from flask import Flask, escape, url_for, request, redirect, session
from werkzeug.utils import secure_filename
#Instancier une application Flask
app = Flask(__name__)
# Set the secret key to some random bytes. Keep this really secret!
app.secret_key = b'_5#y2L"F4Q8z\n\xec]/'
##########################
@gtindo
gtindo / middleware.py
Created June 3, 2019 08:09
Django midleware base
from api_v1.models import Notification
class NotificationMiddleware:
def __init__(self, get_response):
self.get_response = get_response
# One-time configuration and initialization.
def __call__(self, request):
# Code to be executed for each request before
# the view (and later middleware) are called.
@gtindo
gtindo / csv_file_field.py
Created April 15, 2019 07:47
Django CsvFileField
import mimetypes
from django import forms
from django.core import validators
class CsvFileField(forms.FileField):
def validate(self, value):
super().validate(value)
file_mime = mimetypes.guess_type(value)
if file_mime != 'text/csv':
@gtindo
gtindo / mixin_staff.py
Last active April 8, 2019 14:12
A Django mixin for checking user status and redirect
from django.contrib.auth.mixins import AccessMixin
from django.shortcuts import redirect
class UserIsStaffRequired(AccessMixin):
"""Verify that the current user is staff member."""
def dispatch(self, request, *args, **kwargs):
if not request.user.is_authenticated :
return self.handle_no_permission()
else:
if not request.user.is_staff :