forked from Mirrors/arNetSked
Minor changes to get running in Python 3.13.
This commit is contained in:
15
arElement.py
15
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()
|
||||
|
||||
28
arNetSked.py
28
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)
|
||||
|
||||
13
w1cdn_sked.cfg
Normal file
13
w1cdn_sked.cfg
Normal file
@@ -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
|
||||
Reference in New Issue
Block a user