Move some code to functions
This commit is contained in:
parent
25491e0d6d
commit
3957b7a2dd
38
netrun.py
38
netrun.py
|
@ -2,19 +2,39 @@ import requests
|
|||
import subprocess
|
||||
import sys
|
||||
|
||||
|
||||
def launch(command, data):
|
||||
if isinstance(command, str):
|
||||
command = [command]
|
||||
elif isinstance(command, tuple):
|
||||
command = list(command)
|
||||
elif not isinstance(command, list):
|
||||
raise ValueError("`command` must be `list`, `tuple`, or `str`")
|
||||
|
||||
return subprocess.run(command, input=data)
|
||||
|
||||
|
||||
def yn(question, options="yn"):
|
||||
options = options.lower()
|
||||
|
||||
options_display = f"[{'/'.join(options)}]"
|
||||
full_question = f"{question} {options_display} "
|
||||
|
||||
response = "WILL NEVER OCCUR IN OPTIONS"
|
||||
while not response in options:
|
||||
response = input(full_question).lower().strip()[0]
|
||||
|
||||
return response
|
||||
|
||||
|
||||
url = sys.argv[1]
|
||||
|
||||
content = requests.get(url).content
|
||||
|
||||
subprocess.run(["less"], input=content)
|
||||
launch("less", content)
|
||||
|
||||
while True:
|
||||
response = (
|
||||
input("Do you want to run this script? [y/n] ").lower().strip()[0]
|
||||
)
|
||||
response = yn("Do you want to run this script?")
|
||||
if response == "y":
|
||||
subprocess.run(["bash"], input=content)
|
||||
break
|
||||
elif response == "n":
|
||||
launch("bash", content)
|
||||
else:
|
||||
print("Script not run.")
|
||||
break
|
||||
|
|
Loading…
Reference in New Issue
Block a user