mirror of https://github.com/CIRCL/AIL-framework
27 lines
985 B
Python
27 lines
985 B
Python
|
#!/usr/bin/env python
|
||
|
# -*- coding: utf-8 -*-
|
||
|
|
||
|
import zmq
|
||
|
import base64
|
||
|
import argparse
|
||
|
import os
|
||
|
|
||
|
|
||
|
if __name__ == "__main__":
|
||
|
parser = argparse.ArgumentParser(description='Take files from a directory and push them into a 0MQ feed.')
|
||
|
parser.add_argument('-d', '--directory', type=str, required=True, help='Root directory to import')
|
||
|
parser.add_argument('-p', '--port', type=int, default=5556, help='Zero MQ port')
|
||
|
parser.add_argument('-c', '--channel', type=str, default='102', help='Zero MQ channel')
|
||
|
|
||
|
args = parser.parse_args()
|
||
|
|
||
|
context = zmq.Context()
|
||
|
socket = context.socket(zmq.PUB)
|
||
|
socket.bind("tcp://*:{}".format(args.port))
|
||
|
|
||
|
for dirname, dirnames, filenames in os.walk(args.directory):
|
||
|
for filename in filenames:
|
||
|
messagedata = open(os.path.join(dirname, filename)).read()
|
||
|
print(os.path.join(dirname, filename))
|
||
|
socket.send('{} {} {}'.format(args.channel, filename, base64.b64encode(messagedata)))
|