Skip to content
Snippets Groups Projects
Commit decb1ae9 authored by Eckl, Máté's avatar Eckl, Máté
Browse files

Kis command line improvement és validációs kérés

Mivel Gergő felvetette, hogy lehessen már validálni a konfig adatait, így ha már szerver oldalon megcsináltam a lehetőséget, itt is csinálok rá lehetőséget.
Gondoltam, ha már nem csak az ip protokoll verzióját, akkor legyen kulturált kapcsolókezelés. Menő ez az argparse.

 _________________________________________
/ Governor Tarkin. I should have expected \
| to find you holding Vader's leash. I    |
| thought I recognized your foul stench   |
| when I was brought on board.            |
|                                         |
\ -- Princess Leia Organa                 /
 -----------------------------------------
   \
    \
        .--.
       |o_o |
       |:_/ |
      //   \ \
     (|     | )
    /'\_   _/`\
    \___)=(___/
parent 8e10b7fa
No related branches found
No related tags found
No related merge requests found
-----BEGIN CERTIFICATE-----
MIIC2TCCAkICCQC4yWRaTlsHGzANBgkqhkiG9w0BAQsFADCBsDELMAkGA1UEBhMC
SFUxEDAOBgNVBAgMB0h1bmdhcnkxETAPBgNVBAcMCEJ1ZGFwZXN0MTkwNwYDVQQK
DDBTY2jDg8K2bmhlcnogS29sbMODwqlnaXVtw4PCqXJ0IEFsYXDDg8KtdHbDg8Kh
bnkxDTALBgNVBAsMBEtTWksxETAPBgNVBAMMCCouaTQyLmh1MR8wHQYJKoZIhvcN
AQkBFhBlY2tsbUBzY2guYm1lLmh1MB4XDTE1MTIxMzE4MDEzOFoXDTE1MTIyMzE4
MDEzOFowgbAxCzAJBgNVBAYTAkhVMRAwDgYDVQQIDAdIdW5nYXJ5MREwDwYDVQQH
DAhCdWRhcGVzdDE5MDcGA1UECgwwU2Now4PCtm5oZXJ6IEtvbGzDg8KpZ2l1bcOD
wqlydCBBbGFww4PCrXR2w4PCoW55MQ0wCwYDVQQLDARLU1pLMREwDwYDVQQDDAgq
Lmk0Mi5odTEfMB0GCSqGSIb3DQEJARYQZWNrbG1Ac2NoLmJtZS5odTCBnzANBgkq
hkiG9w0BAQEFAAOBjQAwgYkCgYEA50OQk3PWaQd1qKUeds2f4k+AUT2JcqTgQzfD
2McmlEZ43teVEaePlIL6SjewngiZ+56d1CWLrKTIxpoyoUwEdzPN+zFv8RAlVkVo
Id8kRLimtILkWU+o+60YYisKRFB0U2Vewr0TYyoirUtvOqi7tUg/Re70xIx7Ahkg
KimhPy8CAwEAATANBgkqhkiG9w0BAQsFAAOBgQBBRNdxh+4wBDxWZxvrUPXa1jmt
xmbzSWUjEpQLUaTm4CZEBi9dX01f37JhbzClhNTpdBfCQrQOvNjzOGf2EAxVWSVk
/Stx3TJHko9ccxjyGiKVQbFpG+og2el54ia643htTaPOhm+jwqvuRPaoQm7D7M2R
ePMJwAewQvvzIGxG5A==
-----END CERTIFICATE-----
......@@ -4,15 +4,29 @@
from conf import *
import urllib2
import sys
import argparse
update_version = UPDATE_IP_VERSION
# a parancssori paraméter rugalmasabb, mint a config, ezért felülírhatja
if len(sys.argv) > 1:
arg1 = int(sys.argv[1])
if arg1 in (4, 6):
update_version = arg1
else:
raise ValueError("Ilyen IP protokoll nincs. Adj meg jót, vagy hagyd el az opciót!")
parser = argparse.ArgumentParser(
description="Frissítési kérést indít a konfigurációs fájlban megadott adatokkal "
"az i42.hu alá eső regisztrált domain rekord(ok) frissítésére.")
parser.add_argument("-4", "--ipv4_only", action="store_true",
help="Csak IPv4-en próbál meg frissítési kérést küldeni.")
parser.add_argument("-6", "--ipv6_only", action="store_true",
help="Csak IPv6-on próbál meg frissítési kérést küldeni.")
parser.add_argument("-v", "--validate", action="store_true",
help="A megadott adatokkal validálási kérést küld. " +
"Ez a kérés nem frissíti az ip cím(ek)et. " +
"A válaszból így beállításkor tudható, hogy nincs-e valami elírva, " +
"illetve minden rekord létre van-e hozva.")
args = parser.parse_args()
if args.ipv4_only:
update_version = 4
elif args.ipv6_only:
update_version = 6
data_v4 = "token=%s&prefix=%s" % (MY_TOKEN, MY_PREFIX)
data_v6 = data_v4
......@@ -26,15 +40,19 @@ if len(MY_IP_V4) > 0:
if len(MY_IP_V6) > 0:
data_v6 += "&ip_address=%s" % MY_IP_V6
if args.validate:
data_v4 += "&validate"
data_v6 += "&validate"
for (server, data, version) in [(server_v4, data_v4, 4), (server_v6, data_v6, 6)]:
try:
if (update_version in (4, 6)) and (update_version != version):
sys.stderr.write("IPv%d protokollon nem ment kérés.\n" % version)
continue
response = urllib2.urlopen(server, data=data, cafile="i42.crt", timeout=30)
response = urllib2.urlopen(server, data=data, timeout=30)
print response.read()
except urllib2.HTTPError, ex:
sys.stderr.write(str(ex))
except urllib2.URLError, ex:
sys.stderr.write("URLError: Hibás URL címet adtál meg, vagy a kérés timeout-olt."
sys.stderr.write("URLError: Hibás URL címet adtál meg, vagy a kérés timeout-olt. "
"Lehet, hogy IPv%d protokollon nem tudsz kommunikálni.\n" % version)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment