From c55a85a615d288b056b1a79e547df2b38f555697 Mon Sep 17 00:00:00 2001
From: Markus Scheidgen <markus.scheidgen@gmail.com>
Date: Fri, 23 Aug 2024 13:06:43 +0200
Subject: [PATCH] Limited package registration to python.

---
 nomad/metainfo/metainfo.py | 20 +++++++++++---------
 1 file changed, 11 insertions(+), 9 deletions(-)

diff --git a/nomad/metainfo/metainfo.py b/nomad/metainfo/metainfo.py
index 83a20b3094..5e384bb67d 100644
--- a/nomad/metainfo/metainfo.py
+++ b/nomad/metainfo/metainfo.py
@@ -4083,15 +4083,17 @@ class Package(Definition):
     def __init_metainfo__(self):
         super().__init_metainfo__()
 
-        # register the package and all its aliases
-        if Package.registry.get(self.name, None) is not self:
-            for alias in self.aliases + [self.name]:
-                if alias in Package.registry and 'pytest' not in sys.modules:
-                    existing_package = Package.registry[alias]
-                    raise MetainfoError(
-                        f'Package {alias} is already registered for package {existing_package}.'
-                    )
-                Package.registry[alias] = self
+        # register the package and all its aliases for python packages
+        if self.name and re.match(r'^\w+(\.\w+)*$', self.name):
+            if Package.registry.get(self.name, None) is not self:
+                for alias in self.aliases + [self.name]:
+                    if alias in Package.registry and 'pytest' not in sys.modules:
+                        existing_package = Package.registry[alias]
+                        raise MetainfoError(
+                            f'Package {alias} is already registered for '
+                            f'package {existing_package}.'
+                        )
+                    Package.registry[alias] = self
 
         # access potential SectionProxies to resolve them
         for content in self.m_all_contents():
-- 
GitLab