Skip to content

Instantly share code, notes, and snippets.

@dorosch
dorosch / bulk_get_or_create.py
Created April 13, 2020 07:08
Django bulk get_or_create manager
from django.db import models
class BulkGetOrCreateManager(models.Manager):
def bulk_get_or_create(self, objs, lookup_field=None):
assert lookup_field, "Not set 'lookup_field' for 'bulk_get_or_create'"
lookup = {f'{lookup_field}__in': objs}
existing_objects = [
obj for obj in self.get_queryset().filter(**lookup)
@dorosch
dorosch / dbrouters.py
Created April 2, 2020 10:07
Django database-level router
class StockRouter:
route_app_labels = {'stock'}
def db_for_read(self, model, **hints):
if model._meta.app_label in self.route_app_labels:
return 'nq'
return None
def db_for_write(self, model, **hints):
if model._meta.app_label in self.route_app_labels:
@dorosch
dorosch / storages.py
Created March 23, 2020 07:44
Implement django-storage with random uuid-path
import os
import uuid
from django.core.files import storage as django_storage
class LocalMediaStorage(django_storage.FileSystemStorage):
def get_available_name(self, name, max_length=None):
path, filename = os.path.split(name)
name = os.path.join(path, str(uuid.uuid4()), filename)
@dorosch
dorosch / common_filtersets.py
Last active March 23, 2020 07:41
Base in-filters django filters
from django_filters import filters as django_filters
class CharInFilter(django_filters.BaseInFilter, django_filters.CharFilter):
pass
@dorosch
dorosch / common_filtersets.py
Created March 23, 2020 07:40
Required django filterset param
from django_filters import rest_framework as filters
class FilterSetRequired(filters.FilterSet):
def is_valid(self):
for filter_name, filter in self.filters.items():
if filter.extra.get('required') and filter_name not in self.data:
self.form.add_error(filter_name, 'Query param is required')
return super().is_valid()
#!/bin/bash
docker container ls | awk '{print $1}' | xargs docker container stop 2> /dev/null
docker rm $(docker ps -a -q) 2> /dev/null
docker images | awk '$1 == "<none>" {print $3}' | xargs docker rmi -f 2> /dev/null
#include <stdio.h>
#include <stdlib.h>
#include <GL/glew.h>
#include <GLFW/glfw3.h>
GLFWwindow* window;
/*
$ gcc -Wall -lGL -lglfw -lGLEW opengl.c -o opengl && ./opengl
#!/usr/bin/env python
"""
Vtiger CRM 6.3.0 - Authenticated Remote Code Execution
Version: 6.3.0 (and lower)
Tested on: Linux (Ubuntu)
CVE: CVE-2015-6000
"""
from __future__ import print_function
import argparse
from tkinter.filedialog import *
from tkinter import *
import shelve
def hello():
information.insert(1.0, "Hello, this version v1.0...\n")
def save_dir(): #Считывание директории
global put
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import xmpp
class Jabber(object):
""" The wrapper class Jabber account """