From be3bb7718c15352436dc2b41cb25e33121e57608 Mon Sep 17 00:00:00 2001 From: Panu Lahtinen Date: Mon, 22 Apr 2024 10:29:47 +0300 Subject: [PATCH] Fix datetime imports --- posttroll/__init__.py | 8 ++++---- posttroll/address_receiver.py | 17 ++++++++--------- posttroll/message.py | 5 +++-- posttroll/ns.py | 8 ++++---- posttroll/publisher.py | 10 +++++----- 5 files changed, 24 insertions(+), 24 deletions(-) diff --git a/posttroll/__init__.py b/posttroll/__init__.py index b77c34b..d812970 100644 --- a/posttroll/__init__.py +++ b/posttroll/__init__.py @@ -24,10 +24,10 @@ """Posttroll packages.""" +import datetime as dt import logging import os import sys -from datetime import datetime import zmq from donfig import Config @@ -58,7 +58,7 @@ def strp_isoformat(strg): We handle input like: 2011-11-14T12:51:25.123456 """ - if isinstance(strg, datetime): + if isinstance(strg, dt.datetime): return strg if len(strg) < 19 or len(strg) > 26: if len(strg) > 30: @@ -67,10 +67,10 @@ def strp_isoformat(strg): if strg.find(".") == -1: strg += '.000000' if sys.version[0:3] >= '2.6': - return datetime.strptime(strg, "%Y-%m-%dT%H:%M:%S.%f") + return dt.datetime.strptime(strg, "%Y-%m-%dT%H:%M:%S.%f") else: dat, mis = strg.split(".") - dat = datetime.strptime(dat, "%Y-%m-%dT%H:%M:%S") + dat = dt.datetime.strptime(dat, "%Y-%m-%dT%H:%M:%S") mis = int(float('.' + mis)*1000000) return dat.replace(microsecond=mis) diff --git a/posttroll/address_receiver.py b/posttroll/address_receiver.py index dc6112c..dc8076b 100644 --- a/posttroll/address_receiver.py +++ b/posttroll/address_receiver.py @@ -27,14 +27,13 @@ //address info ... host:port """ import copy +import datetime as dt +import errno import logging import os import threading -import errno import time -from datetime import datetime, timedelta - import netifaces from zmq import REP, LINGER @@ -53,8 +52,8 @@ default_publish_port = 16543 -ten_minutes = timedelta(minutes=10) -zero_seconds = timedelta(seconds=0) +ten_minutes = dt.timedelta(minutes=10) +zero_seconds = dt.timedelta(seconds=0) def get_local_ips(): @@ -88,7 +87,7 @@ def __init__(self, max_age=ten_minutes, port=None, self._subject = '/address' self._do_heartbeat = do_heartbeat self._multicast_enabled = multicast_enabled - self._last_age_check = datetime(1900, 1, 1) + self._last_age_check = dt.datetime(1900, 1, 1) self._do_run = False self._is_running = False self._thread = threading.Thread(target=self._run) @@ -127,11 +126,11 @@ def get(self, name=""): def _check_age(self, pub, min_interval=zero_seconds): """Check the age of the receiver.""" - now = datetime.utcnow() + now = dt.datetime.utcnow() if (now - self._last_age_check) <= min_interval: return - LOGGER.debug("%s - checking addresses", str(datetime.utcnow())) + LOGGER.debug("%s - checking addresses", str(dt.datetime.utcnow())) self._last_age_check = now to_del = [] with self._address_lock: @@ -218,7 +217,7 @@ def _run(self): def _add(self, adr, metadata): """Add an address.""" with self._address_lock: - metadata["receive_time"] = datetime.utcnow() + metadata["receive_time"] = dt.datetime.utcnow() self._addresses[adr] = metadata diff --git a/posttroll/message.py b/posttroll/message.py index 1998377..6c10c0a 100644 --- a/posttroll/message.py +++ b/posttroll/message.py @@ -38,8 +38,9 @@ Note: the Message class is not optimized for BIG messages. """ +import datetime as dt import re -from datetime import datetime + try: import json except ImportError: @@ -131,7 +132,7 @@ def __init__(self, subject='', atype='', data='', binary=False, rawstr=None): self.type = atype self.type = atype self.sender = _getsender() - self.time = datetime.utcnow() + self.time = dt.datetime.utcnow() self.data = data self.binary = binary self.version = _VERSION diff --git a/posttroll/ns.py b/posttroll/ns.py index 7aabc1e..1ecff05 100644 --- a/posttroll/ns.py +++ b/posttroll/ns.py @@ -25,10 +25,10 @@ Default port is 5557, if $NAMESERVER_PORT is not defined. """ +import datetime as dt import logging import os import time -from datetime import datetime, timedelta from threading import Lock # pylint: disable=E0611 @@ -67,8 +67,8 @@ def get_pub_addresses(names=None, timeout=10, nameserver="localhost"): if names is None: names = ["", ] for name in names: - then = datetime.now() + timedelta(seconds=timeout) - while datetime.now() < then: + then = dt.datetime.now() + dt.timedelta(seconds=timeout) + while dt.datetime.now() < then: addrs += get_pub_address(name, nameserver=nameserver, timeout=timeout) if addrs: break @@ -127,7 +127,7 @@ def __init__(self, max_age=None, multicast_enabled=True, restrict_to_localhost=F """Initialize nameserver.""" self.loop = True self.listener = None - self._max_age = max_age or timedelta(minutes=10) + self._max_age = max_age or dt.timedelta(minutes=10) self._multicast_enabled = multicast_enabled self._restrict_to_localhost = restrict_to_localhost diff --git a/posttroll/publisher.py b/posttroll/publisher.py index 47fb738..4a9bdec 100644 --- a/posttroll/publisher.py +++ b/posttroll/publisher.py @@ -23,9 +23,9 @@ """The publisher module gives high-level tools to publish messages on a port.""" +import datetime as dt import logging import socket -from datetime import datetime, timedelta from threading import Lock from urllib.parse import urlsplit, urlunsplit import zmq @@ -160,13 +160,13 @@ class _PublisherHeartbeat: def __init__(self, publisher): self.publisher = publisher self.subject = '/heartbeat/' + publisher.name - self.lastbeat = datetime(1900, 1, 1) + self.lastbeat = dt.datetime(1900, 1, 1) def __call__(self, min_interval=0): if not min_interval or ( - (datetime.utcnow() - self.lastbeat >= - timedelta(seconds=min_interval))): - self.lastbeat = datetime.utcnow() + (dt.datetime.utcnow() - self.lastbeat >= + dt.timedelta(seconds=min_interval))): + self.lastbeat = dt.datetime.utcnow() LOGGER.debug("Publish heartbeat (min_interval is %.1f sec)", min_interval) self.publisher.send(Message(self.subject, "beat", {"min_interval": min_interval}).encode())