Skip to content

Instantly share code, notes, and snippets.

View CodeDrome's full-sized avatar

Chris Webb CodeDrome

View GitHub Profile
@CodeDrome
CodeDrome / main.py
Created July 29, 2020 08:21
galton_board_main.py
import galtonboard
import galtonboardview
import sys
import os
def main():
"""
Creates and runs a GaltonBoard index object
@CodeDrome
CodeDrome / pgconnection.py
Created July 30, 2020 05:17
pgconnection.py
import psycopg2
def get_connection(dbname):
connect_str = "dbname={} host='localhost' user='user' password='password'".format(dbname)
return psycopg2.connect(connect_str)
@CodeDrome
CodeDrome / pgddl.py
Created July 30, 2020 05:18
pgddl.py
from psycopg2.extensions import ISOLATION_LEVEL_AUTOCOMMIT
import psycopg2
import pgconnection
def main():
"""
Demonstrate creation of PostgreSQL database, tables and views using psycopg2
@CodeDrome
CodeDrome / pgdml_1.py
Created July 31, 2020 16:40
pgdml.py Part 1
import datetime
import psycopg2
from psycopg2.extensions import ISOLATION_LEVEL_AUTOCOMMIT
import pgconnection
def main():
@CodeDrome
CodeDrome / pgdml_2.py
Created July 31, 2020 16:43
pgdml.py Part 2
def insert_galleries():
galleries = ({"name": "London 2018", "description": "Photos of London in 2018"},
{"name": "Paris 2016", "description": "Photos of Paris in 2016"},
{"name": "Oslo 2018", "description": "Photos of Oslo in 2018"},
{"name": "Copenhagen 2017", "description": "Photos of Copenhagen in 2017"},
{"name": "Edinburgh 2015", "description": "Photos of Edinburgh in 2015"})
try:
@CodeDrome
CodeDrome / pgdml_3.py
Created July 31, 2020 17:17
pgdml.py Part 3
def update_photos():
update_dict = {"description": "Edinburgh Photo 2", "photoid": 10}
try:
conn = pgconnection.get_connection("codeinpython")
cursor = conn.cursor()
cursor.execute("UPDATE photos SET description = %(description)s WHERE photoid = %(photoid)s;", update_dict)
@CodeDrome
CodeDrome / pgdml_4.py
Created July 31, 2020 17:19
pgdml.py Part 4
def delete_photos():
delete_dict = {"photoid": 10}
try:
conn = pgconnection.get_connection("codeinpython")
cursor = conn.cursor()
cursor.execute("DELETE FROM photos WHERE photoid = %(photoid)s;", delete_dict)
@CodeDrome
CodeDrome / pgdml_.py
Created July 31, 2020 17:20
pgdml.py Part 5
def select_photos():
# Wildcards:
# percent sign % for 0 or more characters
# underscore _ for exactly 1 character
select_dict = {"where_like": '%Oslo%'}
try:
conn = pgconnection.get_connection("codeinpython")
@CodeDrome
CodeDrome / pgdml_6.py
Created July 31, 2020 17:25
pgdml.py Part 6
def insert_photo_invalid_fk():
invalid_photo = {"galleryid": 6, "title": "Hong Kong Photo 1", "description": "Hong Kong Photo 1", "photographer": "Chris Webb", "datetaken": datetime.date(2018, 8, 27)}
try:
conn = pgconnection.get_connection("codeinpython")
cursor = conn.cursor()
cursor.execute("""INSERT INTO photos(galleryid, title, description, photographer, datetaken)
@CodeDrome
CodeDrome / pgdml_7.py
Created July 31, 2020 17:28
pgdml.py Part 7
def reset_serial():
try:
conn = pgconnection.get_connection("codeinpython")
conn.set_isolation_level(ISOLATION_LEVEL_AUTOCOMMIT)
cursor = conn.cursor()
cursor.execute("ALTER SEQUENCE photos_photoid_seq RESTART WITH 1")