source: client/engine/StringLib.py @ f160ff2

test-python-scriptsticket-693
Last change on this file since f160ff2 was c2925f1a, checked in by Antonio Emmanuel Guerrero Silva <aguerrero@…>, 9 months ago

refs #577 Migration library from shell to python3

  • Property mode set to 100755
File size: 1.6 KB
Line 
1import re
2
3def ogCheckStringInGroup(element, group):
4    """
5    Función para determinar si el elemento pertenece a un conjunto.
6
7    :param element: elemento a comprobar
8    :param group: grupo de elementos para comprobar tipo "valor1 valor2 valor3"
9    :return: True si pertenece al grupo, False si NO pertenece al grupo
10    """
11    if not isinstance(element, str) or not isinstance(group, str):
12        raise ValueError("Formato incorrecto, ambos parámetros deben ser cadenas.")
13   
14    return element in group.split()
15
16def ogCheckStringInReg(element, regex):
17    """
18    Función para determinar si el elemento contiene una "expresión regular".
19
20    :param element: elemento a comprobar
21    :param regex: expresión regular
22    :return: True si coincide con la expresión, False si NO coincide con la expresión
23    """
24    if not isinstance(element, str) or not isinstance(regex, str):
25        raise ValueError("Formato incorrecto, ambos parámetros deben ser cadenas.")
26   
27    return re.match(regex, element) is not None
28
29def ogCheckIpAddress(ip):
30    """
31    Función para determinar si una cadena es una dirección ipv4 válida.
32
33    :param ip: string de la ip a comprobar
34    :return: True si es una dirección válida, False si NO es una dirección válida
35    """
36    if not isinstance(ip, str):
37        raise ValueError("Formato incorrecto, el parámetro debe ser una cadena.")
38
39    regex = r"^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$"
40    if re.match(regex, ip):
41        parts = ip.split('.')
42        if all(0 <= int(part) <= 255 for part in parts):
43            return True
44    return False
45
Note: See TracBrowser for help on using the repository browser.