CCCPaste

dart test

import 'package:args/args.dart';
import 'package:knex_dart/knex_dart.dart';
import 'package:knex_dart_sqlite/knex_dart_sqlite.dart';


const String version = '1.0.0';

ArgParser buildParser() {
return ArgParser()
..addFlag(
'help',
abbr: 'h',
negatable: false,
help: 'Print this usage information.',
)
..addFlag(
'verbose',
abbr: 'v',
negatable: false,
help: 'Show additional command output.',
)
..addFlag('version', negatable: false, help: 'Print the tool version.')
..addOption(
'database',
abbr: 'd',
help: 'Path to the database',
)
..addOption(
'add',
abbr: 'a',
help: 'Add updates from supplied Tab-Separated Value (TSV).',
);


}

void printUsage(ArgParser argParser) {
print('Usage: dart cohab_updater.dart <flags> [arguments]');
print(argParser.usage);
}

// Straight up gemini
void openDatabase(String path) async {
print("Opening the database $path ...");
final db = await KnexSQLite.connect(filename: 'Test.db');

try {

// final grab = await db.query
// .select(['name', 'comment', 'type'])
// .table('ProcessInformation')
// .limit(5);

// print(grab);
} catch (e) {
print("Query failed: $e");
}
}

void main(List<String> arguments) {
String dbpath;
final ArgParser argParser = buildParser();
try {
final ArgResults results = argParser.parse(arguments);
bool verbose = false;

// Process the parsed arguments.
if (results.flag('help')) {
printUsage(argParser);
return;
}

if (results.flag('version')) {
print('cohab_updater version: $version');
return;
}

if (results.flag('verbose')) {
verbose = true;
}

// Act on the arguments provided.
//print('Positional arguments: ${results.rest}');
//if (verbose) {
// print('[VERBOSE] All arguments: ${results.arguments}');
//}

if (!results.wasParsed('database')) {
print('No database was supplied!');
return;
}

if (!results.wasParsed('add')) {
print('Missing Tab-Separate Values sheet!');
return;
}

dbpath = results["database"];
openDatabase(dbpath);


} on FormatException catch (e) {
// Print usage information if an invalid argument was provided.
print(e.message);
print('');
printUsage(argParser);
}
}