Skip to main content

A demo command line tool for displaying information from a comma or pipe delimited file from a fictional Company named Outdoor.sy

Project description

Outdoorsy Command-Line Tool

Introduction

A demo command line tool for displaying information from a comma or pipe delimited file.

Features

  • Use as command-line tool interactively or by passing arguments
  • Creates a local SQL Lite Database for storing files
  • Database is created from the running directory or optionally a specified flag
  • View database in a table format from the command-line
  • Sort by "Name" or "Vehicle Type" columns (from sample files)

Installation

Grab a copy of the code with pip:

pip install outdoorsy

Usage

outdoorsy can be used to extract info from a Comma or Pipe delimited file in two ways:

  • Command line/Terminal tool ran interactively outdoorsy
  • Command line/Terminal tool ran with arguments outdoorsy -h

1. Command Line/Terminal tool

outdoorsy

Run outdoorsy -h to see the help output:

outdoorsy -h

usage:

usage: outdoorsy [-h] [-f FILE] [-d {comma,pipe}] [-db DBPATH] [-v] [-s {name,vehicle_type}] [--version]

Outdoorsy Command Line tool for displaying Outdoorsy user information.

Arguments

options:
  -h, --help            show this help message and exit
  --version             show program's version number and exit

options - Upload a new file.:
  -f FILE, --file FILE  Full path to file
  -d {comma,pipe}, --delimiter {comma,pipe}
                        File's delimiter
  -db DBPATH, --dbpath DBPATH
                        Path to create database. Defaults to current directory

options - View and Sort data:
  -v, --view            View the Outdoorsy Customer Table.
  -s {name,vehicle_type}, --sort {name,vehicle_type}
                        Sort the database table by the Outdoorsy Customer's Fullname or Vehicle Type                       

Examples

Upload CSV file to database

outdoorsy -f C:\folder\file.csv -d comma

Upload Pipe delimited file to database

outdoorsy -f C:\folder\pipes.text -d pipe

Upload Pipe delimited file to database created at specified path

outdoorsy -f C:\folder\pipes.text -d pipe -db C:\database\

View data that has previously been uploaded to the database

outdoorsy -v

View data that has previously been uploaded to the database at specified path

outdoorsy -v -db C:\database\

View data sorted by Vehicle Type

outdoorsy -v -s vehicle_type

View data sorted by name

outdoorsy -v -s name

Future Enhancements

  • Update --dbpath argument to --dbdir to make it clear the user needs to specify the directory
  • Add additional tests
  • Add logic to handle duplicate database entries
  • Add the ability to sort by any column
  • Depending on customer needs, add support for different headers and file types (outside of comma or pipe delimited)
  • Convert to click library (currently using argparse)
  • Build CI/CD pipeline for releases using GitHub Actions
  • Optimize the logic for argparse and interactive menu so that it's more efficient and avoid duplicates in code
  • Move the default used for db_path from the database functions to the argparse argument. This would allow efficiency gains in argparse and when running interactively since a dbpath would always be specified

License

This program is licensed with an MIT License.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

outdoorsy-1.0.0.tar.gz (10.4 kB view hashes)

Uploaded Source

Built Distribution

outdoorsy-1.0.0-py3-none-any.whl (10.5 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page