diff --git a/arElement.py b/arElement.py index 101266c..949e495 100644 --- a/arElement.py +++ b/arElement.py @@ -18,8 +18,9 @@ # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. # import datetime as dt -import pytz +#import pytz from tzlocal import get_localzone +from zoneinfo import ZoneInfo import threading @@ -47,12 +48,18 @@ class arElement(): self._arTz = v def arGetLocalTime(self): - ldt = self._arLtz.localize(dt.datetime.now()) + naive_dt = dt.datetime.now() + #print(naive_dt) + #aware_dt = naive_dt.replace(tzinfo=ZoneInfo('America/Chicago')) + ldt = naive_dt.replace(tzinfo=self._arLtz) + #ldt = self._arLtz.localize(dt.datetime.now()) return ldt.astimezone(self._arTz) def arGetUTCTime(self): - ldt = self._arLtz.localize(dt.datetime.now()) - return ldt.astimezone(pytz.utc) + #ldt = self._arLtz.localize(dt.datetime.now()) + naive_dt = dt.datetime.now() + ldt = naive_dt.replace(tzinfo=self._arLtz) + return ldt.astimezone("Etc/UTC") def arPrint(self, message): self._arPrintLock.acquire() diff --git a/arNetSked.py b/arNetSked.py index 06c4af4..25ef18b 100755 --- a/arNetSked.py +++ b/arNetSked.py @@ -183,8 +183,8 @@ class arNet(arElement, threading.Thread): if len(v) > 7: raise ValueError("Invalid objfreq, len <= 7" % v) - if not re.fullmatch('[\d ]\d\d\.\d\d[\d ]', v): - raise ValueError("Invalid objfreq[%], format [\d ]\d\d.\d\d[\d ]" % v) + if not re.fullmatch(r'[\d ]\d\d\.\d\d[\d ]', v): + raise ValueError(r"Invalid objfreq[%], format [\d ]\d\d.\d\d[\d ]" % v) self._objfreq = v @@ -198,9 +198,9 @@ class arNet(arElement, threading.Thread): if len(v) > 4: raise ValueError("Invalid objtone, len <= 4" % v) - if v != 'none' and not re.fullmatch('[CDTcdt]\d\d\d', v) \ + if v != 'none' and not re.fullmatch(r'[CDTcdt]\d\d\d', v) \ and not re.fullmatch('[1l]750', v): - raise ValueError("Invalid objtone[%s], format none, [1l]750 or [CDTcdt]\d\d\d" % v) + raise ValueError(r"Invalid objtone[%s], format none, [1l]750 or [CDTcdt]\d\d\d" % v) self._objtone = v @@ -214,9 +214,9 @@ class arNet(arElement, threading.Thread): if len(v) > 4: raise ValueError("Invalid objrange, len <= 4") - if v != 'none' and not re.fullmatch('R\d\d[mk]', v) \ - and not re.fullmatch('[+-]\d\d\d', v): - raise ValueError("Invalid objrange[%s], format none or R\d\d[mk]" % v) + if v != 'none' and not re.fullmatch(r'R\d\d[mk]', v) \ + and not re.fullmatch(r'[+-]\d\d\d', v): + raise ValueError(r"Invalid objrange[%s], format none or R\d\d[mk]" % v) self._objrange = v @@ -233,7 +233,7 @@ class arNet(arElement, threading.Thread): if v != 'none' and \ not re.fullmatch('WIDE[21]-[21]', v) and \ - not re.fullmatch('[A-Za-z]{1,2}\d[A-Za-z]{1,3}-\d{1,2}', v): + not re.fullmatch(r'[A-Za-z]{1,2}\d[A-Za-z]{1,3}-\d{1,2}', v): raise ValueError("Invalid path[%s], format none or WIDEN-M or call-ssid" % v) self._path = v @@ -249,7 +249,7 @@ class arNet(arElement, threading.Thread): if len(v) > 8: raise ValueError("Invalid latitude[%s], len == 8" % v) - if not re.fullmatch('[0-9]{4}\.[0-9]{2}[NS]', v): + if not re.fullmatch(r'[0-9]{4}\.[0-9]{2}[NS]', v): raise ValueError("Invalid latitude[%s], format 0000.00[SN]" % v) self._latitude = v @@ -265,7 +265,7 @@ class arNet(arElement, threading.Thread): if len(v) > 9: raise ValueError("Invalid longitude[%s], len == 9" % v) - if not re.fullmatch('[0-9]{5}\.[0-9]{2}[EW]', v): + if not re.fullmatch(r'[0-9]{5}\.[0-9]{2}[EW]', v): raise ValueError("Invalid longitude[%s], format 00000.00[EW]" % v) self._longitude = v @@ -367,7 +367,7 @@ class arNet(arElement, threading.Thread): def packHeader(self, call, path): valb = struct.pack('6s B', 'APZFRG'.encode('utf-8'), 0x70) - m = re.search("([A-Za-z]{1,2}\d[A-Za-z]{1,3})-(\d{1,2})", call) + m = re.search(r"([A-Za-z]{1,2}\d[A-Za-z]{1,3})-(\d{1,2})", call) if m: callbase = m.group(1).ljust(6) callssid = int(m.group(2)) @@ -382,7 +382,7 @@ class arNet(arElement, threading.Thread): valb += struct.pack('6s B', *vals) vals = [] - dp = re.search("([A-Za-z]{1,2}\d[A-Za-z]{1,3})-(\d{1,2})", path) + dp = re.search(r"([A-Za-z]{1,2}\d[A-Za-z]{1,3})-(\d{1,2})", path) wp = re.search("(WIDE[12])-([12])", path) if dp: pathbase = dp.group(1).ljust(6) @@ -488,7 +488,7 @@ class arNetSked(arElement): # connect to TNC self.arPrint("Binding TNC client socket...") - if re.fullmatch("\S\S:\S\S:\S\S:\S\S:\S\S:\S\S", self.tnchost): + if re.fullmatch(r"\S\S:\S\S:\S\S:\S\S:\S\S:\S\S", self.tnchost): self.arPrint("Bluetooth host address detected") if self.tncport == 8001: self.arPrint("Setting default bluetooth RFCOMM channel to 1") @@ -520,7 +520,7 @@ class arNetSked(arElement): lineno = 2 for line in f: lineno += 1 - if re.search('^\s*#', line): + if re.search(r'^\s*#', line): continue # print (line) line = line.ljust(75) diff --git a/w1cdn_sked.cfg b/w1cdn_sked.cfg new file mode 100644 index 0000000..19799ea --- /dev/null +++ b/w1cdn_sked.cfg @@ -0,0 +1,13 @@ +DAY TIME RATE LATITUDE LONGITUDE NAME FREQ TONE RA/O PATH COMMENT +--- ------- ---- -------- --------- --------- ------- ---- ---- --------- -------------|--------- +#FRI 08:00PM 3/30 0000.00N 00000.00W NET-????? 146.520 none R05m none NetSked Example +#SAT 09:00AM 5/45 0000.00N 00000.00W NET-????? 147.265 T100 +060 WIDE2-1 NetSked Example +#MON 03:00PM 3/30 4755.61N 09701.68W NET-TEST 146.940 T123 +060 WIDE2-1 NetSked Example +MON 09:00PM 5/30 4755.61N 09701.68W NET-WEEK 146.940 T123 -060 WIDE1-1 Weekly FM Net +WED 07:15PM 5/30 4755.61N 09701.68W NET-WEEK2 147.33 T123 +060 WIDE1-1 Weekly FM Net +WED 07:30PM 5/30 4755.61N 09701.68W NET-WEEK3 147.33 T123 +060 WIDE1-1 Weekly Dig Net +MON 08:30AM 5/30 4755.61N 09701.68W NET-AM 146.940 T123 -060 WIDE1-1 Morning Net +TUE 08:30AM 5/30 4755.61N 09701.68W NET-AM 146.940 T123 -060 WIDE1-1 Morning Net +WED 08:30AM 5/30 4755.61N 09701.68W NET-AM 146.940 T123 -060 WIDE1-1 Morning Net +THU 08:30AM 5/30 4755.61N 09701.68W NET-AM 146.940 T123 -060 WIDE1-1 Morning Net +FRI 08:30AM 5/30 4755.61N 09701.68W NET-AM 146.940 T123 -060 WIDE1-1 Morning Net