src/eric7/EricNetwork/EricNetworkUtilities.py

branch
eric7
changeset 9209
b99e7fd55fd3
parent 9158
47c32c123843
child 9221
bf71ee032bb4
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/EricNetwork/EricNetworkUtilities.py	Thu Jul 07 11:23:56 2022 +0200
@@ -0,0 +1,55 @@
+# -*- coding: utf-8 -*-
+
+# Copyright (c) 2009 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
+#
+
+"""
+Package implementing some special network related objects and functions.
+"""
+
+from PyQt6.QtNetwork import QAbstractSocket, QHostAddress
+
+
+def isValidAddress(address):
+    """
+    Public function to check, if the given address is valid.
+    
+    @param address IPv4 or IPv6 address string
+    @type str
+    @return flag indicating validity
+    @rtype bool
+    """
+    h = QHostAddress(address)
+    return not h.isNull()
+
+
+def isValidIPv4Address(address):
+    """
+    Public function to check, if the given address is a valid IPv4 address.
+    
+    @param address IPv4 address string
+    @type str
+    @return flag indicating validity
+    @rtype bool
+    """
+    h = QHostAddress(address)
+    return (
+        not h.isNull() and
+        h.protocol() == QAbstractSocket.NetworkLayerProtocol.IPv4Protocol
+    )
+
+
+def isValidIPv6Address(address):
+    """
+    Public function to check, if the given address is a valid IPv6 address.
+    
+    @param address IPv6 address string
+    @type str
+    @return flag indicating validity
+    @rtype bool
+    """
+    h = QHostAddress(address)
+    return (
+        not h.isNull() and
+        h.protocol() == QAbstractSocket.NetworkLayerProtocol.IPv6Protocol
+    )

eric ide

mercurial