def update_panel(adapter, panel_name, panel_version, new_version=None, new_date=None):
    """Update a gene panel in the database
    
    We need to update the actual gene panel and then all cases that refers to the panel.
    
    Args:
        adapter(scout.adapter.MongoAdapter)
        panel_name(str): Unique name for a gene panel
        panel_version(float)
        new_version(float)
        new_date(datetime.datetime)
    
    Returns:
        updated_panel(scout.models.GenePanel): The updated gene panel object
    """
    panel_obj = adapter.gene_panel(panel_name, panel_version)

    if not panel_obj:
        raise IntegrityError("Panel %s version %s does not exist" % (panel_name, panel_version))

    updated_panel = adapter.update_panel(panel_obj, new_version, new_date)
    
    panel_id = updated_panel['_id']

    # We need to alter the embedded panels in all affected cases
    update = {'$set': {}}
    if new_version:
        update['$set']['panels.$.version'] = updated_panel['version']
    if new_date:
        update['$set']['panels.$.updated_at'] = updated_panel['date']
    
    LOG.info('Updating affected cases with {0}'.format(update))
    
    query = {'panels': { '$elemMatch': {'panel_name': panel_name}}}
    adapter.case_collection.update_many(query, update)
    
    return updated_panel
def update_panel(adapter, panel_name, panel_version, new_version=None, new_date=None):
    """Update a gene panel in the database
    
    We need to update the actual gene panel and then all cases that refers to the panel.
    
    Args:
        adapter(scout.adapter.MongoAdapter)
        panel_name(str): Unique name for a gene panel
        panel_version(float)
        new_version(float)
        new_date(datetime.datetime)
    
    Returns:
        updated_panel(scout.models.GenePanel): The updated gene panel object
    """
    panel_obj = adapter.gene_panel(panel_name, panel_version)

    if not panel_obj:
        raise IntegrityError("Panel %s version %s does not exist" % (panel_name, panel_version))

    updated_panel = adapter.update_panel(panel_obj, new_version, new_date)
    
    panel_id = updated_panel['_id']

    # We need to alter the embedded panels in all affected cases
    update = {'$set': {}}
    if new_version:
        update['$set']['panels.$.version'] = updated_panel['version']
    if new_date:
        update['$set']['panels.$.updated_at'] = updated_panel['date']
    
    LOG.info('Updating affected cases with {0}'.format(update))
    
    query = {'panels': { '$elemMatch': {'panel_name': panel_name}}}
    adapter.case_collection.update_many(query, update)
    
    return updated_panel
def update_panel ( adapter , panel_name , panel_version , new_version = None , new_date = None ) : panel_obj = adapter . gene_panel ( panel_name , panel_version ) if not panel_obj : raise IntegrityError ( "Panel %s version %s does not exist" % ( panel_name , panel_version ) ) updated_panel = adapter . update_panel ( panel_obj , new_version , new_date ) panel_id = updated_panel [ '_id' ] # We need to alter the embedded panels in all affected cases update = { '$set' : { } } if new_version : update [ '$set' ] [ 'panels.$.version' ] = updated_panel [ 'version' ] if new_date : update [ '$set' ] [ 'panels.$.updated_at' ] = updated_panel [ 'date' ] LOG . info ( 'Updating affected cases with {0}' . format ( update ) ) query = { 'panels' : { '$elemMatch' : { 'panel_name' : panel_name } } } adapter . case_collection . update_many ( query , update ) return updated_panel
Update a gene panel in the database
    
    We need to update the actual gene panel and then all cases that refers to the panel.
    
    Args:
        adapter(scout.adapter.MongoAdapter)
        panel_name(str): Unique name for a gene panel
        panel_version(float)
        new_version(float)
        new_date(datetime.datetime)
    
    Returns:
        updated_panel(scout.models.GenePanel): The updated gene panel object
Update a gene panel in the database We need to update the actual gene panel and then all cases that refers to the panel . Args : adapter ( scout . adapter . MongoAdapter ) panel_name ( str ) : Unique name for a gene panel panel_version ( float ) new_version ( float ) new_date ( datetime . datetime ) Returns : updated_panel ( scout . models . GenePanel ) : The updated gene panel object