aboutsummaryrefslogtreecommitdiffstats
path: root/pyGHDL/cli
diff options
context:
space:
mode:
authorumarcor <unai.martinezcorral@ehu.eus>2021-07-03 13:48:35 +0200
committerumarcor <unai.martinezcorral@ehu.eus>2021-07-18 22:52:44 +0200
commit23f60a1edee93ad6e68391cf4d21963ac882b635 (patch)
treea7000a73a245e824518f3f0fce12c13f4c2f6086 /pyGHDL/cli
parentd6c71f92412036657c423572e34550b0a733c3fc (diff)
downloadghdl-23f60a1edee93ad6e68391cf4d21963ac882b635.tar.gz
ghdl-23f60a1edee93ad6e68391cf4d21963ac882b635.tar.bz2
ghdl-23f60a1edee93ad6e68391cf4d21963ac882b635.zip
pyGHDL/cli/lsp: use pathlib instead of os.remove, os.rename and os.path
Diffstat (limited to 'pyGHDL/cli')
-rw-r--r--pyGHDL/cli/lsp.py46
1 files changed, 27 insertions, 19 deletions
diff --git a/pyGHDL/cli/lsp.py b/pyGHDL/cli/lsp.py
index ef0591e62..7bd2d026d 100644
--- a/pyGHDL/cli/lsp.py
+++ b/pyGHDL/cli/lsp.py
@@ -36,8 +36,15 @@ from __future__ import absolute_import
from argparse import ArgumentParser
from logging import getLogger, DEBUG, INFO, ERROR, basicConfig
-import sys
-import os
+from sys import (
+ argv as sys_argv,
+ stdin as sys_stdin,
+ stdout as sys_stdout,
+ stderr as sys_stderr,
+ exit as sys_exit,
+)
+from os import environ as os_environ, getcwd as os_getcwd
+from pathlib import Path
from pydecor import export
@@ -55,17 +62,18 @@ def __rotate_log_files(basename: str, num: int):
# Remove the oldest file. This one will be lost.
# Required on Windows as it is an error to rename a file to an existing
# one.
- oldfile = "{}.{}".format(basename, num)
- if os.path.isfile(oldfile):
- os.remove(oldfile)
+ bname = Path(basename)
+ oldfile = bname.with_suffix(str(num))
+ if oldfile.is_file():
+ oldfile.unlink()
# Rotate old files
for i in range(num, 0, -1):
- oldfile = "{}.{}".format(basename, i - 1)
- if os.path.isfile(oldfile):
- os.rename(oldfile, "{}.{}".format(basename, i))
+ oldfile = bname.with_suffix(str(i - 1))
+ if oldfile.is_file():
+ oldfile.rename(bname.with_suffix(str(i)))
# Rotate the newest log file.
- if os.path.isfile(basename):
- os.rename(basename, "{}.0".format(basename))
+ if bname.is_file():
+ bname.rename(bname.with_suffix(str(0)))
def _generateCLIParser() -> ArgumentParser:
@@ -124,7 +132,7 @@ def main():
__rotate_log_files(args.log_file, 5)
logstream = open(args.log_file, "w")
else:
- logstream = sys.stderr
+ logstream = sys_stderr
basicConfig(
format="%(asctime)-15s [%(levelname)s] %(message)s",
@@ -133,22 +141,22 @@ def main():
)
if args.verbose != 0:
- sys.stderr.write("Args: {}\n".format(sys.argv))
- sys.stderr.write("Current directory: {}\n".format(os.getcwd()))
+ sys_stderr.write("Args: {}\n".format(sys_argv))
+ sys_stderr.write("Current directory: {}\n".format(os_getcwd()))
- logger.info("Args: %s", sys.argv)
- logger.info("Current directory is %s", os.getcwd())
+ logger.info("Args: %s", sys_argv)
+ logger.info("Current directory is %s", os_getcwd())
# Connection
- instream = sys.stdin.buffer
+ instream = sys_stdin.buffer
if args.input is not None:
instream = open(args.input, "rb")
- conn = LSPConn(instream, sys.stdout.buffer)
+ conn = LSPConn(instream, sys_stdout.buffer)
trace_file = args.trace_file
if trace_file is None:
- trace_file = os.environ.get("GHDL_LS_TRACE")
+ trace_file = os_environ.get("GHDL_LS_TRACE")
if trace_file is not None:
if args.input is None:
__rotate_log_files(trace_file + ".in", 5)
@@ -164,7 +172,7 @@ def main():
server.run()
except Exception:
logger.exception("Uncaught error")
- sys.exit(1)
+ sys_exit(1)
if __name__ == "__main__":