summaryrefslogtreecommitdiff
path: root/poezio/args.py
diff options
context:
space:
mode:
Diffstat (limited to 'poezio/args.py')
-rw-r--r--poezio/args.py86
1 files changed, 0 insertions, 86 deletions
diff --git a/poezio/args.py b/poezio/args.py
deleted file mode 100644
index 3907fc88..00000000
--- a/poezio/args.py
+++ /dev/null
@@ -1,86 +0,0 @@
-"""
-Module related to the argument parsing
-"""
-import pkg_resources
-import stat
-import sys
-from argparse import ArgumentParser, SUPPRESS, Namespace
-from pathlib import Path
-from shutil import copy2
-from typing import Tuple
-
-from poezio.version import __version__
-from poezio import xdg
-
-
-def parse_args(CONFIG_PATH: Path):
- """
- Parse the arguments from the command line
- """
- parser = ArgumentParser('poezio')
- parser.add_argument(
- "-c",
- "--check-config",
- dest="check_config",
- action='store_true',
- help='Check the config file')
- parser.add_argument(
- "-d",
- "--debug",
- dest="debug",
- help="The file where debug will be written",
- metavar="DEBUG_FILE")
- parser.add_argument(
- "-f",
- "--file",
- dest="filename",
- default=CONFIG_PATH / 'poezio.cfg',
- type=Path,
- help="The config file you want to use",
- metavar="CONFIG_FILE")
- parser.add_argument(
- '-v',
- '--version',
- action='version',
- version='Poezio v%s' % __version__,
- )
- parser.add_argument(
- "--custom-version",
- dest="custom_version",
- help=SUPPRESS,
- metavar="VERSION",
- default=__version__
- )
- return parser.parse_args()
-
-
-def run_cmdline_args() -> Tuple[Namespace, bool]:
- "Parse the command line arguments"
- options = parse_args(xdg.CONFIG_HOME)
- firstrun = False
-
- # Copy a default file if none exists
- if not options.filename.is_file():
- try:
- options.filename.parent.mkdir(parents=True, exist_ok=True)
- except OSError as e:
- sys.stderr.write(
- 'Poezio was unable to create the config directory: %s\n' % e)
- sys.exit(1)
- default = Path(__file__).parent / '..' / 'data' / 'default_config.cfg'
- other = Path(
- pkg_resources.resource_filename('poezio', 'default_config.cfg'))
- if default.is_file():
- copy2(str(default), str(options.filename))
- elif other.is_file():
- copy2(str(other), str(options.filename))
-
- # Inside the nixstore and possibly other distributions, the reference
- # file is readonly, so is the copy.
- # Make it writable by the user who just created it.
- if options.filename.exists():
- options.filename.chmod(options.filename.stat().st_mode
- | stat.S_IWUSR)
- firstrun = True
-
- return (options, firstrun)