1- from yowsup .stacks import YowStack
21from .layer import SyncLayer
2+
3+ from yowsup .stacks import YowStackBuilder
4+ from yowsup .layers .auth import AuthError
35from yowsup .layers import YowLayerEvent
4- from yowsup .layers .auth import YowCryptLayer , YowAuthenticationProtocolLayer , AuthError
5- from yowsup .layers .coder import YowCoderLayer
6- from yowsup .layers .network import YowNetworkLayer
7- from yowsup .layers .stanzaregulator import YowStanzaRegulator
8- from yowsup .layers .protocol_receipts import YowReceiptProtocolLayer
9- from yowsup .layers .protocol_acks import YowAckProtocolLayer
10- from yowsup .layers .logger import YowLoggerLayer
11- from yowsup .layers .protocol_contacts import YowContactsIqProtocolLayer
12- from yowsup .layers import YowParallelLayer
6+ from yowsup .layers .auth import YowAuthenticationProtocolLayer
7+ from yowsup .layers .network import YowNetworkLayer
138
149class YowsupSyncStack (object ):
1510 def __init__ (self , credentials , contacts , encryptionEnabled = False ):
@@ -19,30 +14,13 @@ def __init__(self, credentials, contacts, encryptionEnabled = False):
1914 :param encryptionEnabled:
2015 :return:
2116 """
22- if encryptionEnabled :
23- from yowsup .layers .axolotl import YowAxolotlLayer
24- layers = (
25- SyncLayer ,
26- YowParallelLayer ([YowAuthenticationProtocolLayer , YowContactsIqProtocolLayer , YowReceiptProtocolLayer , YowAckProtocolLayer ]),
27- YowAxolotlLayer ,
28- YowLoggerLayer ,
29- YowCoderLayer ,
30- YowCryptLayer ,
31- YowStanzaRegulator ,
32- YowNetworkLayer
33- )
34- else :
35- layers = (
36- SyncLayer ,
37- YowParallelLayer ([YowAuthenticationProtocolLayer , YowContactsIqProtocolLayer , YowReceiptProtocolLayer , YowAckProtocolLayer ]),
38- YowLoggerLayer ,
39- YowCoderLayer ,
40- YowCryptLayer ,
41- YowStanzaRegulator ,
42- YowNetworkLayer
43- )
17+ stackBuilder = YowStackBuilder ()
18+
19+ self .stack = stackBuilder \
20+ .pushDefaultLayers (encryptionEnabled ) \
21+ .push (SyncLayer ) \
22+ .build ()
4423
45- self .stack = YowStack (layers )
4624 self .stack .setProp (SyncLayer .PROP_CONTACTS , contacts )
4725 self .stack .setProp (YowAuthenticationProtocolLayer .PROP_PASSIVE , True )
4826 self .stack .setCredentials (credentials )
0 commit comments