From 4095c5ebe0cb442c47886ba27a2fec361c597fa9 Mon Sep 17 00:00:00 2001
From: DESPRES Damien <ddespres@neogeo.fr>
Date: Tue, 7 Jun 2022 10:20:50 +0200
Subject: [PATCH] fix #14076

---
 lib/fix_links.py              | 11 +++++++----
 workers/metadata_processor.py |  2 +-
 2 files changed, 8 insertions(+), 5 deletions(-)

diff --git a/lib/fix_links.py b/lib/fix_links.py
index 50db86f..2dd527b 100644
--- a/lib/fix_links.py
+++ b/lib/fix_links.py
@@ -29,7 +29,7 @@ def translate_content_type( content_type ):
     return output
 
 
-def protocol_to_formats_and_services( links ):
+def protocol_to_formats_and_services( links, inRecord ):
 
     output = links.copy()
 
@@ -47,6 +47,9 @@ def protocol_to_formats_and_services( links ):
         elif link['protocol'] == 'KML':
             output[k]['formats'] = ['KML']
             output[k]['service'] = 'KML'
+        elif link['protocol'] == 'WS' and inRecord['type'] == 'nonGeographicDataset':
+            output[k]['formats'] = ['JSON', 'CSV']
+            output[k]['service'] = 'WS'
         elif link['protocol'] == 'WS':
             output[k]['formats'] = ['JSON', 'ShapeFile', 'CSV']
             output[k]['service'] = 'WS'
@@ -67,7 +70,7 @@ def protocol_to_formats_and_services( links ):
     return output
 
 
-def fix_links( links, credentials=None ):
+def fix_links( links,inRecord, credentials=None ):
 
     fixed_links = links.copy()
 
@@ -180,7 +183,7 @@ def fix_links( links, credentials=None ):
                 fixed_links[k]['url'] = link['url'].split('?')[0]
 
 
-    return protocol_to_formats_and_services(fixed_links)
+    return protocol_to_formats_and_services(fixed_links,inRecord)
 
 
 if __name__ == '__main__':
@@ -285,5 +288,5 @@ if __name__ == '__main__':
                 }
         ]
 
-    fixed_links = fix_links(links)
+    fixed_links = fix_links(links,{})
     pprint(fixed_links)
diff --git a/workers/metadata_processor.py b/workers/metadata_processor.py
index f5fd321..217bddf 100644
--- a/workers/metadata_processor.py
+++ b/workers/metadata_processor.py
@@ -161,7 +161,7 @@ def process_record( in_record, working_directory, credentials ):
     if 'link' in out_record['metadata-fr'].keys():
         del out_record['metadata-fr']['link']
         tmp = list_to_dictlist(in_record['link'], 'link')#links
-        out_record['metadata-fr']['link'] = enrich_links( fix_links(tmp, credentials), credentials, working_directory )
+        out_record['metadata-fr']['link'] = enrich_links( fix_links(tmp, in_record, credentials), credentials, working_directory )
 
     if 'userinfo' in out_record['metadata-fr'].keys():
         del out_record['metadata-fr']['userinfo']
-- 
GitLab