Skip to content

Instantly share code, notes, and snippets.

View radzhome's full-sized avatar

Rad W radzhome

  • Postmedia
  • Ottawa
View GitHub Profile
@radzhome
radzhome / phone.py
Created February 25, 2020 18:43
format_phone_number
import re
import logging
def phone_format(phone_number, raise_exception=False):
"""
Cleans up formatting for a phone number
format_phone_number
:param raise_exception: bool, throw an exception or return original value
:param phone_number: inputted raw phone
:return: str formatted_phone_number
@radzhome
radzhome / pubsub.py
Created April 16, 2019 20:13
redis pub sub
"""
Pub/sub is a pattern used in scaling software its important to understand what sort of
scaling it helps with. An important distinction is between pub/sub and message queueing.
In the queueing pattern, a queue (or list in Redis) buffers the messages to be processed while
a pool of workers pops items off the list and handles them. In this model, scaling the size of
your pool of workers scales the speed with which you process your queue, because each message
is passed to only one worker. All of the workers handle any given message in the exact same way.
In pub/sub on the other hand, the system attempts to deliver all of a channels messages to all
@radzhome
radzhome / s3.py
Created January 18, 2019 06:31
s3 and sqs boto3 client
from __future__ import unicode_literals
"""
S3 bucket CRUD operations core module
"""
import logging
import time
import boto3
import botocore
from botocore.client import Config
@radzhome
radzhome / ecs_deploy.py
Created August 24, 2018 02:30
ecs creation and deployment with python
# -*- coding: utf-8 -*-
# #!/usr/bin/env python
"""
Deploy docker image to ecs, upload repo to ecr
Pass the repository url, the tag and the service family
Also checks cluster is there or creates it
Sets up necessary ELB and TG
"""
import os
import sys
@radzhome
radzhome / read_env.py
Last active August 17, 2018 23:54
python read env file
env_file='/path/to/env/file'
env_vars = []
with open(env_file) as f:
for line in f:
if line.startswith('#'):
continue
# if 'export' not in line:
# continue
# Remove leading `export `
# then, split name / value pair
AWSTemplateFormatVersion: '2010-09-09'
Description: >
AWS CloudFormation template to create a new VPC
or use an existing VPC for ECS deployment
in Create Cluster Wizard. Requires exactly 1
Instance Types for a Spot Request.
Parameters:
EcsClusterName:
Type: String
Description: >
@radzhome
radzhome / json_schema_to_django_model.py
Last active August 5, 2023 00:46
Converts json schema to django models.py
"""
Json Schema to Django Model
"""
import json
import argparse
import logging
import os
def determine_model_name(model_id=None, filename=None):
class TicketMachine(object):
def __init__(self, route1_name, route1_child, route1_adult, route2_name, route2_child, route2_adult):
self.routes = [
{'name': route1_name, 'child_fare': route1_child, 'adult_fare': route1_adult},
{'name': route2_name, 'child_fare': route2_child, 'adult_fare': route2_adult}
]
self.selected_route = None
and
(metadata like "%Camp Nou%" or
metadata like "%Wembley%" or
metadata like "%Croke Park%" or
metadata like "%Twickenham%" or
metadata like "%Signal Iduna Park%" or
metadata like "%Stade de France%" or
metadata like "%Santiago Bernabéu%" or
metadata like "%Luzhniki%" or