Code Duplication    Length = 11-12 lines in 2 locations

asyncua/server/server.py 1 location

@@ 426-436 (lines=11) @@
423
        ns_node = self.get_node(ua.NodeId(ua.ObjectIds.Server_NamespaceArray))
424
        return ns_node.read_value()
425
426
    async def register_namespace(self, uri) -> int:
427
        """
428
        Register a new namespace. Nodes should in custom namespace, not 0.
429
        """
430
        ns_node = self.get_node(ua.NodeId(ua.ObjectIds.Server_NamespaceArray))
431
        uries = await ns_node.read_value()
432
        if uri in uries:
433
            return uries.index(uri)
434
        uries.append(uri)
435
        await ns_node.write_value(uries)
436
        return len(uries) - 1
437
438
    async def get_namespace_index(self, uri):
439
        """

asyncua/client/client.py 1 location

@@ 532-543 (lines=12) @@
529
        await exp.build_etree(nodes)
530
        await exp.write_xml(path)
531
532
    async def register_namespace(self, uri):
533
        """
534
        Register a new namespace. Nodes should in custom namespace, not 0.
535
        This method is mainly implemented for symetry with server
536
        """
537
        ns_node = self.get_node(ua.NodeId(ua.ObjectIds.Server_NamespaceArray))
538
        uries = await ns_node.read_value()
539
        if uri in uries:
540
            return uries.index(uri)
541
        uries.append(uri)
542
        await ns_node.write_value(uries)
543
        return len(uries) - 1
544
545
    def load_type_definitions(self, nodes=None) -> Coroutine:
546
        """