Skip to content

Instantly share code, notes, and snippets.

View dimkoug's full-sized avatar
🏠
Working from home

Dimitris Kougioumtzis dimkoug

🏠
Working from home
View GitHub Profile
@dimkoug
dimkoug / gist:bb036470fb935d58d1343846f717c364
Created July 20, 2019 10:38
django abstract UUidModel , add uuid field in django model
class UUidModel(models.Model):
import uuid
uid = models.UUIDField(default=uuid.uuid4, editable=False)
class Meta:
abstract = True
def save(self, *args, **kwargs):
if not self.pk:
self.uid = uuid.uuid4()
@dimkoug
dimkoug / gist:3c4aceddded98de735307cb814cef801
Created June 22, 2019 10:42
Python 3 script to tar multiple folders in one archive
import os
import datetime
import subprocess
import shutil
import errno
from pathlib import Path
home = str(Path.home())
now = datetime.datetime.now()
@dimkoug
dimkoug / gist:3f31343c0e9c1d18c5ee2d19e7cf16a0
Created June 22, 2019 10:41
Python 3 script to tar multiple folders
import os
import datetime
import subprocess
import shutil
import errno
from pathlib import Path
home = str(Path.home())
now = datetime.datetime.now()
@dimkoug
dimkoug / convert_geometry.py
Created July 7, 2018 11:04
Convert polygon , point, linestring to geometry objects for django framework
from django.contrib.gis.geos import GEOSGeometry, GEOSException
class ConvertGeometry:
def __init__(self, data, geometry_type):
self.data = data
self.geometry_type = geometry_type
def convert_geometry(self):
if self.geometry_type == 'polygon':
@dimkoug
dimkoug / gist:80a44ad43d58a13c5d400e314b5d914c
Created November 7, 2017 19:45
django permissions programmatically
from django.apps import apps
from django.conf import settings
from django.contrib.auth import get_user_model
from django.contrib.auth.models import Group
from django.contrib.auth.models import Permission
from django.contrib.contenttypes.models import ContentType
User = get_user_model()
@dimkoug
dimkoug / gist:bc7f5fdf090fd929dded7a523328612e
Last active June 21, 2017 18:45
Process ulr patterns django for kwargs arguments
class ProcessUrl(object):
'''
Process urls point to class based views for kwargs arguments
'''
def dispatch(self, *args, **kwargs):
for key, value in self.kwargs.items():
setattr(self, key, value)
return super(ProcessUrl, self).dispatch(*args, **kwargs)
@dimkoug
dimkoug / views.py
Last active June 22, 2017 05:40
Login-Protect Class-Based Views Django Framework
from django.contrib.auth.decorators import login_required
from django.utils.decorators import method_decorator
from django.views.generic import ListView, DetailView
from django.views.generic.edit import CreateView, UpdateView, DeleteView
@method_decorator(login_required, name='dispatch')
class ViewMixin(object):
def dispatch(self, *args, **kwargs):
for key, value in self.kwargs.items():