robotframework-logxml2chunks 1.1.5__tar.gz → 1.1.6__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (16) hide show
  1. {robotframework_logxml2chunks-1.1.5 → robotframework_logxml2chunks-1.1.6}/LogXML2Chunks/LogXML2Chunks.py +25 -12
  2. {robotframework_logxml2chunks-1.1.5/robotframework_logxml2chunks.egg-info → robotframework_logxml2chunks-1.1.6}/PKG-INFO +1 -1
  3. {robotframework_logxml2chunks-1.1.5 → robotframework_logxml2chunks-1.1.6/robotframework_logxml2chunks.egg-info}/PKG-INFO +1 -1
  4. {robotframework_logxml2chunks-1.1.5 → robotframework_logxml2chunks-1.1.6}/setup.py +1 -1
  5. {robotframework_logxml2chunks-1.1.5 → robotframework_logxml2chunks-1.1.6}/LICENSE +0 -0
  6. {robotframework_logxml2chunks-1.1.5 → robotframework_logxml2chunks-1.1.6}/LogXML2Chunks/__init__.py +0 -0
  7. {robotframework_logxml2chunks-1.1.5 → robotframework_logxml2chunks-1.1.6}/LogXML2Chunks/cli.py +0 -0
  8. {robotframework_logxml2chunks-1.1.5 → robotframework_logxml2chunks-1.1.6}/README.md +0 -0
  9. {robotframework_logxml2chunks-1.1.5 → robotframework_logxml2chunks-1.1.6}/robotframework_logxml2chunks.egg-info/SOURCES.txt +0 -0
  10. {robotframework_logxml2chunks-1.1.5 → robotframework_logxml2chunks-1.1.6}/robotframework_logxml2chunks.egg-info/dependency_links.txt +0 -0
  11. {robotframework_logxml2chunks-1.1.5 → robotframework_logxml2chunks-1.1.6}/robotframework_logxml2chunks.egg-info/entry_points.txt +0 -0
  12. {robotframework_logxml2chunks-1.1.5 → robotframework_logxml2chunks-1.1.6}/robotframework_logxml2chunks.egg-info/not-zip-safe +0 -0
  13. {robotframework_logxml2chunks-1.1.5 → robotframework_logxml2chunks-1.1.6}/robotframework_logxml2chunks.egg-info/requires.txt +0 -0
  14. {robotframework_logxml2chunks-1.1.5 → robotframework_logxml2chunks-1.1.6}/robotframework_logxml2chunks.egg-info/top_level.txt +0 -0
  15. {robotframework_logxml2chunks-1.1.5 → robotframework_logxml2chunks-1.1.6}/setup.cfg +0 -0
  16. {robotframework_logxml2chunks-1.1.5 → robotframework_logxml2chunks-1.1.6}/tests/test_logxml2chunks.py +0 -0
@@ -266,7 +266,11 @@ class LogXML2Chunks:
266
266
  idx_match = re.match(r'^(\d+)_', filename)
267
267
  idx = int(idx_match.group(1)) if idx_match else 0
268
268
 
269
- # Check if corresponding log file exists
269
+ # Check if corresponding log file exists.
270
+ # Both XML and HTML use the same double-underscore convention:
271
+ # 1_GUI_TBD__Update_Role_..._t1.xml
272
+ # 1_GUI_TBD__Update_Role_..._t1_log.html
273
+ # so the log filename is simply stem + '_log.html'.
270
274
  log_filepath = None
271
275
  xml_path = Path(xml_filepath)
272
276
  log_filename = xml_path.stem + '_log.html'
@@ -278,6 +282,9 @@ class LogXML2Chunks:
278
282
  checksum_data = f"{test_name}{test_doc}".encode('utf-8')
279
283
  checksum = hashlib.md5(checksum_data).hexdigest()
280
284
 
285
+ elements_path = filename.split('__')
286
+ full_prefix = '_'.join(elements_path[0].split('_')[1:]) if len(elements_path) > 1 else None
287
+
281
288
  # Build result dictionary
282
289
  result = {
283
290
  'index': idx,
@@ -290,8 +297,9 @@ class LogXML2Chunks:
290
297
  'source': test_source,
291
298
  'xml_file': str(xml_filepath),
292
299
  'checksum': checksum,
293
- 'success': True
294
- }
300
+ 'success': True,
301
+ 'full_prefix': full_prefix
302
+ }
295
303
 
