-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathimport_bbs.py
More file actions
executable file
·43 lines (36 loc) · 1.22 KB
/
Copy pathimport_bbs.py
File metadata and controls
executable file
·43 lines (36 loc) · 1.22 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#!/usr/local/bin/python3
import sys
import fileinput
import getopt
import ftn.addr
import ftnimport
faillist=[]
with ftnimport.session(ftnimport.db) as sess:
for fname, domain in [("subscriptions/areas.bbs", ftnimport.FIDOECHO), ("subscriptions/fareas.bbs", ftnimport.FIDOFECHO)]:
sys.stdout.write(fname+"\n")
startline=True
for l in fileinput.input(fname):
if startline:
startline=False
continue
x=l.rstrip().split(" ")
opt=getopt.getopt(x[2:], "z:l:k:t:r:s:")
#print(x[1], opt[0])
first=True
for subscriber in ftn.addr.addr_expand(opt[1], (None,None,None,None)):
#print (" ", ftn.addr.addr2str(subscriber))
vital=first
target_domain=domain
target_addr=x[1].upper()
subscriber_addr=subscriber
#print (vital, target_domain, target_addr, ftn.addr.addr2str(subscriber_addr))
try:
sess.add_subscription(vital, target_domain, target_addr, ftn.addr.addr2str(subscriber_addr))
except ftnimport.NoAddressInBaseException as e:
print(e)
faillist.append([str(e), vital, target_domain, target_addr, ftn.addr.addr2str(subscriber_addr)])
first=None
of=open("faillist","w")
for f in faillist:
of.write(repr(f)+"\n")
of.close()