eric7/E5Network/__init__.py

branch
eric7
changeset 8312
800c432b34c8
parent 8143
2c730d5fd177
child 8318
962bce857696
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/eric7/E5Network/__init__.py	Sat May 15 18:45:04 2021 +0200
@@ -0,0 +1,55 @@
+# -*- coding: utf-8 -*-
+
+# Copyright (c) 2009 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+#
+
+"""
+Package implementing some special network related objects and functions.
+"""
+
+from PyQt5.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