示例#1
0
    def __init__(self, data_source, **kwargs):

        # Confirms required keys for datasource config info
        RDBSHub.__init__(self, data_source)

        # These attributes are required for certain base class methods
        self.data_source = data_source
        self.placeholder_char = '%s'

        self.quote_char = """'"""
        self.max_connect_attempts = 20
        self.sleep_interval = 1

        self.client_cursor = None
        if 'cursor' in kwargs:
            self.client_cursor = kwargs['cursor']

        # Register return_type methods
        self.valid_return_types['iter'] = self.get_iter
        self.valid_return_types['dict'] = self.get_dict
        self.valid_return_types['dict_json'] = self.get_dict_json
        self.valid_return_types['tuple'] = self.get_tuple
        self.valid_return_types['tuple_json'] = self.get_tuple_json
        self.valid_return_types['set'] = self.get_set
        self.valid_return_types['table'] = self.get_table
        self.valid_return_types['table_json'] = self.get_table_json
        self.valid_return_types['set_json'] = self.get_set_json
        self.valid_return_types['rowcount'] = self.get_rowcount
        self.valid_return_types['callback'] = self.get_callback
        """
        SQLHub.connection[ host_type ][ con_obj="Connection Object",
                                  cursor="Database cursor" ]
        """
        self.connection = dict()

        # Configuration object for data source instance
        self.conf = self.get_data_source_config(self.data_source)

        # Load the procedures
        self.load_procs(self.data_source)

        __all__ = [
            'get_databases',  # noqa
            'use_database',
            'escape_string',
            'disconnect',
            'execute',
            'get_iter',
            'get_dict',
            'get_dict_json',
            'get_list',
            'get_list_json',
            'get_set',
            'get_set_json',
            'get_callback'
        ]
示例#2
0
文件: SQLHub.py 项目: rniwa/datazilla
    def __init__(self, data_source, **kwargs):

        ##Confirms required keys for datasource config info##
        RDBSHub.__init__(self, data_source)

        ##These attributes are required for certain base class methods##
        self.data_source = data_source
        self.placeholder_char = "%s"

        self.quote_char = """'"""
        self.max_connect_attempts = 20
        self.sleep_interval = 1

        self.client_cursor = None
        if "cursor" in kwargs:
            self.client_cursor = kwargs["cursor"]

        ##Register return_type methods##
        self.valid_return_types["iter"] = self.get_iter
        self.valid_return_types["dict"] = self.get_dict
        self.valid_return_types["dict_json"] = self.get_dict_json
        self.valid_return_types["tuple"] = self.get_tuple
        self.valid_return_types["tuple_json"] = self.get_tuple_json
        self.valid_return_types["set"] = self.get_set
        self.valid_return_types["table"] = self.get_table
        self.valid_return_types["table_json"] = self.get_table_json
        self.valid_return_types["set_json"] = self.get_set_json
        self.valid_return_types["callback"] = self.get_callback

        """
        SQLHub.connection[ host_type ][ con_obj="Connection Object",
                                  cursor="Database cursor" ]
        """
        self.connection = dict()

        ##Configuration object for data source instance##
        self.conf = self.get_data_source_config(self.data_source)

        ##Load the procedures##
        self.load_procs(self.data_source)

        __all__ = [
            "get_databases",
            "use_database",
            "escape_string",
            "disconnect",
            "execute",
            "get_iter",
            "get_dict",
            "get_dict_json",
            "get_list",
            "get_list_json",
            "get_set",
            "get_set_json",
            "get_callback",
        ]
