mozancetin / SQLite-Image-Handler

Simple to use image handler for python sqlite3.

Home Page:https://pypi.org/project/SQLiteImageHandler/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

SQLite Image Handler

Simple to use image handler for python sqlite3.

Functions

Function Name Parameters Returns
init databasePath : str
tableName : str
-
startConnection - -
imageSelector path : str bytesContent : bytes
extensionType : str
addImage imageName : str
imageBytes : bytes
extensionType : str
-
getSaveImage imageName : str
savePath : str
-
isImageExists imageName : str isExists : bool
deleteImage imageName : str -
updateImage imageName : str
newImageBytes : bytes
newExtensionType : str
-

See definitions

Usage

  • Importing & Creating Handler

from SQLiteImageHandler.SQLiteImageHandler import ImageHandler

handler = ImageHandler(databasePath = "database.db", tableName = "myimages")

  • Adding an image to the database

handler.addImage(imageName = "Image 1", *handler.imageSelector(path = r"C:\Users\mozancetin\Desktop\myimage1.png"))

  • Saving image from database to computer

# If you want, use a save name like "savedImage" instead of "savedImage.png"
# ..because whatever you write, it will automatically fetch the extension from the database.
handler.getSaveImage(imageName = "Image 1", savePath = r"C:\Users\mozancetin\Desktop\savedImage.png")

  • Updating the image in the database

handler.updateImage(imageName = "Image 1", *handler.imageSelector(path=r"C:\Users\mozancetin\Desktop\myimage2.png"))

  • Deleting an image from database

handler.deleteImage(imageName = "Image 1")

  • Check if image exists in the database

isExists = handler.isImageExists(imageName = "Image 1")
print(isExists)

  • Get bytes of image and extension type

bytesOfImage, extensionType = handler.imageSelector(path=r"C:\Users\mozancetin\Desktop\myimage1.png")
print("Bytes Length: " + str(len(bytesOfImage)) + "\nExtension Type: " + extensionType)


Definitions

init(self,databasePath : str = "database.db", tableName : str = "images") -> None

  • Sets the self.databasePath, self.tableName and calls startConnection() func.

startConnection(self) -> None

  • Starts the connection with SQLite Database.

imageSelector(self, path : str = None) -> bytesContent[bytes], extensionType[str]

  • Selects an image and returns the image's bytes content and extension type.
  • bytesContent[bytes]: Bytes content of image.
  • extensionType[str]: Extension type like png, jpg or something...

addImage(self, imageName : str, imageBytes : bytes, extensionType : str = "png") -> None

  • Adds an image to database.

getSaveImage(self, imageName : str = None, savePath : str = "savedImage") -> None

  • Saves the previously saved image in the database as an image to the given path.

isImageExists(self, imageName : str = None) -> isExists[bool]

  • Checks if image exists in database by image name.
  • isExists[bool]: True if image exists in the database otherwise False

deleteImage(self, imageName : str = None) -> None

  • Deletes image by name in database.

updateImage(self, imageName : str = None, newImageBytes : bytes = None, newExtensionType : str = None) -> None

  • Updates image by name in database.


CMD Things

C:\Users\mozancetin\Desktop\Handler>python SQLiteImageHandler

usage: SQLiteImageHandler [-h] [-v] [--database-path DBPATH] [--table-name TABLENAME] [-a] [-sn SAVE_NAME]
                          [-ip IMAGE_PATH] [-s] [-sdn SAVED_NAME] [-sp SAVE_PATH] [-u] [-in IMAGE_NAME]
                          [-uip UPDATE_IMAGE_PATH] [-d] [-c] [-is]

SQLite Image Handler.

optional arguments:
  -h, --help            show this help message and exit
  -v, --version         show program's version number and exit
  --database-path DBPATH
                        database path.
  --table-name TABLENAME
                        table name of the database

Add an Image:
  Adding an image to the database.

  -a, --add-image       Adds an image to database. (Requires -sn and -ip)
  -sn SAVE_NAME, --save-name SAVE_NAME
                        Save name of image.
  -ip IMAGE_PATH, --image-path IMAGE_PATH
                        Path of the selected image

Save an Image:
  Saving image from database to computer.

  -s, --save-image      Saves the previously saved image in the database as an image to the given path. (Requires -sdn
                        and -sp)
  -sdn SAVED_NAME, --saved-name SAVED_NAME
                        Saved name of image in the database.
  -sp SAVE_PATH, --save-path SAVE_PATH
                        Save path. (default: savedImage.png)

Update an Image:
  Updating the image in the database.

  -u, --update-image    Updates image by name in database. (Requires -in and -uip)
  -in IMAGE_NAME, --image-name IMAGE_NAME
                        Saved name of image in the database.
  -uip UPDATE_IMAGE_PATH, --update-image-path UPDATE_IMAGE_PATH
                        Path of the selected image

Delete an Image:
  Deleting an image from database

  -d, --delete          Deletes image by name in database. (Requires -in)

Other:
  -c, --check           Checks if image exists in database by image name. (Requires -in)
  -is, --image-selector
                        Selects an image and returns the image's bytes length and extension type. (Requires -ip)

TODO's

  • Write a readme file
  • Add different types of images (Right now just png is supported)
  • Add more explanation to functions
  • Add deletePhoto, updatePhoto functions
  • Raise some errors
  • Add Usage to readme
  • Upload to pypi
  • Write a description of each function for README
  • Add some cmd things

About

Simple to use image handler for python sqlite3.

https://pypi.org/project/SQLiteImageHandler/

License:MIT License


Languages

Language:Python 100.0%