Skip to content

Commit cf61f7b

Browse files
committed
namespace transport classes in the transport module
1 parent 1aa2fd8 commit cf61f7b

13 files changed

Lines changed: 52 additions & 49 deletions

beaver/queue.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@
44
import sys
55
import time
66

7-
from transport import TransportException, create_transport
7+
from beaver.transports import create_transport
8+
from beaver.transports.transport import TransportException
89
from unicode_dammit import unicode_dammit
910

1011

beaver/tests/test_transport_config.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,11 @@
66

77
import beaver
88
from beaver.config import BeaverConfig, FileConfig
9-
from beaver.transport import create_transport, Transport
9+
from beaver.transports import create_transport
10+
from beaver.transports.base_transport import BaseTransport
1011

1112

12-
class DummyTransport(Transport):
13+
class DummyTransport(BaseTransport):
1314
pass
1415

1516

beaver/tests/test_zmq_transport.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
from beaver.config import BeaverConfig, FileConfig
66

77
try:
8-
from beaver.zmq_transport import ZmqTransport
8+
from beaver.transport.zmq_transport import ZmqTransport
99
skip = False
1010
except ImportError, e:
1111
if e.message == "No module named zmq":

beaver/transports/__init__.py

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
# -*- coding: utf-8 -*-
2+
3+
4+
def create_transport(beaver_config, file_config, logger):
5+
"""Creates and returns a transport object"""
6+
transport_str = beaver_config.get('transport')
7+
if '.' not in transport_str:
8+
# allow simple names like 'redis' to load a beaver built-in transport
9+
module_path = 'beaver.transports.%s_transport' % transport_str.lower()
10+
class_name = '%sTransport' % transport_str.title()
11+
else:
12+
# allow dotted path names to load a custom transport class
13+
try:
14+
module_path, class_name = transport_str.rsplit('.', 1)
15+
except ValueError:
16+
raise Exception('Invalid transport {0}'.format(beaver_config.get('transport')))
17+
18+
_module = __import__(module_path, globals(), locals(), class_name, -1)
19+
transport_class = getattr(_module, class_name)
20+
transport = transport_class(beaver_config, file_config, logger)
21+
22+
return transport
Lines changed: 1 addition & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
# -*- coding: utf-8 -*-
2-
import os
32
import datetime
43

54
# priority: ujson > simplejson > jsonlib2 > json
@@ -18,28 +17,7 @@
1817
import msgpack_pure as msgpack
1918

2019

21-
def create_transport(beaver_config, file_config, logger):
22-
"""Creates and returns a transport object"""
23-
transport_str = beaver_config.get('transport')
24-
if '.' not in transport_str:
25-
# allow simple names like 'redis' to load a beaver built-in transport
26-
module_path = 'beaver.%s_transport' % transport_str.lower()
27-
class_name = '%sTransport' % transport_str.title()
28-
else:
29-
# allow dotted path names to load a custom transport class
30-
try:
31-
module_path, class_name = transport_str.rsplit('.', 1)
32-
except ValueError:
33-
raise Exception('Invalid transport {0}'.format(beaver_config.get('transport')))
34-
35-
_module = __import__(module_path, globals(), locals(), class_name, -1)
36-
transport_class = getattr(_module, class_name)
37-
transport = transport_class(beaver_config, file_config, logger)
38-
39-
return transport
40-
41-
42-
class Transport(object):
20+
class BaseTransport(object):
4321

4422
def __init__(self, beaver_config, file_config, logger=None):
4523
"""Generic transport configuration
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
# -*- coding: utf-8 -*-
22
from mosquitto import Mosquitto
33

4-
import beaver.transport
5-
from beaver.transport import TransportException
4+
from beaver.transports.base_transport import BaseTransport
5+
from beaver.transports.transport import TransportException
66

77

8-
class MosquittoTransport(beaver.transport.Transport):
8+
class MosquittoTransport(BaseTransport):
99

1010
def __init__(self, beaver_config, file_config, logger=None):
1111
"""
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
# -*- coding: utf-8 -*-
22
import pika
33

4-
import beaver.transport
5-
from beaver.transport import TransportException
4+
from beaver.transports.base_transport import BaseTransport
5+
from beaver.transports.transport import TransportException
66

77

8-
class RabbitmqTransport(beaver.transport.Transport):
8+
class RabbitmqTransport(BaseTransport):
99

1010
def __init__(self, beaver_config, file_config, logger=None):
1111
super(RabbitmqTransport, self).__init__(beaver_config, file_config, logger=logger)
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,11 @@
33
import time
44
import urlparse
55

6-
import beaver.transport
7-
from beaver.transport import TransportException
6+
from beaver.transports.base_transport import BaseTransport
7+
from beaver.transports.transport import TransportException
88

99

10-
class RedisTransport(beaver.transport.Transport):
10+
class RedisTransport(BaseTransport):
1111

1212
def __init__(self, beaver_config, file_config, logger=None):
1313
super(RedisTransport, self).__init__(beaver_config, file_config, logger=logger)
Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
# -*- coding: utf-8 -*-
2-
import beaver.transport
3-
from beaver.transport import TransportException
42
import boto.sqs
53
import uuid
64

5+
from beaver.transports.base_transport import BaseTransport
6+
from beaver.transports.transport import TransportException
77

8-
class SqsTransport(beaver.transport.Transport):
8+
9+
class SqsTransport(BaseTransport):
910

1011
def __init__(self, beaver_config, file_config, logger=None):
1112
super(SqsTransport, self).__init__(beaver_config, file_config, logger=logger)
Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
# -*- coding: utf-8 -*-
2-
import beaver.transport
3-
import beaver.utils
2+
from beaver.transports.base_transport import BaseTransport
3+
from beaver.utils import setup_custom_logger
44

55

6-
class StdoutTransport(beaver.transport.Transport):
6+
class StdoutTransport(BaseTransport):
77

88
def __init__(self, beaver_config, file_config, logger=None):
99
super(StdoutTransport, self).__init__(beaver_config, file_config, logger=logger)
10-
self._stdout = beaver.utils.setup_custom_logger('stdout', formatter=False, output=beaver_config.get('output'))
10+
self._stdout = setup_custom_logger('stdout', formatter=False, output=beaver_config.get('output'))
1111

1212
def callback(self, filename, lines, **kwargs):
1313
timestamp = self.get_timestamp(**kwargs)

0 commit comments

Comments
 (0)