Project

General

Profile

1
# Program options processing
2

    
3
import os
4

    
5
import util
6

    
7
def env_flag(name): return name in os.environ and os.environ[name] != ''
8

    
9
def get_env_var(name, default, env_names_ref=None):
10
    if env_names_ref != None: env_names_ref.append(name)
11
    return os.getenv(name, default)
12

    
13
def get_env_vars(names, prefix=None, env_names_ref=None, on_unset=util.noop):
14
    vars_ = {}
15
    for name in names:
16
        env_name = name
17
        if prefix != None: env_name = prefix+'_'+env_name
18
        if env_names_ref != None: env_names_ref.append(env_name)
19
        try: vars_[name] = os.environ[env_name]
20
        except KeyError, e: on_unset(e)
21
    return vars_
22

    
23
def env_usage(env_names, optional=False):
24
    str_ = 'env'
25
    for name in env_names:
26
        str_ += ' '
27
        if optional: str_ += '['
28
        str_ += name+'=...'
29
        if optional: str_ += ']'
30
    return str_
(7-7/14)