Пример #1
0
 def stop(self):
     from customer import supplier_connector
     from userid import my_id
     for sc in supplier_connector.connectors(my_id.getLocalID()).values():
         sc.automat('shutdown')
     # TODO: disconnect other suppliers
     return True
Пример #2
0
 def health_check(self):
     from customer import supplier_connector
     from userid import my_id
     for sc in supplier_connector.connectors(my_id.getLocalIDURL()).values():
         # at least one supplier must be online to consider my customer service to be healthy
         if sc.state in ['CONNECTED', ]:
             return True
     return False
Пример #3
0
 def isSomeConnecting(self, *args, **kwargs):
     """
     Condition method.
     """
     from customer import supplier_connector
     for one_supplier_connector in supplier_connector.connectors(customer_idurl=self.target_customer_idurl).values():
         if one_supplier_connector.state not in ['CONNECTED', 'DISCONNECTED', 'NO_SERVICE', ]:
             return True
     return False
Пример #4
0
 def stop(self):
     from twisted.internet import reactor  # @UnresolvedImport
     from customer import supplier_connector
     from userid import my_id
     from main import events
     events.remove_subscriber(self._on_identity_url_changed,
                              'identity-url-changed')
     events.remove_subscriber(self._on_my_keys_synchronized,
                              'my-keys-synchronized')
     for sc in supplier_connector.connectors(my_id.getLocalID()).values():
         reactor.callLater(0, sc.automat, 'shutdown')  # @UndefinedVariable
     # TODO: disconnect other suppliers
     return True
Пример #5
0
 def _on_identity_url_changed(self, evt):
     from logs import lg
     from userid import id_url
     from contacts import contactsdb
     from customer import supplier_connector
     old_idurl = id_url.field(evt.data['old_idurl'])
     for customer_idurl, suppliers_list in contactsdb.all_suppliers(
             as_dict=True).items():
         if old_idurl == customer_idurl:
             customer_idurl.refresh()
             lg.info('found customer family idurl rotated : %r -> %r' % (
                 evt.data['old_idurl'],
                 evt.data['new_idurl'],
             ))
         for supplier_pos, supplier_idurl in enumerate(suppliers_list):
             if old_idurl == supplier_idurl:
                 supplier_idurl.refresh()
                 lg.info(
                     'found supplier idurl rotated for customer family %r at position %r : %r -> %r'
                     % (
                         customer_idurl,
                         supplier_pos,
                         evt.data['old_idurl'],
                         evt.data['new_idurl'],
                     ))
         for customer_idurl, sc_dict in supplier_connector.connectors(
                 as_dict=True).items():
             if old_idurl == customer_idurl:
                 customer_idurl.refresh()
                 lg.info(
                     'found customer idurl rotated in supplier_connector.connectors() : %r -> %r'
                     % (
                         evt.data['old_idurl'],
                         evt.data['new_idurl'],
                     ))
             for supplier_idurl, sc in sc_dict.items():
                 if old_idurl == supplier_idurl:
                     supplier_idurl.refresh()
                     sc.customer_idurl.refresh()
                     sc.supplier_idurl.refresh()
                     lg.info(
                         'found supplier idurl rotated in %r for customer %r : %r -> %r'
                         % (
                             sc,
                             customer_idurl,
                             evt.data['old_idurl'],
                             evt.data['new_idurl'],
                         ))
Пример #6
0
 def stop(self):
     from customer import supplier_connector
     for sc in supplier_connector.connectors().values():
         sc.automat('shutdown')
     return True