Skip to content

Commit 5c06286

Browse files
authored
Merge pull request #55 from Worvast/master
Fixing Sender and under version requirements
2 parents e652d4f + 817f21d commit 5c06286

File tree

6 files changed

+36
-52
lines changed

6 files changed

+36
-52
lines changed

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file.
44
The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
55
and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
66

7+
## [2.2.0] - 2019-02-23
8+
#### Changed
9+
* Inits args for Sender(), and from_config(), to make it more flexible to config objects and flags
10+
711
## [2.1.3] - 2019-02-22
812
#### Added
913
* Requirements file

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11

22
[![master Build Status](https://travis-ci.com/DevoInc/python-sdk.svg?branch=master)](https://travis-ci.com/DevoInc/python-sdk) [![LICENSE](https://img.shields.io/dub/l/vibe-d.svg)](https://github.com/DevoInc/python-sdk/blob/master/LICENSE)
33

4-
[![wheel](https://img.shields.io/badge/wheel-yes-brightgreen.svg)](https://pypi.org/project/devo-sdk/) [![version](https://img.shields.io/badge/version-2.1.3-blue.svg)](https://pypi.org/project/devo-sdk/) [![python](https://img.shields.io/badge/python-2.7%20%7C%203.3%20%7C%203.4%20%7C%203.5%20%7C%203.6%20%7C%203.7-blue.svg)](https://pypi.org/project/devo-sdk/)
4+
[![wheel](https://img.shields.io/badge/wheel-yes-brightgreen.svg)](https://pypi.org/project/devo-sdk/) [![version](https://img.shields.io/badge/version-2.2.0-blue.svg)](https://pypi.org/project/devo-sdk/) [![python](https://img.shields.io/badge/python-2.7%20%7C%203.3%20%7C%203.4%20%7C%203.5%20%7C%203.6%20%7C%203.7-blue.svg)](https://pypi.org/project/devo-sdk/)
55

66

77
# Devo Python SDK

devo/__version__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
__description__ = 'Devo Python Library.'
22
__url__ = 'http://www.devo.com'
3-
__version__ = "2.1.3"
3+
__version__ = "2.2.0"
44
__author__ = 'Devo'
55
__author_email__ = 'support@devo.com'
66
__license__ = 'MIT'

devo/sender/data.py

Lines changed: 28 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -115,19 +115,30 @@ class Sender(logging.Handler):
115115
116116
"""
117117
def __init__(self, config=None, **kwargs):
118-
if not config:
119-
config = SenderConfigTCP(**kwargs) if kwargs.get('type') == "TCP" \
120-
else SenderConfigSSL(**kwargs) if kwargs.get('type') == "SSL" \
121-
else None
122-
123-
if not config:
124-
raise DevoSenderException("Problems with args passed to Sender")
118+
if not isinstance(config, (SenderConfigSSL, SenderConfigTCP)):
119+
if not config:
120+
config = kwargs
121+
else:
122+
config.update(kwargs)
123+
124+
if "type" not in config.keys():
125+
config["type"] = "SSL"
126+
config = SenderConfigSSL(**config)
127+
elif config["type"] not in ["TCP", "SSL"]:
128+
raise DevoSenderException(
129+
"Devo-Sender|Type must be 'SSL' or 'TCP'")
130+
elif config.get("type") == "TCP":
131+
config = SenderConfigTCP(**config)
132+
elif config.get("type") == "SSL":
133+
config = SenderConfigSSL(**config)
134+
else:
135+
raise DevoSenderException("Problems with args passed to Sender")
125136

126137
logger = kwargs.get('logger', None)
127138

128139
logging.Handler.__init__(self)
129-
self.logger = self.__set_logger(kwargs.get('verbose_level', "INFO")) \
130-
if logger is None else logger
140+
self.logger = logger if logger \
141+
else self.__set_logger(kwargs.get('verbose_level', "INFO"))
131142

132143
self.socket = None
133144
self._sender_config = config
@@ -452,7 +463,7 @@ def for_logging(config, con_type="SSL", tag=None, level=10):
452463
if "verbose_level" not in config.keys():
453464
config["verbose_level"] = level
454465

455-
con = Sender.from_config(config, con_type)
466+
con = Sender.from_config(config, con_type=con_type)
456467
if tag:
457468
con.set_logger_tag(tag)
458469
elif "tag" in config.keys():
@@ -470,44 +481,13 @@ def from_config(config, con_type=None, logger=None):
470481
:param logger: logger handler, default None
471482
:return: Sender object
472483
"""
473-
con_type = config['type'].upper() if "type" in config and con_type \
474-
is not None else "SSL"
475-
cert_reqs = config['cert_reqs'] if "cert_reqs" in config else True
484+
if "cert_reqs" not in config.keys():
485+
config['cert_reqs'] = True
476486

477-
if con_type == "SSL":
478-
if cert_reqs:
479-
return Sender(
480-
SenderConfigSSL(
481-
address=config['address'],
482-
port=int(config['port']),
483-
cert_reqs=True,
484-
key=config['key'],
485-
cert=config['cert'],
486-
chain=config['chain']
487-
),
488-
logger=logger,
489-
verbose_level=config.get('verbose_level', "INFO")
490-
)
491-
return Sender(
492-
SenderConfigSSL(
493-
address=config['address'],
494-
port=int(config['port']),
495-
cert_reqs=False
496-
),
497-
logger=logger,
498-
verbose_level=config.get('verbose_level', "INFO")
499-
)
500-
501-
if con_type == "TCP":
502-
return Sender(
503-
SenderConfigTCP(
504-
address=config['address'],
505-
port=int(config['port'])
506-
),
507-
logger=logger,
508-
verbose_level=config.get('verbose_level', "INFO")
509-
)
510-
raise DevoSenderException("Devo-Sender|Type must be 'SSL' or 'TCP'")
487+
if "type" not in config.keys():
488+
config['type'] = con_type if con_type else "SSL"
489+
490+
return Sender(logger=logger, **config)
511491

512492
def emit(self, record):
513493
"""
@@ -525,7 +505,7 @@ def emit(self, record):
525505
try:
526506
msg = self.format(record)
527507
msg += '\000'
528-
self.send(self._logger_tag, msg, facility=self._logger_facility,
508+
self.send(tag=self._logger_tag, msg=msg, facility=self._logger_facility,
529509
severity=priority_map.get(record.levelname, "info"))
530510
except Exception:
531511
self.handleError(record)

requirements.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
Click==7.0
2-
PyYAML==3.13
2+
pyyaml>=git+git://github.com/yaml/pyyaml@releases/tag/5.1b3
33
requests==2.21.0

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
"Topic :: Software Development :: Libraries :: Python Modules",
2929
]
3030
INSTALL_REQUIRES = ['requests>=2.17,<3', 'click>=7']
31-
EXTRA_REQUIRES = {'pyyaml': ['pyyaml']}
31+
EXTRA_REQUIRES = {'pyyaml': ['pyyaml>=5.1b3']}
3232
CLI = ['devo-sender=devo.sender.scripts.sender_cli:cli',
3333
'devo-api=devo.api.scripts.client_cli:cli']
3434

0 commit comments

Comments
 (0)