Ejemplo n.º 1
0
 def initStore(self):
     self.store = LiteAxolotlStore(
         StorageTools.constructPath(
             self.getProp(
                 YowAuthenticationProtocolLayer.PROP_CREDENTIALS)[0],
             self.__class__._DB))
     self.state = self.__class__._STATE_HASKEYS if  self.store.getLocalRegistrationId() is not None \
         else self.__class__._STATE_INIT
Ejemplo n.º 2
0
 def initStore(self):
     self.store = LiteAxolotlStore(
         StorageTools.constructPath(
             self.getProp(
                 YowAuthenticationProtocolLayer.PROP_CREDENTIALS)[0],
             self.__class__._DB
         )
     )
     self.state = self.__class__._STATE_HASKEYS if self.store.getLocalRegistrationId() is not None \
         else self.__class__._STATE_INIT
Ejemplo n.º 3
0
 def store(self):
     try:
         if self._store is None:
             self.store = LiteAxolotlStore(
                 StorageTools.constructPath(
                     self.getProp(
                         YowAuthenticationProtocolLayer.PROP_CREDENTIALS)
                     [0], self.__class__._DB))
         return self._store
     except AttributeError:
         return None
Ejemplo n.º 4
0
 def store(self):
     try:
         if self._store is None:
             self.store = LiteAxolotlStore(
                 StorageTools.constructPath(
                     self.getProp(
                         YowAuthenticationProtocolLayer.PROP_CREDENTIALS)[0],
                     self.__class__._DB
                 )
             )
         return self._store
     except AttributeError:
         return None
Ejemplo n.º 5
0
    def store(self):
        if self._store is None:
            conn_str = self.getProp(self.__class__.PROP_CONNECTION_STRING)
            conn_type = self.getProp(self.__class__.PROP_STORE_TYPE)
            phone_number = self.getProp(
                YowAuthenticationProtocolLayer.PROP_CREDENTIALS)[0]
            if (conn_type == 'mysql' and conn_str):
                # try:
                self.store = MyAxolotlStore(conn_str, phone_number)
            # except:
            #    logger.error("ERROR:: {} ".format(sys.exc_info()[1]))
            else:
                self.store = LiteAxolotlStore(
                    StorageTools.constructPath(phone_number,
                                               self.__class__._DB))
            self.state = self.__class__._STATE_HASKEYS if  self.store.getLocalRegistrationId() is not None \
                else self.__class__._STATE_INIT

        return self._store
Ejemplo n.º 6
0
 def get_manager(self, profile_name, username):
     logger.debug("get_manager(profile_name=%s, username=%s)" % (profile_name, username))
     dbpath = StorageTools.constructPath(profile_name, self.DB)
     store = LiteAxolotlStore(dbpath)
     return AxolotlManager(store, username)
Ejemplo n.º 7
0
import sys
import logging

logging.basicConfig(level=logging.DEBUG)
logger = logging.getLogger(__name__)

if __name__ == "__main__":
    if len(sys.argv) < 3:
        print("Usage: run.py username password")
        sys.exit(1)
    credentials = (sys.argv[1], sys.argv[2])
    stackBuilder = YowStackBuilder()
    phoneStorage = StorageTools.getStorageForPhone(credentials[0])
    stackBuilder.setProp(
        YowStorageLayer.PROP_DB_PATH,
        StorageTools.constructPath(phoneStorage, "yowstore.db"))
    stack = stackBuilder\
        .pushDefaultLayers(True)\
        .push(YowStorageLayer)\
        .push(YowCleverBotLayer)\
        .build()

    stack.setCredentials(credentials)
    logger.info("Starting")
    stack.broadcastEvent(YowLayerEvent(YowNetworkLayer.EVENT_STATE_CONNECT))

    try:
        stack.loop(timeout=0.5, discrete=0.5)
    except AuthError as e:
        print("Auth Error, reason %s" % e)
    except KeyboardInterrupt:
Ejemplo n.º 8
0
 def setStack(self, stack):
     super(YowStorageLayer, self).setStack(stack)
     self.db = peewee.SqliteDatabase(self.getProp(self.__class__.PROP_DB_PATH, StorageTools.constructPath("yow.db")), threadlocals=True)
     db.set_db(self.db)
     self.db.connect()
     self.setup_models()
Ejemplo n.º 9
0
 def get_manager(self, username):
     logger.debug("get_manager(username=%s)" % username)
     dbpath = StorageTools.constructPath(username, self.DB)
     store = LiteAxolotlStore(dbpath)
     return AxolotlManager(store, username)
Ejemplo n.º 10
0
from yowsup_ext.layers.store import YowStorageLayer

import sys
import logging

logging.basicConfig(level = logging.DEBUG)
logger = logging.getLogger(__name__)

if __name__ == "__main__":
    if len(sys.argv) < 3:
        print("Usage: run.py username password")
        sys.exit(1)
    credentials = (sys.argv[1], sys.argv[2])
    stackBuilder = YowStackBuilder()
    phoneStorage =  StorageTools.getStorageForPhone(credentials[0])
    stackBuilder.setProp(YowStorageLayer.PROP_DB_PATH, StorageTools.constructPath(phoneStorage, "yowstore.db"))
    stack = stackBuilder\
        .pushDefaultLayers(True)\
        .push(YowStorageLayer)\
        .push(YowCleverBotLayer)\
        .build()

    stack.setCredentials(credentials)
    logger.info("Starting")
    stack.broadcastEvent(YowLayerEvent(YowNetworkLayer.EVENT_STATE_CONNECT))

    try:
        stack.loop(timeout = 0.5, discrete = 0.5)
    except AuthError as e:
        print("Auth Error, reason %s" % e)
    except KeyboardInterrupt: