From 3b4aab8efc872e845d0c9775e270adfbbd378ad5 Mon Sep 17 00:00:00 2001 From: Ss5h Date: Tue, 21 Apr 2020 16:28:35 +0900 Subject: [PATCH 1/2] Update support windows path in _parse_compiler_output --- solc/main.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/solc/main.py b/solc/main.py index ecabef5..7b925e2 100644 --- a/solc/main.py +++ b/solc/main.py @@ -69,6 +69,10 @@ def _parse_compiler_output(stdoutdata): sources = output['sources'] for source, data in contracts.items(): + if("Windows" in platform.system()): + drive_path = source.split(':')[0] + drive_path + ":\\"+source.split(':')[1].replace("\\", "\\\\") + data['abi'] = json.loads(data['abi']) data['ast'] = sources[source.split(':')[0]]['AST'] From 5789a39aeed39c4e4e749c938d306604298239cf Mon Sep 17 00:00:00 2001 From: Ss5h Date: Tue, 21 Apr 2020 16:57:43 +0900 Subject: [PATCH 2/2] Fix bug --- solc/main.py | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/solc/main.py b/solc/main.py index 7b925e2..1dc5ab7 100644 --- a/solc/main.py +++ b/solc/main.py @@ -18,7 +18,7 @@ ) import semantic_version - +import platform VERSION_DEV_DATE_MANGLER_RE = re.compile(r'(\d{4})\.0?(\d{1,2})\.0?(\d{1,2})') strip_zeroes_from_month_and_day = functools.partial(VERSION_DEV_DATE_MANGLER_RE.sub, @@ -69,12 +69,14 @@ def _parse_compiler_output(stdoutdata): sources = output['sources'] for source, data in contracts.items(): - if("Windows" in platform.system()): - drive_path = source.split(':')[0] - drive_path + ":\\"+source.split(':')[1].replace("\\", "\\\\") - data['abi'] = json.loads(data['abi']) - data['ast'] = sources[source.split(':')[0]]['AST'] + + if ("Windows" in platform.system()): + split_source = source.split(':') + windows_path = split_source[0] + ":" + split_source[1] + data['ast'] = sources[windows_path]['AST'] + else: + data['ast'] = sources[source.split(':')[0]]['AST'] return contracts