mirror of https://git.48k.eu/ogclient
#1065 Add event subcommand arguments
ogClient can be invoked with additional arguments to send event datagrams to the default event datagram socket at 127.0.0.1 port 55885. ogclient session events invokation syntax: ogclient event login foobar ogclient event logout foobar If event commands arguments are detected, ogclient sends the datagram and closes afterwards. Datagram syntax for session event is: session [start | stop] [user]more_events
parent
2465ef25b7
commit
05f2fd43c2
30
ogclient
30
ogclient
|
@ -10,6 +10,7 @@
|
|||
|
||||
import json
|
||||
import logging
|
||||
import argparse
|
||||
import subprocess
|
||||
try:
|
||||
from signal import SIG_DFL, SIGPIPE
|
||||
|
@ -21,7 +22,36 @@ from src.ogClient import *
|
|||
from src.log import configure_logging
|
||||
|
||||
|
||||
def send_event_dgram(msg, ip='127.0.0.1', port=55885):
|
||||
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
|
||||
sock.sendto(bytes(msg, "utf-8"), (ip, port))
|
||||
|
||||
|
||||
def create_parser():
|
||||
events = ['login', 'logout']
|
||||
parser = argparse.ArgumentParser()
|
||||
parser.set_defaults(func=None)
|
||||
subparsers = parser.add_subparsers()
|
||||
|
||||
parser_event = subparsers.add_parser('event')
|
||||
|
||||
subparsers_event = parser_event.add_subparsers()
|
||||
parser_event_login = subparsers_event.add_parser('login')
|
||||
parser_event_login.set_defaults(func=lambda x: send_event_dgram(f'session start {x.user}'))
|
||||
parser_event_login.add_argument('user', type=str)
|
||||
parser_event_logout = subparsers_event.add_parser('logout')
|
||||
parser_event_logout.set_defaults(func=lambda x: send_event_dgram(f'session stop {x.user}'))
|
||||
parser_event_logout.add_argument('user', type=str)
|
||||
|
||||
return parser
|
||||
|
||||
|
||||
def main():
|
||||
parser = create_parser()
|
||||
args = parser.parse_args(sys.argv[1:])
|
||||
if args.func:
|
||||
args.func(args)
|
||||
return
|
||||
config_path = f'{ogClient.OG_PATH}cfg/ogclient.json'
|
||||
try:
|
||||
with open(config_path, 'r') as f:
|
||||
|
|
Loading…
Reference in New Issue