예제 #1
0
파일: base.py 프로젝트: jshackley/darkstar
import argparse
import warnings
import logging
import yaml
import os
import re

from pydarkstar.darkobject import DarkObject
from pydarkstar.logutils import basic_config
basic_config(verbose=True)

from six import add_metaclass


class MetaOptions(type):
    def __call__(cls, *args, **kwargs):
        obj = type.__call__(cls, *args, **kwargs)
        getattr(obj, '__after__', lambda: 1)()
        return obj


@add_metaclass(MetaOptions)
class BaseOptions(DarkObject):
    regex_tuple = re.compile('([^=]+)=([^=]+)')

    def __init__(self, config='config.yaml', description=None):
        super(BaseOptions, self).__init__()
        logging.debug('BaseOptions.__init__')
        self._ordered_keys = []
        self._exclude_keys = set()
예제 #2
0
 def __after__(self):
     super(BasicOptions, self).__after__()
     logutils.basic_config(verbose=self.verbose, silent=self.silent, fname='pydarkstar.log')
     self.log_values(level=logging.INFO)
예제 #3
0
import argparse
import warnings
import logging
import yaml
import os
import re

from pydarkstar.darkobject import DarkObject
from pydarkstar.logutils import basic_config
basic_config(verbose=True)

from six import add_metaclass


class MetaOptions(type):
    def __call__(cls, *args, **kwargs):
        obj = type.__call__(cls, *args, **kwargs)
        getattr(obj, '__after__', lambda: 1)()
        return obj


@add_metaclass(MetaOptions)
class BaseOptions(DarkObject):
    regex_tuple = re.compile('([^=]+)=([^=]+)')

    def __init__(self, config='config.yaml', description=None):
        super(BaseOptions, self).__init__()
        logging.debug('BaseOptions.__init__')
        self._ordered_keys = []
        self._exclude_keys = set()