Coder Social home page Coder Social logo

file-database's Introduction

File Database

☑️ Bandit verified  |  ☑️ Synk verified  |  ☑️ Pylint verified 9.93/10

alt text alt text

Purpose

This program is a local file storage database for storage utilizing the MySQL standard query language.

License

The program is licensed under GNU Public License v3.0

Contributions or Issues

CONTRIBUTING

Prereqs

This program runs on Windows 10 and Debian-based Linux, written in Python 3.9 and updated to version 3.10.6

Installation

  • Run the setup.py script to build a virtual environment and install all external packages in the created venv.

Examples:
  - Windows: python setup.py venv
  - Linux: python3 setup.py venv

  • Once virtual env is built traverse to the (Scripts-Windows or bin-Linux) directory in the environment folder just created.
  • For Windows, in the venv\Scripts directory, execute activate or activate.bat script to activate the virtual environment.
  • For Linux, in the venv/bin directory, execute source activate to activate the virtual environment.
  • If for some reason issues are experienced with the setup script, the alternative is to manually create an environment, activate it, then run pip install -r packages.txt in project root.
  • To exit from the virtual environment when finished, execute deactivate.

How to use

  • Once the virtual environment is activated, traverse to the directory containing the program and execute in shell
  • Execute to access the command menu

Function Layout

-- file_database.py --

get_by_index  -  Finds file name in storage location based on passed in index.

delete_file  -  Delete file stored in the storage database.

store_file  -  Stores file in the storage database.

extract_file  -  Extracts file from the storage database to Dock.

list_storage  -  Queries database for list of all files and displays as enumerated list to the user.

main_menu  -  Display command options and receives input on what command to execute.

main  -  Ensures critical directories are created, checks id database exists & creates if non-existent, and calls MainMenu().

-- utils.py --

db_error_query  -  Looks up the exact error raised by database error catch-all handler.

query_db_create  -  MySQL query to create the Storage table.

query_item_delete  -  MySQL query to delete item from storage database.

query_item_fetch  -  MySQL query to retrieve item from storage database.

query_select_all &nbspl-  MySQL query to retrieve all contents of storage database.

query_store_item  -  MySQL query to store data into the Storage database.

print_err  -  Displays error message via stderr for supplied time interval.

Exit Codes

-- file_database.py --

0 - Successful operation (main, main_menu)
1 - Error occurred acquiring semaphore for database connection (main)
2 - Critical error occurred during database operation (main)

-- utils.py --

3 - Passed in MySQL query is not a complete statement (query_handler)
4 - Fetch flag was set to unknown value (query_handler)

file-database's People

Contributors

ngimb64 avatar thebugfather avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.