{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Support Classes for SQL\n", "To help me insert records and translate our Mongo JSON records, I created a couple of classes. This is just an example to show off a very simple approach for managing SQL-like objects in python." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "class User():\n", " def __init__(self, user, format='json'):\n", " \"\"\"Load in json data into our object\n", " Args:\n", " user - serialized object\n", " format (str) - what format is the serialized object\n", " \"\"\"\n", " if format == 'json':\n", " self.load_json(user)\n", "\n", " def load_json(self, user):\n", " \"\"\"Load data from JSON object\n", " Args:\n", " user (dict) - json of object\n", " \"\"\"\n", " self.created_at = parse(user['created_at'])\n", " self.description = user.get('description', None)\n", " self.favorites_count = user.get('favourites_count', None)\n", " self.friends_count = user.get('friends_count', None)\n", " self.id = user['id_str']\n", " self.listed_count = user.get('listed_count', None)\n", " self.location = user.get('location', None)\n", " self.name = user['name']\n", " self.screen_name = user['screen_name']\n", " self.statuses_count = user['statuses_count']\n", " self.url = user.get('url', None)\n", " self.verified = user.get('verified', None)\n", "\n", " def get_values(self):\n", " \"\"\"Get the values used for inseritng a SQL record\n", " Returns:\n", " tuple - tuple in ordered format for SQL table\n", " \"\"\"\n", " values = (self.created_at, self.description, self.favorites_count,\n", " self.friends_count, self.id, self.listed_count, self.location,\n", " self.name, self.screen_name, self.statuses_count, self.url, self.verified)\n", "\n", " return values\n", "\n", " def get_insert_query(self):\n", " \"\"\"Get the string SQL insert statement\n", " Returns:\n", " str - insert statement\n", " \"\"\"\n", " user_insert = f\"\"\"INSERT INTO users VALUES (%s, %s, %s, %s, %s, %s, %s, %s,\n", " %s, %s, %s, %s)\"\"\"\n", " return user_insert\n", "\n", " def existence_query(self):\n", " \"\"\"Checks if the object already exists in the database\n", " Returns:\n", " str - existence query\n", " \"\"\"\n", " user_exists = f\"\"\"SELECT user_id FROM users WHERE user_id={self.id}\"\"\"\n", " return user_exists\n" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.5" } }, "nbformat": 4, "nbformat_minor": 4 }