comparison Plugins/Worklists/Run.py @ 638:1e76331675a1

test of worklists now working with Python 3
author Sebastien Jodogne <s.jodogne@gmail.com>
date Tue, 02 Apr 2024 19:54:53 +0200
parents 0dc47e4975dd
children d5e355d9797c
comparison
equal deleted inserted replaced
637:0dc47e4975dd 638:1e76331675a1
169 169
170 def ParseTopLevelTags(answer): 170 def ParseTopLevelTags(answer):
171 tags = {} 171 tags = {}
172 for line in answer: 172 for line in answer:
173 as_ascii = line.decode('ascii', errors='ignore') 173 as_ascii = line.decode('ascii', errors='ignore')
174 tag = as_ascii[4:13] 174 tag = as_ascii[1:10]
175 start = line.find(b'[') 175 start = line.find(b'[')
176 end = line.rfind(b']') 176 end = line.rfind(b']')
177 177
178 tags[tag] = line[start + 1 : end].strip() 178 tags[tag] = line[start + 1 : end].strip()
179 179
311 if len(encoding) == 1: 311 if len(encoding) == 1:
312 encoded = TEST.encode(name, 'ignore') 312 encoded = TEST.encode(name, 'ignore')
313 else: 313 else:
314 encoded = TEST.encode(encoding[1], 'ignore') 314 encoded = TEST.encode(encoding[1], 'ignore')
315 315
316 self.assertEqual(encoding[0], tags['0008,0005']) 316 self.assertEqual(encoding[0], tags['0008,0005'].decode('ascii'))
317 self.assertEqual(encoded, tags['0010,0010']) 317 self.assertEqual(encoded, tags['0010,0010'])
318 318
319 319
320 def test_bitbucket_issue_49(self): 320 def test_bitbucket_issue_49(self):
321 def Check(encoding, expectedEncoding, expectedContent): 321 def Check(pythonEncoding, orthancEncoding, expectedEncoding, expectedContent):
322 DoPut(ORTHANC, '/tools/default-encoding', encoding) 322 DoPut(ORTHANC, '/tools/default-encoding', orthancEncoding)
323 result = RunQuery('Encodings/issue49-latin1.query', []) 323 result = RunQuery('Encodings/issue49-latin1.query', [])
324 self.assertEqual(1, len(result)) 324 self.assertEqual(1, len(result))
325 self.assertEqual(2, len(result[0])) 325 self.assertEqual(2, len(result[0]))
326 tags = ParseTopLevelTags(result[0]) 326 tags = ParseTopLevelTags(result[0])
327 self.assertEqual(expectedEncoding, tags['0008,0005']) 327 self.assertEqual(expectedEncoding, tags['0008,0005'].decode('ascii'))
328 self.assertEqual(expectedContent, tags['0010,0010']) 328 self.assertEqual(expectedContent, tags['0010,0010'].decode(pythonEncoding))
329 329
330 AddToDatabase('Encodings/issue49-latin1.wl') 330 AddToDatabase('Encodings/issue49-latin1.wl')
331 Check('Ascii', 'ISO_IR 6', r'VANILL^LAURA^^^Mme') 331 Check('ascii', 'Ascii', 'ISO_IR 6', r'VANILL^LAURA^^^Mme')
332 Check('Utf8', 'ISO_IR 192', r'VANILLÉ^LAURA^^^Mme') 332 Check('utf-8', 'Utf8', 'ISO_IR 192', r'VANILLÉ^LAURA^^^Mme')
333 Check('Latin1', 'ISO_IR 100', u'VANILLÉ^LAURA^^^Mme'.encode('latin-1', 'ignore')) 333 Check('latin-1', 'Latin1', 'ISO_IR 100', r'VANILLÉ^LAURA^^^Mme')
334 334
335 335
336 def test_format(self): 336 def test_format(self):
337 DoPut(ORTHANC, '/tools/default-encoding', 'Latin1') 337 DoPut(ORTHANC, '/tools/default-encoding', 'Latin1')
338 AddToDatabase('Dcmtk/Database/wklist1.dump') 338 AddToDatabase('Dcmtk/Database/wklist1.dump')