示例#3
0
    def __init__(self, data_source, **kwargs):

        # Confirms required keys for datasource config info
        RDBSHub.__init__(self, data_source)

        # These attributes are required for certain base class methods
        self.data_source = data_source
        self.placeholder_char = '%s'

        self.quote_char = """'"""
        self.max_connect_attempts = 20
        self.sleep_interval = 1

        self.client_cursor = None
        if 'cursor' in kwargs:
            self.client_cursor = kwargs['cursor']

        # Register return_type methods
        self.valid_return_types['iter'] = self.get_iter
        self.valid_return_types['dict'] = self.get_dict
        self.valid_return_types['dict_json'] = self.get_dict_json
        self.valid_return_types['tuple'] = self.get_tuple
        self.valid_return_types['tuple_json'] = self.get_tuple_json
        self.valid_return_types['set'] = self.get_set
        self.valid_return_types['table'] = self.get_table
        self.valid_return_types['table_json'] = self.get_table_json
        self.valid_return_types['set_json'] = self.get_set_json
        self.valid_return_types['rowcount'] = self.get_rowcount
        self.valid_return_types['callback'] = self.get_callback

        """
        SQLHub.connection[ host_type ][ con_obj="Connection Object",
                                  cursor="Database cursor" ]
        """
        self.connection = dict()

        # Configuration object for data source instance
        self.conf = self.get_data_source_config(self.data_source)

        # Load the procedures
        self.load_procs(self.data_source)

        __all__ = ['get_databases',  # noqa
                   'use_database',
                   'escape_string',
                   'disconnect',
                   'execute',
                   'get_iter',
                   'get_dict',
                   'get_dict_json',
                   'get_list',
                   'get_list_json',
                   'get_set',
                   'get_set_json',
                   'get_callback']
示例#4
0
    def __init__(self, dataSource, **kwargs):

        ##Confirms required keys for datasource config info##
        RDBSHub.__init__(self, dataSource)

        ##These attributes are required for certain base class methods##
        self.dataSource = dataSource
        self.placeholderChar = '%s'

        self.quoteChar = """'"""
        self.maxConnectAttempts = 20
        self.sleepInterval = 1

        self.clientCursor = None
        if 'cursor' in kwargs:
            self.clientCursor = kwargs['cursor']

        ##Register return_type methods##
        self.validReturnTypes['iter'] = self.getIter
        self.validReturnTypes['dict'] = self.getDict
        self.validReturnTypes['dict_json'] = self.getDictJson
        self.validReturnTypes['tuple'] = self.getTuple
        self.validReturnTypes['tuple_json'] = self.getTupleJson
        self.validReturnTypes['set'] = self.getSet
        self.validReturnTypes['table'] = self.getTable
        self.validReturnTypes['table_json'] = self.getTableJson
        self.validReturnTypes['set_json'] = self.getSetJson
        self.validReturnTypes['callback'] = self.getCallback

        """
        SQLHub.connection[ hostType ][ con_obj="Connection Object",
                                  cursor="Database cursor" ]
        """
        SQLHub.connection = dict()

        ##Configuration object for data source instance##
        self.conf = self.getDataSourceConfig(self.dataSource)

        ##Load the procedures##
        self.loadProcs(self.dataSource)

        __all__ = ['getDatabases',
                   'useDatabase',
                   'escapeString',
                   'disconnect',
                   'execute',
                   'getIter',
                   'getDict',
                   'getDictJson',
                   'getList',
                   'getListJson',
                   'getSet',
                   'getSetJson',
                   'getCallback']
示例#5
0
    def test_execute_rules(self):

        rh = RDBSHub(self.data_source)

        ###
        #See RDBSHub.set_execute_rules for test descriptions
        ###

        #########
        #All tests should raise RDBSHubExecuteError
        #########

        # 1.) make sure we recognize all of the args, chicken being the exception here
        args = dict(chicken=1, proc='fake.proc', return_type='tuple')
        self.__try_it(rh, args)

        # 2.) proc or sql must be provided or we have nothing to execute
        args = dict(return_type='tuple', db=self.db)
        self.__try_it(rh, args)

        # 3.) placeholders and replace must be set to lists
        args = dict(placeholders=dict())
        self.__try_it(rh, args)
        args = dict(replace=dict())
        self.__try_it(rh, args)

        # 4.) key_column is required if the return type is dict, dict_json,
        # set, or set_json
        for key in rh.return_type_key_columns:
            args = dict(return_type=key, proc='fake.proc')
            self.__try_it(rh, args)

        # 5.) If a return type of callback is selected a callback key must be
        # provided wih a function reference
        args = dict(return_type='callback', proc='fake.proc')
        self.__try_it(rh, args)

        # 6.) chunk_size must be provided with a chunk_source
        args = dict(chunk_size=100, proc='fake.proc')
        self.__try_it(rh, args)
        args = dict(chunk_source='table.column', proc='fake.proc')
        self.__try_it(rh, args)