mirror of
https://codeberg.org/prof_x_pvt_ltd/captive.whump.shanti-portal
synced 2024-08-14 22:46:42 +00:00
33 lines
651 B
Python
33 lines
651 B
Python
|
|
||
|
import subprocess
|
||
|
import shlex
|
||
|
|
||
|
def run_ipset(command, *args, **kw):
|
||
|
use_sudo = kw.get('use_sudo', True)
|
||
|
|
||
|
if use_sudo:
|
||
|
ipset_cmd = 'sudo ipset'
|
||
|
else:
|
||
|
ipset_cmd = 'ipset'
|
||
|
|
||
|
full_command = '{ipset} {command} {args}'.format(
|
||
|
ipset=ipset_cmd,
|
||
|
command=command,
|
||
|
args=' '.join(args)
|
||
|
)
|
||
|
|
||
|
proc = subprocess.run(
|
||
|
shlex.split(full_command),
|
||
|
stdout=subprocess.PIPE,
|
||
|
timeout=2,
|
||
|
check=True
|
||
|
)
|
||
|
|
||
|
#proc = subprocess.Popen(
|
||
|
# shlex.split(full_command),
|
||
|
# stdout=subprocess.PIPE
|
||
|
#)
|
||
|
|
||
|
#(output, error) = proc.communicate(timeout=2)
|
||
|
|
||
|
return proc
|