eric7/EricNetwork/EricNetworkUtilities.py

branch
eric7
changeset 9158
47c32c123843
parent 8881
54e42bc2437a
diff -r aec35836ca4a -r 47c32c123843 eric7/EricNetwork/EricNetworkUtilities.py
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/eric7/EricNetwork/EricNetworkUtilities.py	Mon Jun 20 09:46:10 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