def do_activity(self, data=None): """ Do the work """ if self.logger: self.logger.info('data: %s' % json.dumps(data, sort_keys=True, indent=4)) self.expanded_bucket_name = (self.settings.publishing_buckets_prefix + self.settings.expanded_bucket) self.crossref_bucket_name = (self.settings.publishing_buckets_prefix + self.settings.poa_packaging_bucket) session = Session(self.settings) run = data['run'] version = session.get_value(run, 'version') article_id = session.get_value(run, 'article_id') expanded_folder_name = session.get_value(run, 'expanded_folder') conn = S3Connection(self.settings.aws_access_key_id, self.settings.aws_secret_access_key) bucket = conn.get_bucket(self.expanded_bucket_name) self.emit_monitor_event(self.settings, article_id, version, run, "Schedule Crossref", "start", "Starting scheduling of crossref deposit for " + article_id) try: (xml_key, xml_filename) = ConvertJATS.get_article_xml_key(bucket, expanded_folder_name) # Rename the XML file to match what is used already new_key_name = self.new_crossref_xml_name( prefix=self.crossref_outbox_folder, journal='elife', article_id=str(article_id).zfill(5)) self.copy_article_xml_to_crossref_outbox( new_key_name=new_key_name, source_bucket_name=self.expanded_bucket_name, old_key_name=xml_key.name) self.emit_monitor_event(self.settings, article_id, version, run, "Schedule Crossref", "end", "Finished scheduling of crossref deposit " + article_id + " for version " + version + " run " + str(run)) except Exception as e: self.logger.exception("Exception when scheduling crossref") self.emit_monitor_event(self.settings, article_id, version, run, "Schedule Crossref", "error", "Error scheduling crossref " + article_id + " message:" + e.message) return False return True
def do_activity(self, data=None): """ Do the work """ if self.logger: self.logger.info('data: %s' % json.dumps(data, sort_keys=True, indent=4)) self.expanded_bucket_name = (self.settings.publishing_buckets_prefix + self.settings.expanded_bucket) article_id = data['article_id'] version = data['version'] run = data['run'] expanded_folder_name = data['expanded_folder'] status = data['status'].lower() conn = S3Connection(self.settings.aws_access_key_id, self.settings.aws_secret_access_key) bucket = conn.get_bucket(self.expanded_bucket_name) self.emit_monitor_event(self.settings, article_id, version, run, "Schedule Downstream", "start", "Starting scheduling of downstream deposits for " + article_id) try: (xml_key, xml_filename) = ConvertJATS.get_article_xml_key(bucket, expanded_folder_name) outbox_list = self.choose_outboxes(status) for outbox in outbox_list: self.rename_and_copy_to_outbox(xml_key, article_id, outbox) self.emit_monitor_event(self.settings, article_id, version, run, "Schedule Downstream", "end", "Finished scheduling of downstream deposits " + article_id + " for version " + version + " run " + str(run)) except Exception as e: self.logger.exception("Exception when scheduling downstream") self.emit_monitor_event(self.settings, article_id, version, run, "Schedule Downstream", "error", "Error scheduling downstream " + article_id + " message:" + e.message) return False return True