abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 17:55 | Komunita

    Na čem aktuálně pracují vývojáři GNOME a KDE? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE.

    Ladislav Hagara | Komentářů: 0
    7.6. 14:55 | IT novinky

    Před 70 lety, 7. června 1954, ve věku 41 let, zemřel Alan Turing, britský matematik, logik, kryptoanalytik a zakladatel moderní informatiky.

    Ladislav Hagara | Komentářů: 7
    7.6. 11:44 | Zajímavý software

    NiceGUI umožňuje používat webový prohlížeč jako frontend pro kód v Pythonu. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.

    Ladislav Hagara | Komentářů: 1
    7.6. 10:55 | Nová verze

    Open source platforma Home Assistant (Demo, GitHub, Wikipedie) pro monitorování a řízení inteligentní domácnosti byla vydána ve verzi 2024.6. Z novinek lze vypíchnout lepší integraci LLM (OpenAI, Google AI, Ollama) nebo podporu Matter 1.3.

    Ladislav Hagara | Komentářů: 0
    6.6. 20:55 | IT novinky

    IKEA ve Spojeném království hledá zaměstnance do své nové pobočky. Do pobočky v počítačové hře Roblox. Nástupní mzda je 13,15 liber na hodinu.

    Ladislav Hagara | Komentářů: 0
    6.6. 10:44 | Zajímavý článek

    Alyssa Rosenzweig se v příspěvku na svém blogu Vulkan 1.3 na M1 za 1 měsíc rozepsala o novém Vulkan 1.3 ovladači Honeykrisp pro Apple M1 splňujícím specifikaci Khronosu. Vychází z ovladače NVK pro GPU od Nvidie. V plánu je dále rozchodit DXVK a vkd3d-proton a tím pádem Direct3D, aby na Apple M1 s Asahi Linuxem běžely hry pro Microsoft Windows.

    Ladislav Hagara | Komentářů: 41
    6.6. 01:00 | Nová verze

    Byla vydána (𝕏) květnová aktualizace aneb nová verze 1.90 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a animovanými gify v poznámkách k vydání. Ve verzi 1.90 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.

    Ladislav Hagara | Komentářů: 0
    6.6. 00:44 | Nová verze

    Byla vydána (Mastodon, 𝕏) nová verze 2024.2 linuxové distribuce navržené pro digitální forenzní analýzu a penetrační testování Kali Linux (Wikipedie). Přehled novinek se seznamem nových nástrojů v oficiálním oznámení.

    Ladislav Hagara | Komentářů: 0
    5.6. 16:44 | IT novinky

    Počítačová hra Tetris slaví 40 let. Alexej Pažitnov dokončil první hratelnou verzi 6. června 1984. Mezitím vznikla celá řada variant. Například Peklo nebo Nebe. Loni měl premiéru film Tetris.

    Ladislav Hagara | Komentářů: 10
    5.6. 10:44 | Nová verze

    MicroPython (Wikipedie), tj. implementace Pythonu 3 optimalizovaná pro jednočipové počítače, byl vydán ve verzi 1.23.0. V přehledu novinek je vypíchnuta podpora dynamických USB zařízení nebo nové moduly openamp, tls a vfs.

    Ladislav Hagara | Komentářů: 0
    Rozcestník

    Administrace komentářů

    Jste na stránce určené pro řešení chyb a problémů týkajících se diskusí a komentářů. Můžete zde našim administrátorům reportovat špatně zařazenou či duplicitní diskusi, vulgární či osočující příspěvek a podobně. Děkujeme vám za vaši pomoc, více očí více vidí, společně můžeme udržet vysokou kvalitu AbcLinuxu.cz.

    Příspěvek
    23.3.2020 13:28 Ogeen
    Rozbalit Rozbalit vše Re: Parsování dat z webové stránky s javascriptem
    Kdyby to někoho zajímalo, tak tady je varianta skriptu, která očekává 4 parametry a vrací už validní odpověď pro check_mk.

    Nejsem žádný programátor, tak budu vděčný za návrhy na zjednodušení apod.
    
    #!/usr/bin/env python3
    
    # importing the libraries
    import sys, getopt
    import requests
    import re
    from urllib3.exceptions import InsecureRequestWarning
    from bs4 import BeautifulSoup
    
    # Suppress only the single warning from urllib3 needed.
    requests.packages.urllib3.disable_warnings(category=InsecureRequestWarning)
    
    #def main (argv):
    url = ''
    user = ''
    passwd = ''
    hostname = ''
    prd = ''
    
    # Get full command-line arguments
    full_cmd_arguments = sys.argv
    
    # Keep all but the first
    argument_list = full_cmd_arguments[1:]
    
    short_options = "hu:p:H:P:"
    long_options = ["username=","password=","hostname=","publicregistrationdomain"]
    
    def usage():
        print('check-sip-trunk.py -u <username> -p <password> -H <hostname> -P <publicregistrationdomain>')
    
    try:
        arguments, values = getopt.getopt(argument_list, short_options, long_options)
    except getopt.GetoptError as err:
        print (str(err))
        usage()
        sys.exit(2)
    
    if not arguments:
      usage()
      sys.exit(2)
    
    for opt, arg in arguments:
        if opt == '-h':
            usage()
            sys.exit()
        elif opt in ("-u", "--username"):
            user = arg
        elif opt in ("-p", "--password"):
            passwd = arg
        elif opt in ("-H", "--hostname"):
            hostname = arg
            url = f"https://{hostname}/services/webapp/monitor/sip_i.php?sip_i=regstatus"
        elif opt in ("-P", "--publicregistrationdomain"):
            prd = arg
    
    # Make a GET request to fetch the raw HTML content
    response = requests.get(url, auth=(user, passwd), verify=False)
    
    # Parse the html content
    soup = BeautifulSoup(response.text, "lxml")
    
    counter=0
    PRD=""
    PDDI=""
    STATUS=""
    
    rows=[]
    
    for td in soup.find_all("td")[:-1]:
        if counter==0:
            PRD=td.find('b')
            if PRD is not None:
                PRD=PRD.text.split('-',1)[1].strip()
                counter+=1
            else:
                raise IndexError('Tag containing Public Registration Domain not found')
        elif counter==1:
            if not "Public DDI" in td.text:
                raise IndexError('Expected value "Public DDI" but got '+td.text+'')
            counter+=1
        elif counter==2:
            if not "STATUS" in td.text:
                raise IndexError('Expected value "STATUS" but got '+td.text+'')
            counter+=1
        elif counter==3:
            PDDI=td.text
            counter+=1
        elif counter==4:
            STATUS=td.text.strip()
    
            counter=0
            if STATUS=="REGISTRATION SUCCESSFUL":
                trunkstatus = "0 SIP-TRUNK - OK: Public Registration Domain - "+PRD+", Public DDI - "+PDDI+", Status - "+STATUS
                rows.append(trunkstatus)
            elif STATUS=="REGISTRATION FAILED":
                trunkstatus = "2 SIP-TRUNK - CRITICAL: Public Registration Domain - "+PRD+", Public DDI - "+PDDI+", Status - "+STATUS
                rows.append(trunkstatus)
            else:
                trunkstatus = "3 SIP-TRUNK - UNKNOWN: Public Registration Domain - "+PRD+", Public DDI - "+PDDI+", Status - "+STATUS
                rows.append(trunkstatus)
        else:
            raise IndexError('Critical Error. Index is not within interval 0-4')
    
    for item in rows:
        if re.search(rf"\b{prd}\b",item):
            print(item)
            sys.exit()
        else:
            print("Public Registration Domain \""+prd+"\" does not exist.")
            sys.exit(2)
    

    V tomto formuláři můžete formulovat svou stížnost ohledně příspěvku. Nejprve vyberte typ akce, kterou navrhujete provést s diskusí či příspěvkem. Potom do textového pole napište důvody, proč by měli admini provést vaši žádost, problém nemusí být patrný na první pohled. Odkaz na příspěvek bude přidán automaticky.

    Vaše jméno
    Váš email
    Typ požadavku
    Slovní popis
    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.