/
l3prod.py
48 lines (36 loc) · 1.66 KB
/
l3prod.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# Copyright (c) 2010-2011.
# Author(s):
# Martin Raspaud <martin.raspaud@smhi.se>
# This file is part of pytroll.
# Pytroll is free software: you can redistribute it and/or modify it under the
# terms of the GNU General Public License as published by the Free Software
# Foundation, either version 3 of the License, or (at your option) any later
# version.
# Pytroll is distributed in the hope that it will be useful, but WITHOUT ANY
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
# A PARTICULAR PURPOSE. See the GNU General Public License for more details.
# You should have received a copy of the GNU General Public License along with
# pytroll. If not, see <http://www.gnu.org/licenses/>.
"""A very stupid consumer.
"""
from posttroll.subscriber import Subscribe
from posttroll.publisher import Publish
from posttroll.message import Message
try:
with Publish("l2prod", "HRPT 3", 9003) as pub:
with Subscribe("HRPT 2", "NWP") as sub1:
for msg in sub1.recv():
print "Consumer got", msg
if msg is not None and msg.type == "file":
data = msg.data
if data["type"] == "HRPT 2":
data["type"] = "HRPT 3"
data["format"] = "Pytroll's netcdf"
print "publishing", Message('/dc/polar/gds', "file",
data).encode()
pub.send(Message('/dc/polar/gds', "file",
data).encode())
except KeyboardInterrupt:
print "terminating consumer..."