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

@@ 556-567 (lines=12) @@
553
        await exp.build_etree(nodes)
554
        await exp.write_xml(path)
555
556
    async def register_namespace(self, uri):
557
        """
558
        Register a new namespace. Nodes should in custom namespace, not 0.
559
        This method is mainly implemented for symetry with server
560
        """
561
        ns_node = self.get_node(ua.NodeId(ua.ObjectIds.Server_NamespaceArray))
562
        uries = await ns_node.read_value()
563
        if uri in uries:
564
            return uries.index(uri)
565
        uries.append(uri)
566
        await ns_node.write_value(uries)
567
        return len(uries) - 1
568
569
    def load_type_definitions(self, nodes=None) -> Coroutine:
570
        """