Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-04-09 07:58:21

0001 #!/usr/bin/env python
0002 #
0003 # Licensed under the Apache License, Version 2.0 (the "License");
0004 # You may not use this file except in compliance with the License.
0005 # You may obtain a copy of the License at
0006 # http://www.apache.org/licenses/LICENSE-2.0OA
0007 #
0008 # Authors:
0009 # - Wen Guan, <wen.guan@cern.ch>, 2023
0010 
0011 
0012 """
0013 Test client.
0014 """
0015 
0016 
0017 from idds.client.clientmanager import ClientManager      # noqa F401
0018 from idds.common.utils import json_dumps  # noqa F401
0019 from idds.rest.v1.utils import convert_old_req_2_workflow_req    # noqa F401
0020 from idds.common.utils import setup_logging
0021 
0022 from idds.common.utils import json_dumps, setup_logging                 # noqa F401
0023 from idds.common.constants import ContentStatus, ContentType, ContentRelationType, ContentLocking          # noqa F401
0024 from idds.core.requests import get_requests              # noqa F401
0025 from idds.core.messages import retrieve_messages         # noqa F401
0026 from idds.core.transforms import get_transforms, get_transform          # noqa F401
0027 from idds.core.workprogress import get_workprogresses    # noqa F401
0028 from idds.core.processings import get_processings        # noqa F401
0029 from idds.core import transforms as core_transforms      # noqa F401
0030 from idds.core import catalog as core_catalog            # noqa F401
0031 from idds.orm.contents import get_contents               # noqa F401
0032 from idds.orm import contents as orm_contents            # noqa F401
0033 from idds.core.transforms import release_inputs_by_collection, release_inputs_by_collection_old     # noqa F401
0034 from idds.workflowv2.workflow import Workflow            # noqa F401
0035 from idds.workflowv2.work import Work                    # noqa F401
0036 
0037 
0038 setup_logging(__name__)
0039 
0040 
0041 def fix_content_dep_id(request_id):
0042     contents = core_catalog.get_contents_by_request_transform(request_id=request_id)
0043     available_output_contents = {}
0044     output_content_name_id = {}
0045     contents_updates = []
0046     for content in contents:
0047         if content['content_relation_type'] == ContentRelationType.Output:
0048             if content['coll_id'] not in output_content_name_id:
0049                 output_content_name_id[content['coll_id']] = {}
0050             output_content_name_id[content['coll_id']][content['name']] = content['content_id']
0051             if content['substatus'] in [ContentStatus.Available]:
0052                 available_output_contents[content['content_id']] = content
0053                 n_content = {'content_id': content['content_id'],
0054                              'substatus': content['substatus']}
0055                 contents_updates.append(n_content)
0056     to_update_contents = []
0057     for content in contents:
0058         if content['content_relation_type'] == ContentRelationType.InputDependency:
0059             u_content = {'content_id': content['content_id'],
0060                          'content_dep_id': output_content_name_id[content['coll_id']][content['name']]}
0061             to_update_contents.append(u_content)
0062     orm_contents.update_contents(to_update_contents)
0063     orm_contents.add_contents_update(contents_updates)
0064 
0065 
0066 if __name__ == "__main__":
0067     request_id = 3188
0068     fix_content_dep_id(request_id)
0069     core_catalog.delete_contents_update()