From 54759e6163255f1442442a68717b53973d7b52f1 Mon Sep 17 00:00:00 2001 From: HaeckelK Date: Mon, 14 Feb 2022 21:11:59 +0000 Subject: [PATCH 01/16] feat: add required boolean field to Argument --- python-argparse-generator/src/__tests__/index.test.ts | 11 +++++++++-- python-argparse-generator/src/index.ts | 1 + 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/python-argparse-generator/src/__tests__/index.test.ts b/python-argparse-generator/src/__tests__/index.test.ts index 110e205..48bb61a 100644 --- a/python-argparse-generator/src/__tests__/index.test.ts +++ b/python-argparse-generator/src/__tests__/index.test.ts @@ -3,8 +3,15 @@ import { GenerateCode } from '../index'; test('Basic check of output', () => { expect( GenerateCode([ - { name: 'folder', type: 'str', variableName: 'folder', default: '"/data"', defaultDisplay: '"/data"' }, - { name: 'limit', type: 'int', variableName: 'limit', default: '10', defaultDisplay: '10' }, + { + name: 'folder', + type: 'str', + variableName: 'folder', + default: '"/data"', + defaultDisplay: '"/data"', + required: true, + }, + { name: 'limit', type: 'int', variableName: 'limit', default: '10', defaultDisplay: '10', required: true }, ]), ).toBe(`import argparse from typing import Dict, Any diff --git a/python-argparse-generator/src/index.ts b/python-argparse-generator/src/index.ts index a52f7df..56fd1b8 100644 --- a/python-argparse-generator/src/index.ts +++ b/python-argparse-generator/src/index.ts @@ -4,6 +4,7 @@ export type Argument = { variableName: string; default: string; defaultDisplay: string; + required: boolean; }; function argumentToText(argument: Argument) { From 83ee9ff3e1110ea51116a161106137f080ef44af Mon Sep 17 00:00:00 2001 From: HaeckelK Date: Mon, 14 Feb 2022 21:19:33 +0000 Subject: [PATCH 02/16] refactor: remove defaultDisplay from Argument --- .../src/__tests__/index.test.ts | 9 ++++++--- python-argparse-generator/src/index.ts | 12 +++++++++--- 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/python-argparse-generator/src/__tests__/index.test.ts b/python-argparse-generator/src/__tests__/index.test.ts index 48bb61a..53e1154 100644 --- a/python-argparse-generator/src/__tests__/index.test.ts +++ b/python-argparse-generator/src/__tests__/index.test.ts @@ -7,11 +7,14 @@ test('Basic check of output', () => { name: 'folder', type: 'str', variableName: 'folder', - default: '"/data"', - defaultDisplay: '"/data"', + default: '/data', required: true, }, - { name: 'limit', type: 'int', variableName: 'limit', default: '10', defaultDisplay: '10', required: true }, + { name: 'limit', + type: 'int', + variableName: 'limit', + default: '10', + required: true }, ]), ).toBe(`import argparse from typing import Dict, Any diff --git a/python-argparse-generator/src/index.ts b/python-argparse-generator/src/index.ts index 56fd1b8..2bf5a8f 100644 --- a/python-argparse-generator/src/index.ts +++ b/python-argparse-generator/src/index.ts @@ -3,7 +3,6 @@ export type Argument = { type: string; variableName: string; default: string; - defaultDisplay: string; required: boolean; }; @@ -11,12 +10,19 @@ function argumentToText(argument: Argument) { switch (argument.type) { case 'bool': return `parser.add_argument("${argument.name}", action="store_${argument.default}")`; - break; default: + let defaultDisplay; + + if (argument.type === 'str') { + defaultDisplay = `"${argument.default}"`; + } else { + defaultDisplay = argument.default; + } + if (argument.default === undefined) { return `parser.add_argument("${argument.name}", type=${argument.type})`; } else { - return `parser.add_argument("${argument.name}", type=${argument.type}, default=${argument.defaultDisplay})`; + return `parser.add_argument("${argument.name}", type=${argument.type}, default=${defaultDisplay})`; } } } From cee7ada3edc5fea79af8fc6be0e37f51723036a3 Mon Sep 17 00:00:00 2001 From: HaeckelK Date: Mon, 14 Feb 2022 21:21:49 +0000 Subject: [PATCH 03/16] refactor: GenerateCode -> argparseCode --- README.md | 6 +++--- python-argparse-generator/src/__tests__/index.test.ts | 4 ++-- python-argparse-generator/src/index.ts | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 2dbeae4..5284f89 100644 --- a/README.md +++ b/README.md @@ -28,7 +28,7 @@ Within HTML: