Sat, 23 Dec 2023 15:48:12 +0100
Updated copyright for 2024.
52
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1 | # -*- coding: utf-8 -*- |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2 | |
10439
21c28b0f9e41
Updated copyright for 2024.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9653
diff
changeset
|
3 | # Copyright (c) 2009 - 2024 Detlev Offenbach <detlev@die-offenbachs.de> |
52
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
4 | # |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
5 | |
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
6 | """ |
4968
afcc223b932f
Added some utility functions to check a network address.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
7 | Package implementing some special network related objects and functions. |
52
ba69827929ee
Renamed E4Network to E5Network.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
8 | """ |
4968
afcc223b932f
Added some utility functions to check a network address.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
9 | |
8318
962bce857696
Replaced all imports of PyQt5 to PyQt6 and started to replace code using obsoleted methods and adapt to the PyQt6 enum usage.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8312
diff
changeset
|
10 | from PyQt6.QtNetwork import QAbstractSocket, QHostAddress |
4968
afcc223b932f
Added some utility functions to check a network address.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
11 | |
afcc223b932f
Added some utility functions to check a network address.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
12 | |
afcc223b932f
Added some utility functions to check a network address.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
13 | def isValidAddress(address): |
afcc223b932f
Added some utility functions to check a network address.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
14 | """ |
afcc223b932f
Added some utility functions to check a network address.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
15 | Public function to check, if the given address is valid. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
16 | |
4968
afcc223b932f
Added some utility functions to check a network address.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
17 | @param address IPv4 or IPv6 address string |
afcc223b932f
Added some utility functions to check a network address.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
18 | @type str |
afcc223b932f
Added some utility functions to check a network address.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
19 | @return flag indicating validity |
afcc223b932f
Added some utility functions to check a network address.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
20 | @rtype bool |
afcc223b932f
Added some utility functions to check a network address.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
21 | """ |
afcc223b932f
Added some utility functions to check a network address.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
22 | h = QHostAddress(address) |
afcc223b932f
Added some utility functions to check a network address.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
23 | return not h.isNull() |
afcc223b932f
Added some utility functions to check a network address.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
24 | |
afcc223b932f
Added some utility functions to check a network address.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
25 | |
afcc223b932f
Added some utility functions to check a network address.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
26 | def isValidIPv4Address(address): |
afcc223b932f
Added some utility functions to check a network address.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
27 | """ |
afcc223b932f
Added some utility functions to check a network address.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
28 | Public function to check, if the given address is a valid IPv4 address. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
29 | |
4968
afcc223b932f
Added some utility functions to check a network address.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
30 | @param address IPv4 address string |
afcc223b932f
Added some utility functions to check a network address.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
31 | @type str |
afcc223b932f
Added some utility functions to check a network address.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
32 | @return flag indicating validity |
afcc223b932f
Added some utility functions to check a network address.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
33 | @rtype bool |
afcc223b932f
Added some utility functions to check a network address.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
34 | """ |
afcc223b932f
Added some utility functions to check a network address.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
35 | h = QHostAddress(address) |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
36 | return ( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
37 | not h.isNull() |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
38 | and h.protocol() == QAbstractSocket.NetworkLayerProtocol.IPv4Protocol |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
39 | ) |
4968
afcc223b932f
Added some utility functions to check a network address.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
40 | |
afcc223b932f
Added some utility functions to check a network address.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
41 | |
afcc223b932f
Added some utility functions to check a network address.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
42 | def isValidIPv6Address(address): |
afcc223b932f
Added some utility functions to check a network address.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
43 | """ |
afcc223b932f
Added some utility functions to check a network address.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
44 | Public function to check, if the given address is a valid IPv6 address. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
45 | |
4968
afcc223b932f
Added some utility functions to check a network address.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
46 | @param address IPv6 address string |
afcc223b932f
Added some utility functions to check a network address.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
47 | @type str |
afcc223b932f
Added some utility functions to check a network address.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
48 | @return flag indicating validity |
afcc223b932f
Added some utility functions to check a network address.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
49 | @rtype bool |
afcc223b932f
Added some utility functions to check a network address.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
50 | """ |
afcc223b932f
Added some utility functions to check a network address.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
51 | h = QHostAddress(address) |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
52 | return ( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
53 | not h.isNull() |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
54 | and h.protocol() == QAbstractSocket.NetworkLayerProtocol.IPv6Protocol |
8143
2c730d5fd177
Changed the use of PyQt enums because the way they were used previously is deprecated since two years and replaced some deprecated Qt stuff.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
55 | ) |