Exemplo n.º 1
0
def update_suppliers(idlist, customer_idurl=None):
    """
    High-level method to set suppliers ID's list.
    Executes required callbacks.
    """
    global _SuppliersChangedCallback
    global _ContactsChangedCallbacks
    oldsuppliers = list(suppliers(customer_idurl=customer_idurl))
    oldcontacts = list(contacts())
    idlist = list(map(lambda i: i if id_url.is_cached(i) else b'', idlist))
    set_suppliers(idlist, customer_idurl=customer_idurl)
    if _SuppliersChangedCallback is not None:
        _SuppliersChangedCallback(oldsuppliers, suppliers(customer_idurl=customer_idurl))
    if id_url.to_original_list(oldcontacts) != id_url.to_original_list(contacts()): 
        for cb in _ContactsChangedCallbacks:
            cb(id_url.to_original_list(oldcontacts), id_url.to_original_list(contacts()))
Exemplo n.º 2
0
def update_customers(idslist):
    """
    High-level method to set customers ID's list.
    Executes required callbacks.
    """
    global _CustomersChangedCallback
    global _ContactsChangedCallbacks
    old_customers = list(customers())
    old_contacts = list(contacts())
    idslist = list(filter(id_url.is_cached, idslist))
    set_customers(idslist)
    if _CustomersChangedCallback is not None:
        _CustomersChangedCallback(old_customers, customers())
    for cb in _ContactsChangedCallbacks:
        cb(id_url.to_original_list(old_contacts), id_url.to_original_list(contacts()))
    if _Debug:
        lg.args(_DebugLevel, new_customers=idslist, old_customers=old_customers)
Exemplo n.º 3
0
 def getSources(self, as_fields=True, as_originals=False):
     """
     Return identity sources.
     """
     if as_originals:
         return id_url.to_original_list(self.sources)
     if not as_fields:
         return id_url.to_bin_list(self.sources)
     return self.sources
Exemplo n.º 4
0
def start_multiple(idurl_list, timeout=10, try_other_sources=True):
    """
    Executes in parallel multiple `immediatelyCaching()` calls on the list of IDURL items.
    Returns `DeferredList` object.
    """
    idurl_list = list(set(id_url.to_original_list(idurl_list)))
    dl = []
    for idurl in idurl_list:
        if idurl:
            dl.append(
                immediatelyCaching(idurl,
                                   timeout=timeout,
                                   try_other_sources=try_other_sources))
    return DeferredList(dl, consumeErrors=True)