From 360e9cdd3455ddba3f8d33f6f6938433b07f6870 Mon Sep 17 00:00:00 2001 From: Vladimir Chebotarev Date: Thu, 26 Dec 2019 19:34:50 +0300 Subject: [PATCH] Improved command-line user experience. --- DAAP10.1.3.py | 33 ++++++++++++++++++++++++++++----- README.md | 6 ++++++ TheDic => TheDic.txt | 0 3 files changed, 34 insertions(+), 5 deletions(-) mode change 100644 => 100755 DAAP10.1.3.py rename TheDic => TheDic.txt (100%) diff --git a/DAAP10.1.3.py b/DAAP10.1.3.py old mode 100644 new mode 100755 index 48d889f..3c7bd62 --- a/DAAP10.1.3.py +++ b/DAAP10.1.3.py @@ -1,3 +1,5 @@ +#!/usr/bin/env python3 + # NOTE: This program does not support either NADF or Z-Dictionaries. # This is DAAP10.1.3.py; it is based on DAAP09.6; it adds several @@ -649,8 +651,29 @@ def covar(list1, list2): corr = psum / math.sqrt(var1 * var2) return corr -Directory = input('Type subDirectory name containing your files:') -os.chdir(Directory) + +import argparse +import os + + +parser = argparse.ArgumentParser() +parser.add_argument('--non-interactive', action='store_true') +parser.add_argument('--directory', type=str, default='default/') +parser.add_argument('--source-directory', type=str, default='.') +parser.add_argument('--skip-c9-check', action='store_true') +args = parser.parse_args() + +if not args.non_interactive: + Directory = input('Type subDirectory name containing your files:') + os.chdir(Directory) +else: + Directory = args.directory + +if not Directory.endswith('/'): + Directory += '/' + +os.makedirs('DATA/' + Directory, exist_ok=True) + LOGFile = 'DATA/' + Directory + '.LOGFile.txt' open(LOGFile, 'w') MTTFile = 'DATA/' + Directory + '.MTTFile.txt' @@ -680,7 +703,7 @@ def covar(list1, list2): SMTFiles = [] WRDFiles = [] TTRFiles = [] -Files0 = os.listdir('.') +Files0 = os.listdir(args.source_directory) for v in range(len(Files0)): SplitFile = re.split('\.', Files0[v]) if len(SplitFile) > 2: @@ -690,7 +713,7 @@ def covar(list1, list2): elif len(SplitFile) == 1: continue elif re.match('txt', SplitFile[1]) is not None or re.match('TXT', SplitFile[1]) is not None: - TxtFiles.append(Files0[v]) + TxtFiles.append(os.path.join(args.source_directory, Files0[v])) WRDFile = 'DATA/' + SplitFile[0] + '.WRD.csv' WRDFiles.append(WRDFile) SMTFile = 'DATA/' + SplitFile[0] + '.SMT.csv' @@ -1118,7 +1141,7 @@ def covar(list1, list2): 'categories at head of file', TxtFiles[0]) ERRORS1 += 1 - if c9Check == 0: + if c9Check == 0 and not args.skip_c9_check: print('ERROR 14: Missing \\c9') print('ERROR 14: Missing \\c9', file=open(LOGFile, 'a')) ERRORS1 += 1 diff --git a/README.md b/README.md index 0c1ad8f..2f26d2f 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,8 @@ # DAAP10 python version of Discourse Attributes Analysis Program + +## Command-line usage + +``` +./DAAP10.1.3.py --non-interactive --source-directory texts +``` diff --git a/TheDic b/TheDic.txt similarity index 100% rename from TheDic rename to TheDic.txt