Make all docstrings fully correct and have all data types hinted
This commit is contained in:
		
							parent
							
								
									454a4066a3
								
							
						
					
					
						commit
						39f54825f8
					
				
					 1 changed files with 26 additions and 11 deletions
				
			
		| 
						 | 
					@ -2,9 +2,21 @@
 | 
				
			||||||
 "cells": [
 | 
					 "cells": [
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
   "cell_type": "code",
 | 
					   "cell_type": "code",
 | 
				
			||||||
   "execution_count": 1,
 | 
					   "execution_count": 2,
 | 
				
			||||||
   "metadata": {},
 | 
					   "metadata": {},
 | 
				
			||||||
   "outputs": [],
 | 
					   "outputs": [
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					     "ename": "NameError",
 | 
				
			||||||
 | 
					     "evalue": "name 'String' is not defined",
 | 
				
			||||||
 | 
					     "output_type": "error",
 | 
				
			||||||
 | 
					     "traceback": [
 | 
				
			||||||
 | 
					      "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
 | 
				
			||||||
 | 
					      "\u001b[0;31mNameError\u001b[0m                                 Traceback (most recent call last)",
 | 
				
			||||||
 | 
					      "\u001b[1;32m/home/lillian/Coding/jupyter/assignment.ipynb Cell 1\u001b[0m line \u001b[0;36m7\n\u001b[1;32m     <a href='vscode-notebook-cell:/home/lillian/Coding/jupyter/assignment.ipynb#W0sZmlsZQ%3D%3D?line=68'>69</a>\u001b[0m     \u001b[39mfor\u001b[39;00m cat \u001b[39min\u001b[39;00m cat_json:\n\u001b[1;32m     <a href='vscode-notebook-cell:/home/lillian/Coding/jupyter/assignment.ipynb#W0sZmlsZQ%3D%3D?line=69'>70</a>\u001b[0m         \u001b[39myield\u001b[39;00m Cat(\n\u001b[1;32m     <a href='vscode-notebook-cell:/home/lillian/Coding/jupyter/assignment.ipynb#W0sZmlsZQ%3D%3D?line=70'>71</a>\u001b[0m             cat\u001b[39m.\u001b[39mget(\u001b[39m\"\u001b[39m\u001b[39mid\u001b[39m\u001b[39m\"\u001b[39m),\n\u001b[1;32m     <a href='vscode-notebook-cell:/home/lillian/Coding/jupyter/assignment.ipynb#W0sZmlsZQ%3D%3D?line=71'>72</a>\u001b[0m             cat\u001b[39m.\u001b[39mget(\u001b[39m\"\u001b[39m\u001b[39murl\u001b[39m\u001b[39m\"\u001b[39m),\n\u001b[1;32m     <a href='vscode-notebook-cell:/home/lillian/Coding/jupyter/assignment.ipynb#W0sZmlsZQ%3D%3D?line=72'>73</a>\u001b[0m             cat\u001b[39m.\u001b[39mget(\u001b[39m\"\u001b[39m\u001b[39mwidth\u001b[39m\u001b[39m\"\u001b[39m),\n\u001b[1;32m     <a href='vscode-notebook-cell:/home/lillian/Coding/jupyter/assignment.ipynb#W0sZmlsZQ%3D%3D?line=73'>74</a>\u001b[0m             cat\u001b[39m.\u001b[39mget(\u001b[39m\"\u001b[39m\u001b[39mheight\u001b[39m\u001b[39m\"\u001b[39m),\n\u001b[1;32m     <a href='vscode-notebook-cell:/home/lillian/Coding/jupyter/assignment.ipynb#W0sZmlsZQ%3D%3D?line=74'>75</a>\u001b[0m         )\n\u001b[0;32m---> <a href='vscode-notebook-cell:/home/lillian/Coding/jupyter/assignment.ipynb#W0sZmlsZQ%3D%3D?line=77'>78</a>\u001b[0m \u001b[39mdef\u001b[39;00m \u001b[39mget_cat_image\u001b[39m(url: String) \u001b[39m-\u001b[39m\u001b[39m>\u001b[39m Image:\n\u001b[1;32m     <a href='vscode-notebook-cell:/home/lillian/Coding/jupyter/assignment.ipynb#W0sZmlsZQ%3D%3D?line=78'>79</a>\u001b[0m \u001b[39m    \u001b[39m\u001b[39m\"\"\"Fetch an image url of the cat provided, returns an image file.\u001b[39;00m\n\u001b[1;32m     <a href='vscode-notebook-cell:/home/lillian/Coding/jupyter/assignment.ipynb#W0sZmlsZQ%3D%3D?line=79'>80</a>\u001b[0m \n\u001b[1;32m     <a href='vscode-notebook-cell:/home/lillian/Coding/jupyter/assignment.ipynb#W0sZmlsZQ%3D%3D?line=80'>81</a>\u001b[0m \u001b[39m    Args:\u001b[39;00m\n\u001b[0;32m   (...)\u001b[0m\n\u001b[1;32m     <a href='vscode-notebook-cell:/home/lillian/Coding/jupyter/assignment.ipynb#W0sZmlsZQ%3D%3D?line=84'>85</a>\u001b[0m \u001b[39m        Image: An image file parsed with the PIL library, read from a bytestream from the cats API.\u001b[39;00m\n\u001b[1;32m     <a href='vscode-notebook-cell:/home/lillian/Coding/jupyter/assignment.ipynb#W0sZmlsZQ%3D%3D?line=85'>86</a>\u001b[0m \u001b[39m    \"\"\"\u001b[39;00m\n\u001b[1;32m     <a href='vscode-notebook-cell:/home/lillian/Coding/jupyter/assignment.ipynb#W0sZmlsZQ%3D%3D?line=86'>87</a>\u001b[0m     cr \u001b[39m=\u001b[39m requests\u001b[39m.\u001b[39mget(url)\n",
 | 
				
			||||||
 | 
					      "\u001b[0;31mNameError\u001b[0m: name 'String' is not defined"
 | 
				
			||||||
 | 
					     ]
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					   ],
 | 
				
			||||||
   "source": [
 | 
					   "source": [
 | 
				
			||||||
    "from collections.abc import Generator\n",
 | 
					    "from collections.abc import Generator\n",
 | 
				
			||||||
    "from io import BytesIO\n",
 | 
					    "from io import BytesIO\n",
 | 
				
			||||||
| 
						 | 
					@ -33,11 +45,11 @@
 | 
				
			||||||
    "            return self.image.resize((self.width, self.height))\n",
 | 
					    "            return self.image.resize((self.width, self.height))\n",
 | 
				
			||||||
    "        return self.image\n",
 | 
					    "        return self.image\n",
 | 
				
			||||||
    "\n",
 | 
					    "\n",
 | 
				
			||||||
    "    def save_image(self, path) -> bool:\n",
 | 
					    "    def save_image(self, path: str) -> bool:\n",
 | 
				
			||||||
    "        \"\"\"Save image in cat to disk\n",
 | 
					    "        \"\"\"Save image in cat to disk\n",
 | 
				
			||||||
    "\n",
 | 
					    "\n",
 | 
				
			||||||
    "        Args:\n",
 | 
					    "        Args:\n",
 | 
				
			||||||
    "            path (String): the path to save the cat picture to.\n",
 | 
					    "            path (str): the path to save the cat picture to.\n",
 | 
				
			||||||
    "\n",
 | 
					    "\n",
 | 
				
			||||||
    "        Returns:\n",
 | 
					    "        Returns:\n",
 | 
				
			||||||
    "            bool: return if the function executed correctly, passthrough of the save function of Image.\n",
 | 
					    "            bool: return if the function executed correctly, passthrough of the save function of Image.\n",
 | 
				
			||||||
| 
						 | 
					@ -45,7 +57,7 @@
 | 
				
			||||||
    "        return self.get_image().save(f\"{path}/{self.id}.png\")\n",
 | 
					    "        return self.get_image().save(f\"{path}/{self.id}.png\")\n",
 | 
				
			||||||
    "\n",
 | 
					    "\n",
 | 
				
			||||||
    "\n",
 | 
					    "\n",
 | 
				
			||||||
    "def get_cat_data(count=1) -> list[dict]:\n",
 | 
					    "def get_cat_data(count: int = 1) -> list[dict]:\n",
 | 
				
			||||||
    "    \"\"\"Fetch a cat from the cat API, return a parsed JSON object.\n",
 | 
					    "    \"\"\"Fetch a cat from the cat API, return a parsed JSON object.\n",
 | 
				
			||||||
    "\n",
 | 
					    "\n",
 | 
				
			||||||
    "    Args:\n",
 | 
					    "    Args:\n",
 | 
				
			||||||
| 
						 | 
					@ -60,15 +72,15 @@
 | 
				
			||||||
    "    return response.json()\n",
 | 
					    "    return response.json()\n",
 | 
				
			||||||
    "\n",
 | 
					    "\n",
 | 
				
			||||||
    "\n",
 | 
					    "\n",
 | 
				
			||||||
    "def get_cats(cat_json) -> Generator[Cat]:\n",
 | 
					    "def get_cats(cat_json: list[dict]) -> Generator[Cat]:\n",
 | 
				
			||||||
    "    \"\"\"Create a cat image from a JSON object formatted like the cat API\n",
 | 
					    "    \"\"\"Create a cat image from a JSON object formatted like the cat API\n",
 | 
				
			||||||
    "\n",
 | 
					    "\n",
 | 
				
			||||||
    "    Args:\n",
 | 
					    "    Args:\n",
 | 
				
			||||||
    "        cat_json (list[dict]): Expects a list with a length > 1 with dicts in it that contains at least the fields:\n",
 | 
					    "        cat_json (list[dict]): Expects a list with a length > 1 with dicts in it that contains at least the fields:\n",
 | 
				
			||||||
    "        (String) id\n",
 | 
					    "        (str) id\n",
 | 
				
			||||||
    "        (String) url\n",
 | 
					    "        (str) url\n",
 | 
				
			||||||
    "        (String) width\n",
 | 
					    "        (str) width\n",
 | 
				
			||||||
    "        (String) height\n",
 | 
					    "        (str) height\n",
 | 
				
			||||||
    "\n",
 | 
					    "\n",
 | 
				
			||||||
    "    Returns:\n",
 | 
					    "    Returns:\n",
 | 
				
			||||||
    "        Generator[Cat]: A Generator object creating cat objects from the JSON object.\n",
 | 
					    "        Generator[Cat]: A Generator object creating cat objects from the JSON object.\n",
 | 
				
			||||||
| 
						 | 
					@ -83,9 +95,12 @@
 | 
				
			||||||
    "        )\n",
 | 
					    "        )\n",
 | 
				
			||||||
    "\n",
 | 
					    "\n",
 | 
				
			||||||
    "\n",
 | 
					    "\n",
 | 
				
			||||||
    "def get_cat_image(url) -> Image:\n",
 | 
					    "def get_cat_image(url: str) -> Image:\n",
 | 
				
			||||||
    "    \"\"\"Fetch an image url of the cat provided, returns an image file.\n",
 | 
					    "    \"\"\"Fetch an image url of the cat provided, returns an image file.\n",
 | 
				
			||||||
    "\n",
 | 
					    "\n",
 | 
				
			||||||
 | 
					    "    Args:\n",
 | 
				
			||||||
 | 
					    "        url (str): the amount of cats to return.\n",
 | 
				
			||||||
 | 
					    "\n",
 | 
				
			||||||
    "    Returns:\n",
 | 
					    "    Returns:\n",
 | 
				
			||||||
    "        Image: An image file parsed with the PIL library, read from a bytestream from the cats API.\n",
 | 
					    "        Image: An image file parsed with the PIL library, read from a bytestream from the cats API.\n",
 | 
				
			||||||
    "    \"\"\"\n",
 | 
					    "    \"\"\"\n",
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue