Source code for syncgitlab2msproject.argparse_actions
import argparse
import os
[docs]class EnvDefault(argparse.Action):
# Source: https://stackoverflow.com/a/10551190/3813064
def __init__(self, envvar, required=True, default=None, **kwargs):
if not default and envvar:
if envvar in os.environ:
default = os.environ[envvar]
if required and default:
required = False
super(EnvDefault, self).__init__(default=default, required=required, **kwargs)
def __call__(self, parser, namespace, values, option_string=None):
setattr(namespace, self.dest, values)