#!/usr/bin/python3 # -*- coding: utf-8 -*- # -*- mode: Python -*- ''' redis exporter v0.1.0 A basic exporter Licensed under GNU GPLv3 by cocoa ''' from __future__ import print_function import sys import os import argparse import redis import time argsparser = argparse.ArgumentParser(description="Redis exporter LJ") argsparser.add_argument("-i","--ip",help="IP address of the Redis server ",default="127.0.0.1",type=str) argsparser.add_argument("-p","--port",help="Port of the Redis server ",default="6379",type=str) argsparser.add_argument("-k","--key",help="Redis key to update",default="0",type=str) argsparser.add_argument("-v","--verbose",action="store_true",help="Verbose") args = argsparser.parse_args() ip = args.ip port = args.port key = args.key verbose=args.verbose def debug(*args, **kwargs): if( verbose == False ): return print(*args, file=sys.stderr, **kwargs) r=redis.StrictRedis(host=ip, port=port, db=0) try: while True: line = sys.stdin.readline() if line == "": time.sleep(0.01) continue line = line.rstrip('\n') line=line[1:-1] line = line.replace("[",'(') line = line.replace("]",')') line = "[{}]".format(line) if line == "[]": line="[(400.0,400.0,0),(400.0,400.0,0),(400.0,400.0,0),(400.0,400.0,0)]" continue if r.set(key,line)==True: debug("exports::redis set("+str(key)+") to "+line) except EOFError: debug("break")# no more information