Skip to content

mozancetin/SQLite-Image-Handler

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

43 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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