MCPcopy Create free account
hub / github.com/MegEngine/MegEngine / NodeFilterName

Class NodeFilterName

imperative/python/megengine/utils/network.py:812–834  ·  view source on GitHub ↗

r"""see :meth:`NodeFilter.name`

Source from the content-addressed store, hash-verified

810
811
812class NodeFilterName(NodeFilter):
813 r"""see :meth:`NodeFilter.name`"""
814
815 _re = None
816
817 def __init__(self, node_iter, pattern, ignorecase):
818 super().__init__(node_iter)
819 self.pattern = pattern
820 self._re = self.make_re(pattern, ignorecase)
821
822 @classmethod
823 def make_re(cls, pattern, ignorecase=True):
824 assert isinstance(pattern, str), "bad pattern: {!r}".format(pattern)
825 assert isinstance(ignorecase, bool)
826 flags = 0
827 if ignorecase:
828 flags |= re.IGNORECASE
829 return re.compile(fnmatch.translate(pattern), flags=flags)
830
831 def __iter__(self):
832 for i in self._iter:
833 if self.pattern == i.name or self._re.match(i.name):
834 yield i

Callers 1

nameMethod · 0.70

Calls

no outgoing calls

Tested by

no test coverage detected