Django manages media based on the following definitions:
BASE_DIR = /var/praekelt/telkom-spliceworks/
MEDIA_ROOT = "%s/media/" % BASE_DIR
from datetime import timedelta | |
def week_range(date): | |
"""Find the first & last day of the week for the given day. | |
Assuming weeks start on Sunday and end on Saturday. | |
Returns a tuple of ``(start_date, end_date)``. | |
""" |
# views.py | |
from rest_framework import exceptions | |
from rest_framework import generics | |
from myapp import models | |
from myapp import serializers as ser | |
class MethodSerializerView(object): | |
''' |
# Do the first 6 steps only once. | |
1. pip install --user alembic | |
2. bash: ``cd {{my_project}} && alembic init alembic`` | |
3. bash: ``text_editor {{my_project}}/alembic.ini`` | |
4. Change: "sqlalchemy.url = postgres://{{username}}:{{password}}@{{address}}/{{db_name}}" | |
5. bash: ``text_editor {{my_project}}/alembic/env.py`` | |
6. Now, import your metadata/db object from your app.: | |
# {{my_project}}/{{my_project_dir}}/app.py | |
# nuke the queue | |
redis-cli FLUSHALL | |
# nuke anything currently running | |
pkill -9 celeryd | |
import re | |
from rest_framework import serializers, renderers, parsers | |
class JSONRenderer(renderers.JSONRenderer): | |
def render(self, data, *args, **kwargs): | |
if data: | |
data = recursive_key_map(underscore_to_camelcase, data) | |
return super(JSONRenderer, self).render(data, *args, **kwargs) |
# HANDLER | |
from django.utils.translation import ugettext_lazy as _ | |
from rest_framework.exceptions import ErrorDetail | |
from rest_framework.views import exception_handler | |
non_field_errors = 'non_field_errors' | |
def set_custome_errors(errors): |
""" | |
https://gist.github.com/Azadehkhojandi/50eaae4cf20b21faef186f2c8ee97873 | |
""" | |
import hmac | |
import hashlib | |
import binascii | |
def create_sha256_signature(key, message): |
#!/usr/bin/env python3 | |
from reportlab.lib.pagesizes import A4 | |
from reportlab.graphics.shapes import Drawing, String | |
from reportlab.graphics.barcode.eanbc import Ean13BarcodeWidget | |
from reportlab.graphics import renderPDF | |
from reportlab.pdfgen.canvas import Canvas | |
""" | |
Adjust pagesize, number of labels, barcode size and |
sudo apt-get install putty-tools | |
#private keys | |
puttygen your_private_key.ppk -O private-openssh -o your_new_key | |
chmod 600 your_new_key | |
#public keys | |
puttygen your_public_key.ppk -O public-openssh | |
#based on answer at superuser |