A demo command line tool for displaying information from a comma or pipe delimited file.
- 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)
Grab a copy of the code with pip:
pip install outdoorsy
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
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.
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
Directory 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
outdoorsy -f C:\folder\file.csv -d comma
outdoorsy -f C:\folder\pipes.text -d pipe
outdoorsy -f C:\folder\pipes.text -d pipe -db C:\database\
outdoorsy -v
outdoorsy -v -db C:\database\
outdoorsy -v -s vehicle_type
outdoorsy -v -s name
- 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
This program is licensed with an MIT License.