<commit_before>from sfa.util.faults import *
from sfa.util.server import SfaServer
from sfa.util.xrn import hrn_to_urn
from sfa.server.interface import Interfaces

class Aggregate(SfaServer):

    ##
    # Create a new aggregate object.
    #
    # @param ip the ip address to listen on
    # @param port the port to listen on
    # @param key_file private key filename of registry
    # @param cert_file certificate filename containing public key (could be a GID file)     
    def __init__(self, ip, port, key_file, cert_file):
        SfaServer.__init__(self, ip, port, key_file, cert_file,'aggregate')

##
# Aggregates is a dictionary of aggregate connections keyed on the aggregate hrn

class Aggregates(Interfaces):

    default_dict = {'aggregates': {'aggregate': [Interfaces.default_fields]}}
 
    def __init__(self, api, conf_file = "/etc/sfa/aggregates.xml"):
        Interfaces.__init__(self, api, conf_file)
        # set up a connection to the local aggregate
        # xxx fixme ? - should not we do this only when SFA_AGGREGATE_ENABLED ?
        address = self.api.config.SFA_AGGREGATE_HOST
        port = self.api.config.SFA_AGGREGATE_PORT
        url = 'http://%(address)s:%(port)s' % locals()
        local_aggregate = {'hrn': self.api.hrn,
                           'urn': hrn_to_urn(self.api.hrn, 'authority'),
                           'addr': address,
                           'port': port,
                           'url': url}
        self.interfaces[self.api.hrn] = local_aggregate

        # get connections
        self.update(self.get_connections())
<commit_msg>honor SFA_AGGREGATE_ENABLED<commit_after>from sfa.util.faults import *
from sfa.util.server import SfaServer
from sfa.util.xrn import hrn_to_urn
from sfa.server.interface import Interfaces

class Aggregate(SfaServer):

    ##
    # Create a new aggregate object.
    #
    # @param ip the ip address to listen on
    # @param port the port to listen on
    # @param key_file private key filename of registry
    # @param cert_file certificate filename containing public key (could be a GID file)     
    def __init__(self, ip, port, key_file, cert_file):
        SfaServer.__init__(self, ip, port, key_file, cert_file,'aggregate')

##
# Aggregates is a dictionary of aggregate connections keyed on the aggregate hrn

class Aggregates(Interfaces):

    default_dict = {'aggregates': {'aggregate': [Interfaces.default_fields]}}
 
    def __init__(self, api, conf_file = "/etc/sfa/aggregates.xml"):
        Interfaces.__init__(self, api, conf_file)
        # set up a connection to the local aggregate
        if self.api.config.SFA_AGGREGATE_ENABLED:
            address = self.api.config.SFA_AGGREGATE_HOST
            port = self.api.config.SFA_AGGREGATE_PORT
            url = 'http://%(address)s:%(port)s' % locals()
            local_aggregate = {'hrn': self.api.hrn,
                               'urn': hrn_to_urn(self.api.hrn, 'authority'),
                               'addr': address,
                               'port': port,
                               'url': url}
            self.interfaces[self.api.hrn] = local_aggregate

        # get connections
        self.update(self.get_connections())

{'fraction_non_alphanumeric': 0.09775840597758406, 'fraction_numerical': 0.0, 'mean_word_length': 2.523026315789474, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 2}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 1, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7023012', 'n_tokens_mistral': 988, 'n_tokens_neox': 966, 'n_words': 263}