Skip to content

Instantly share code, notes, and snippets.

View osw4l's full-sized avatar
🎹
Piano player

Oswaldo Rodriguez osw4l

🎹
Piano player
  • universidad libre de colombia
  • Tarragona, Spain
  • 10:42 (UTC +02:00)
View GitHub Profile
@osw4l
osw4l / a_routing.py
Last active April 29, 2020 09:12
channels 2 example
from channels.auth import AuthMiddlewareStack
from channels.routing import ProtocolTypeRouter, URLRouter
import apps.solicitudes.routing
application = ProtocolTypeRouter({
"websocket": AuthMiddlewareStack(
URLRouter(
apps.solicitudes.routing.websocket_urlpatterns
)
),
@osw4l
osw4l / postgis instructions
Created May 29, 2020 00:39
postgis configuration to postgres engine
go to
cd /etc/postgresql/10/main
rm postgresql.conf
touch postgresql.conf
nano postgresql.conf
copy and paste below code, get fun :)
@osw4l
osw4l / gist:209f084e621c9c4b0d169180ae685740
Created May 29, 2020 00:41 — forked from snaga/gist:7495184
postgresql.conf @ RDS for PostgreSQL
testdb=> SELECT name,setting,unit FROM pg_settings;
name | setting | unit
---------------------------------+---------------------------------------------+------
allow_system_table_mods | off |
application_name | psql |
archive_command | /etc/rds/dbbin/pgscripts/rds_wal_archive %p |
archive_mode | on |
archive_timeout | 300 | s
array_nulls | on |
authentication_timeout | 60 | s
@osw4l
osw4l / s3multipart.js
Created June 5, 2020 21:09 — forked from joshbedo/s3multipart.js
S3 multipart upload with NodeJS
var express = require('express')
var app = express()
var AWS = require('aws-sdk');
var bodyParser = require('body-parser');
var fs = require('fs');
var zlib = require('zlib'); // gzip compression
var multiparty = require('connect-multiparty'),
multipartyMiddleware = multiparty();
npm install nodemon
nodemon --exec "sls offline start" -e "extensions,to,watch,for,example,js,elm,hs,py"
@action(detail=False, methods=['get'])
def action_view(self, request):
queryset = self.model.objects.all()
page = self.paginate_queryset(queryset)
if page is not None:
serializer = self.get_serializer(page, many=True)
return self.get_paginated_response(serializer.data)
serializer = self.get_serializer(queryset, many=True)
return Response(serializer.data)
from django.db.models import Transform
class Trigram(Transform):
bilateral = True
lookup_name = 'trigram'
def as_postgresql(self, compiler, connection):
lhs, params = compiler.compile(self.lhs)
return "TRIAGRAM(%s)" % lhs, params
class PaginatorMixin(object):
min_limit = 1
max_limit = 10
def paginate(self, object_list, page=1, limit=10, **kwargs):
try:
page = int(page)
if page < 1:
page = 1
except (TypeError, ValueError):
@osw4l
osw4l / auth.py
Created August 6, 2020 02:54
custom auth backend django
class CustomAuthenticationBackend:
def authenticate(self, request, email_or_phone=None, password=None):
try:
user = User.objects.get(
Q(email=email_or_phone) | Q(phone=email_or_phone)
)
pwd_valid = user.check_password(password)
if pwd_valid:
return user
@osw4l
osw4l / remove_duplicates.py
Created September 29, 2020 17:51 — forked from victorono/remove_duplicates.py
Django - remove duplicate objects where there is more than one field to compare
from django.db.models import Count, Max
unique_fields = ['field_1', 'field_2']
duplicates = (
MyModel.objects.values(*unique_fields)
.order_by()
.annotate(max_id=Max('id'), count_id=Count('id'))
.filter(count_id__gt=1)
)