def generate_sequence_number(self, output_channel): """ Generates Published Sequence Number for the passed output_channel """ assert (output_channel is not None), "Output Channel can't be null" sequence_key_name = "{output_channel_name}_output_channel_seq".format( output_channel_name=output_channel.get('name')).lower() sequence_number = update_key(sequence_key_name, flag=True) max_seq_number = MAX_VALUE_OF_PUBLISH_SEQUENCE if output_channel.get('sequence_num_settings'): if sequence_number == 0 or sequence_number == 1: sequence_number = output_channel['sequence_num_settings'][ 'start_from'] set_key(sequence_key_name, value=sequence_number) max_seq_number = output_channel['sequence_num_settings']['max'] if sequence_number == max_seq_number: set_key(sequence_key_name) return sequence_number
def set_ingest_provider_sequence(self, item, provider): """ Sets the value of ingest_provider_sequence in item. :param item: object to which ingest_provider_sequence to be set :param provider: ingest_provider object, used to build the key name of sequence """ sequence_key_name = "{provider_type}_{provider_id}_ingest_seq".format(provider_type=provider.get('type'), provider_id=str(provider.get('_id'))) sequence_number = update_key(sequence_key_name, flag=True) item['ingest_provider_sequence'] = str(sequence_number) if sequence_number == MAX_VALUE_OF_INGEST_SEQUENCE: set_key(sequence_key_name)
def set_ingest_provider_sequence(self, item, provider): """ Sets the value of ingest_provider_sequence in item. :param item: object to which ingest_provider_sequence to be set :param provider: ingest_provider object, used to build the key name of sequence """ sequence_key_name = "{provider_type}_{provider_id}_ingest_seq".format( provider_type=provider.get('type'), provider_id=str(provider.get('_id'))) sequence_number = update_key(sequence_key_name, flag=True) item['ingest_provider_sequence'] = str(sequence_number) if sequence_number == app.config['MAX_VALUE_OF_INGEST_SEQUENCE']: set_key(sequence_key_name)
def generate_unique_id_and_name(item): """ Generates and appends unique_id and unique_name to item. :throws IdentifierGenerationError: if unable to generate unique_id """ try: unique_id = update_key("INGEST_SEQ", flag=True) if unique_id: item['unique_id'] = unique_id item['unique_name'] = "#" + str(unique_id) else: raise IdentifierGenerationError() except Exception as e: raise IdentifierGenerationError() from e
def generate_unique_id_and_name(item, repo_type=ARCHIVE): """ Generates and appends unique_id and unique_name to item. :throws IdentifierGenerationError: if unable to generate unique_id """ try: key_name = 'TEST_{}_SEQ'.format(repo_type.upper()) if superdesk.app.config.get('SUPERDESK_TESTING', False) \ else '{}_SEQ'.format(repo_type.upper()) unique_id = update_key(key_name, flag=True) if unique_id: item['unique_id'] = unique_id item['unique_name'] = "#" + str(unique_id) else: raise IdentifierGenerationError() except Exception as e: raise IdentifierGenerationError() from e
def generate_sequence_number(self, subscriber): """ Generates Published Sequence Number for the passed subscriber """ assert (subscriber is not None), "Subscriber can't be null" sequence_key_name = "{subscriber_name}_subscriber_seq".format(subscriber_name=subscriber.get('name')).lower() sequence_number = update_key(sequence_key_name, flag=True) max_seq_number = app.config['MAX_VALUE_OF_PUBLISH_SEQUENCE'] if subscriber.get('sequence_num_settings'): if sequence_number == 0 or sequence_number == 1: sequence_number = subscriber['sequence_num_settings']['min'] set_key(sequence_key_name, value=sequence_number) max_seq_number = subscriber['sequence_num_settings']['max'] if sequence_number == max_seq_number: set_key(sequence_key_name) return sequence_number
def generate_sequence_number(self, output_channel): """ Generates Published Sequence Number for the passed output_channel """ assert (output_channel is not None), "Output Channel can't be null" sequence_key_name = "{output_channel_name}_output_channel_seq".format( output_channel_name=output_channel.get('name')).lower() sequence_number = update_key(sequence_key_name, flag=True) max_seq_number = MAX_VALUE_OF_PUBLISH_SEQUENCE if output_channel.get('sequence_num_settings'): if sequence_number == 0 or sequence_number == 1: sequence_number = output_channel['sequence_num_settings']['min'] set_key(sequence_key_name, value=sequence_number) max_seq_number = output_channel['sequence_num_settings']['max'] if sequence_number == max_seq_number: set_key(sequence_key_name) return sequence_number
def generate_sequence_number(self, subscriber): """ Generates Published Sequence Number for the passed subscriber """ assert (subscriber is not None), "Subscriber can't be null" sequence_key_name = "{subscriber_name}_subscriber_seq".format( subscriber_name=subscriber.get('name')).lower() sequence_number = update_key(sequence_key_name, flag=True) max_seq_number = app.config['MAX_VALUE_OF_PUBLISH_SEQUENCE'] if subscriber.get('sequence_num_settings'): if sequence_number == 0 or sequence_number == 1: sequence_number = subscriber['sequence_num_settings']['min'] set_key(sequence_key_name, value=sequence_number) max_seq_number = subscriber['sequence_num_settings']['max'] if sequence_number == max_seq_number: set_key(sequence_key_name) return sequence_number
def __get_blog_version(self, blog, invalidate=False): ''' Return the blog cache version. If invalidate is true, the version will be incremented ''' return update_key('%s__version' % (blog), flag=invalidate)
def get_next_order_sequence(self): return update_key('post_order_sequence', True)