Passed
Push — master ( 305552...00a4d3 )
by Oleksandr
02:44
created

tabpy.tabpy_server.management.util._UTC.__repr__()   A

Complexity

Conditions 1

Size

Total Lines 2
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
eloc 2
dl 0
loc 2
rs 10
c 0
b 0
f 0
cc 1
nop 1
1
import logging
2
import os
3
try:
4
    from ConfigParser import ConfigParser as _ConfigParser
5
except ImportError:
6
    from configparser import ConfigParser as _ConfigParser
7
from datetime import datetime, timedelta, tzinfo
8
from tabpy.tabpy_server.app.ConfigParameters import ConfigParameters
9
from tabpy.tabpy_server.app.SettingsParameters import SettingsParameters
10
11
12
def write_state_config(state, settings, logger=logging.getLogger(__name__)):
13
    if SettingsParameters.StateFilePath in settings:
14
        state_path = settings[SettingsParameters.StateFilePath]
15
    else:
16
        msg = f'{ConfigParameters.TABPY_STATE_PATH} is not set'
17
        logger.log(logging.CRITICAL, msg)
18
        raise ValueError(msg)
19
20
    logger.log(logging.DEBUG, f'State path is {state_path}')
21
    state_key = os.path.join(state_path, 'state.ini')
22
    tmp_state_file = state_key
23
24
    with open(tmp_state_file, 'w') as f:
25
        state.write(f)
26
27
28
def _get_state_from_file(state_path, logger=logging.getLogger(__name__)):
29
    state_key = os.path.join(state_path, 'state.ini')
30
    tmp_state_file = state_key
31
32
    if not os.path.exists(tmp_state_file):
33
        msg = f'Missing config file at {tmp_state_file}'
34
        logger.log(logging.CRITICAL, msg)
35
        raise ValueError(msg)
36
37
    config = _ConfigParser(allow_no_value=True)
38
    config.optionxform = str
39
    config.read(tmp_state_file)
40
41
    if not config.has_section('Service Info'):
42
        msg = ('Config error: Expected [Service Info] section in '
43
               f'{tmp_state_file}')
44
        logger.log(logging.CRITICAL, msg)
45
        raise ValueError(msg)
46
47
    return config
48
49