7
7
from helper_sql import *
8
8
from addresses import decodeAddress
9
9
from pyelliptic .openssl import OpenSSL
10
+ from utils import str_broadcast_subscribers
10
11
import time
11
12
12
13
def accountClass (address ):
13
14
if not shared .config .has_section (address ):
14
- subscription = SubscriptionAccount (address )
15
- if subscription .type != 'subscription' :
16
- return None
15
+ if address == str_broadcast_subscribers :
16
+ subscription = BroadcastAccount (address )
17
+ if subscription .type != 'broadcast' :
18
+ return None
19
+ else :
20
+ subscription = SubscriptionAccount (address )
21
+ if subscription .type != 'subscription' :
22
+ return None
23
+ return subscription
17
24
try :
18
25
gateway = shared .config .get (address , "gateway" )
19
26
for name , cls in inspect .getmembers (sys .modules [__name__ ], inspect .isclass ):
@@ -36,9 +43,11 @@ def __init__(self, address = None):
36
43
self .type = "chan"
37
44
elif shared .safeConfigGetBoolean (self .address , 'mailinglist' ):
38
45
self .type = "mailinglist"
46
+ elif self .address == str_broadcast_subscribers :
47
+ self .type = 'broadcast'
39
48
else :
40
49
queryreturn = sqlQuery (
41
- '''select label from subscriptions where address=?''' , address )
50
+ '''select label from subscriptions where address=?''' , self . address )
42
51
if queryreturn :
43
52
self .type = 'subscription'
44
53
@@ -72,6 +81,10 @@ def parseMessage(self, toAddress, fromAddress, subject, message):
72
81
73
82
class SubscriptionAccount (BMAccount ):
74
83
pass
84
+
85
+
86
+ class BroadcastAccount (BMAccount ):
87
+ pass
75
88
76
89
77
90
class GatewayAccount (BMAccount ):
0 commit comments