示例#1
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()
示例#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()