296
304
  # Add log file if it exists
297
305
  if log_filepath:
@@ -453,22 +461,24 @@ class LogXML2Chunks:
453
461
 
454
462
  # Create a safe filename (with prefix if available)
455
463
  safe_name = test_name.replace(' ', '_').replace('/', '_').replace('\\', '_')
464
+
456
465
  if self.filename_prefix_pattern and self.filename_prefix_static:
457
- prefix = self._extract_filename_prefix(test, suite, root)
458
- xml_filename = f"{idx}_{self.filename_prefix_static}_{prefix}__{safe_name}_{test_id}.xml"
466
+ prefix = f"{self._extract_filename_prefix(test, suite, root)}_{self.filename_prefix_static}"
459
467
  elif self.filename_prefix_static:
460
- xml_filename = f"{idx}_{self.filename_prefix_static}__{safe_name}_{test_id}.xml"
468
+ prefix = self.filename_prefix_static
461
469
  elif self.filename_prefix_pattern:
462
470
  prefix = self._extract_filename_prefix(test, suite, root)
463
- xml_filename = f"{idx}_{prefix}__{safe_name}_{test_id}.xml"
464
471
  else:
465
- xml_filename = f"{idx}__{safe_name}_{test_id}.xml"
466
- xml_filepath = output_path / xml_filename
472
+ prefix = None
467
473
 
468
474
  if prefix:
469
475
  self._debug_print(f"\n[{idx}/{len(test_cases)}] Processing: {test_name} (Prefix: {prefix})")
476
+ xml_filename = f"{idx}_{prefix}__{safe_name}_{test_id}.xml"
470
477
  else:
471
478
  self._debug_print(f"\n[{idx}/{len(test_cases)}] Processing: {test_name}")
479
+ xml_filename = f"{idx}__{safe_name}_{test_id}.xml"
480
+
481
+ xml_filepath = output_path / xml_filename
472
482
 
473
483
  # Create a new XML document with only this test case
474
484
  new_root = ET.Element('robot', root.attrib)
@@ -543,11 +553,14 @@ class LogXML2Chunks:
543
553
 
544
554
  self._debug_print(f" ✓ Created XML: {xml_filepath}")
545
555
 
546
- # Generate HTML report using rebot
556
+ # Generate HTML report using rebot.
557
+ # Use the same double-underscore separator as the XML filename so that
558
+ # get_data_from_chunk() can reliably locate the log by replacing '__' → '_'
559
+ # in the XML stem and appending '_log.html'.
547
560
  if prefix:
548
- log_filename = f"{idx}_{prefix}_{safe_name}_{test_id}_log.html"
561
+ log_filename = f"{idx}_{prefix}__{safe_name}_{test_id}_log.html"
549
562
  else:
550
- log_filename = f"{idx}_{safe_name}_{test_id}_log.html"
563
+ log_filename = f"{idx}__{safe_name}_{test_id}_log.html"
551
564
  log_filepath = output_path / log_filename
552
565
 
553
566
  try:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: robotframework-logxml2chunks
3
- Version: 1.1.5
3
+ Version: 1.1.6
4
4
  Summary: Extract individual test cases from Robot Framework output.xml into separate chunks
5
5
  Home-page: https://github.com/ajadach/robotframework-LogXML2Chunks
6
6
  Author: Artur Jadach
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: robotframework-logxml2chunks
3
- Version: 1.1.5
3
+ Version: 1.1.6
4
4
  Summary: Extract individual test cases from Robot Framework output.xml into separate chunks
5
5
  Home-page: https://github.com/ajadach/robotframework-LogXML2Chunks
6
6
  Author: Artur Jadach
@@ -10,7 +10,7 @@ long_description = (this_directory / "README.md").read_text(encoding='utf-8')
10
10
 
11
11
  setup(
12
12
  name='robotframework-logxml2chunks',
13
- version='1.1.5',
13
+ version='1.1.6',
14
14
  author='Artur Jadach',
15
15
  author_email='artur.k.ziolkowski@example.com',
16
16
  description='Extract individual test cases from Robot Framework output.xml into separate chunks',