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í
×
    dnes 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
    dnes 10:22 | Nová verze

    Canonical vydal Ubuntu Core 24. Představení na YouTube. Nová verze Ubuntu Core vychází z Ubuntu 24.04 LTS a podporována bude 12 let. Ubuntu Core je určeno pro IoT (internet věcí) a vestavěné systémy.

    Ladislav Hagara | Komentářů: 0
    dnes 01:00 | Nová verze Ladislav Hagara | Komentářů: 0
    včera 19:55 | IT novinky

    Intel na veletrhu Computex 2024 představil (YouTube) mimo jiné procesory Lunar Lake a Xeon 6.

    Ladislav Hagara | Komentářů: 0
    včera 13:44 | IT novinky

    Na blogu Raspberry Pi byl představen Raspberry Pi AI Kit určený vlastníkům Raspberry Pi 5, kteří na něm chtějí experimentovat se světem neuronových sítí, umělé inteligence a strojového učení. Jedná se o spolupráci se společností Hailo. Cena AI Kitu je 70 dolarů.

    Ladislav Hagara | Komentářů: 0
    včera 13:22 | Nová verze

    Byla vydána nová verze 14.1 svobodného unixového operačního systému FreeBSD. Podrobný přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    včera 12:55 | Zajímavý software

    Společnost Kaspersky vydala svůj bezplatný Virus Removal Tool (KVRT) také pro Linux.

    Ladislav Hagara | Komentářů: 9
    včera 12:33 | Nová verze

    Grafický editor dokumentů LyX, založený na TeXu, byl vydán ve verzi 2.4.0 shrnující změny za šest let vývoje. Novinky zahrnují podporu Unicode jako výchozí, export do ePub či DocBook 5 a velké množství vylepšení uživatelského rozhraní a prvků editoru samotného (např. rovnic, tabulek, citací).

    Fluttershy, yay! | Komentářů: 4
    včera 12:00 | Nová verze

    Byla vydána (𝕏) nová verze 7.0 LTS open source monitorovacího systému Zabbix (Wikipedie). Přehled novinek v oznámení na webu, v poznámkách k vydání a v aktualizované dokumentaci.

    Ladislav Hagara | Komentářů: 0
    včera 11:11 | Nová verze

    Organizace Apache Software Foundation (ASF) vydala verzi 22 integrovaného vývojového prostředí a vývojové platformy napsané v Javě NetBeans (Wikipedie). Přehled novinek na GitHubu. Instalovat lze také ze Snapcraftu a Flathubu.

    Ladislav Hagara | Komentářů: 3
    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.