Exemplo n.º 1
0
 def setUp(self):
     self.cnx = get_connection(driver='mysql',
                               host='crater',
                               database='maay_test',
                               user='******',
                               password='******')
     self.querier = MaayQuerier(connection=self.cnx)
Exemplo n.º 2
0
 def setUp(self):
     self.cnx = get_connection(driver='mysql', host='localhost',
                               database='maay_test', user='******',
                               password='******')
     self.querier = MaayQuerier(connection=self.cnx)
     self.nodeId = '0'*40
     self.querier.registerNode(self.nodeId, "127.0.0.1", 6789, 10)
Exemplo n.º 3
0
 def setUp(self):
     self.cnx = get_connection(driver='mysql', host='localhost',
                               database='maay_test', user='******',
                               password='******')
     self.querier = MaayQuerier(connection=self.cnx)
     self.nodeId = '0'*40
     self.querier.registerNode(self.nodeId, "192.168.0.123", 6789, 10)
Exemplo n.º 4
0
class QuerierTC(unittest.TestCase):
    def setUp(self):
        self.cnx = get_connection(driver='mysql', host='crater',
                                  database='maay_test', user='******',
                                  password='******')
        self.querier = MaayQuerier(connection=self.cnx)

    def tearDown(self):
        cursor = self.cnx.cursor()
        for table in ('document_providers', 'document_scores', 'documents',
                      'files', 'node_interests', 'nodes', 'words'):
            cursor.execute('DELETE FROM %s' % table)
        cursor.close()
        self.cnx.close()

        
    def test_execute(self):
        answ = self.querier._execute('SELECT * from documents')
        self.assertEquals(list(answ), [])

    def testIndexDocument(self):
        text = u"""Le tartuffe, de Jean-Baptiste Poquelin, dit Molière.

Le petit chat est mort."""
        text = normalizeText(text)
        digest = sha.sha(text).hexdigest()
        cursor = self.cnx.cursor()
        # At this point, database should be emtpy, so no document
        # should match <digest>
        matchingDocs = Document.selectWhere(cursor, document_id=digest)
        self.assertEquals(len(matchingDocs), 0)
        self.querier.indexDocument('/tmp/Tartuffe.txt',
                                   'Le Tartuffe',
                                   text,
                                   len(text),
                                   30000,
                                   digest,
                                   'text',
                                   Document.PUBLISHED_STATE,
                                   FileInfo.CREATED_FILE_STATE)
        matchingDocs = Document.selectWhere(cursor, document_id=digest)
        self.assertEquals(len(matchingDocs), 1)
        self.assertEquals(matchingDocs[0].text, text)
        

    def test_normalizeText(self):
        self.assertEquals(normalizeText(u"ÉtùïÄç"), "etuiac")
Exemplo n.º 5
0
def start_as_thread(nodeConfig, webpage):
    localQuerier = MaayQuerier(nodeConfig.db_host, nodeConfig.db_name,
                               nodeConfig.user, nodeConfig.password)
    global indexer_thread
    if is_running():
        print "Indexer already running", indexer_thread
    else:
        print "launching indexer"
        indexer_thread = Thread(target=runLocally, args=(localQuerier, [webpage],))
        indexer_thread.start()
Exemplo n.º 6
0
class QuerierTC(unittest.TestCase):
    def setUp(self):
        self.cnx = get_connection(driver='mysql',
                                  host='crater',
                                  database='maay_test',
                                  user='******',
                                  password='******')
        self.querier = MaayQuerier(connection=self.cnx)

    def tearDown(self):
        cursor = self.cnx.cursor()
        for table in ('document_providers', 'document_scores', 'documents',
                      'files', 'node_interests', 'nodes', 'words'):
            cursor.execute('DELETE FROM %s' % table)
        cursor.close()
        self.cnx.close()

    def test_execute(self):
        answ = self.querier._execute('SELECT * from documents')
        self.assertEquals(list(answ), [])

    def testIndexDocument(self):
        text = u"""Le tartuffe, de Jean-Baptiste Poquelin, dit Molière.

Le petit chat est mort."""
        text = normalizeText(text)
        digest = sha.sha(text).hexdigest()
        cursor = self.cnx.cursor()
        # At this point, database should be emtpy, so no document
        # should match <digest>
        matchingDocs = Document.selectWhere(cursor, document_id=digest)
        self.assertEquals(len(matchingDocs), 0)
        self.querier.indexDocument('/tmp/Tartuffe.txt', 'Le Tartuffe', text,
                                   len(text), 30000, digest, 'text',
                                   Document.PUBLISHED_STATE,
                                   FileInfo.CREATED_FILE_STATE)
        matchingDocs = Document.selectWhere(cursor, document_id=digest)
        self.assertEquals(len(matchingDocs), 1)
        self.assertEquals(matchingDocs[0].text, text)

    def test_normalizeText(self):
        self.assertEquals(normalizeText(u"ÉtùïÄç"), "etuiac")
Exemplo n.º 7
0
 def requestAvatarId(self, creds):
     try:
         querier = MaayQuerier(host=self.dbhost,
                               database=self.dbname,
                               user=creds.username,
                               password=creds.password)
     except MaayAuthenticationError:
         print "Got Authentication Error !"
         return failure.Failure(error.UnauthorizedLogin())
     self.realm.createUserSession(creds.username, querier)
     return defer.succeed(creds.username)
Exemplo n.º 8
0
class QuerierTC(unittest.TestCase):
    def setUp(self):
        self.cnx = get_connection(driver='mysql',
                                  host='localhost',
                                  database='maay_test',
                                  user='******',
                                  password='******')
        self.querier = MaayQuerier(connection=self.cnx)
        self.nodeId = '0' * 40
        self.querier.registerNode(self.nodeId, "192.168.0.123", 6789, 10)

    def tearDown(self):
        cursor = self.cnx.cursor()
        for table in ('document_providers', 'document_scores', 'documents',
                      'files', 'node_interests', 'nodes', 'words'):
            cursor.execute('DELETE FROM %s' % table)
        cursor.close()
        self.querier.close()

    def test_execute(self):
        answ = self.querier._execute('SELECT * from documents')
        self.assertEquals(list(answ), [])

    def testIndexDocument(self):
        text = u"""Le tartuffe, de Jean-Baptiste Poquelin, dit Molière.

Le petit chat est mort."""
        text = normalizeText(text)
        digest = sha.sha(text).hexdigest()
        cursor = self.cnx.cursor()
        # At this point, database should be emtpy, so no document
        # should match <digest>
        title = 'Le Tartuffe'
        matchingDocs = Document.selectWhere(cursor, document_id=digest)
        self.assertEquals(len(matchingDocs), 0)
        self.querier.indexDocument(
            '0' * 40,
            FutureDocument(filename='/tmp/Tartuffe.txt',
                           title=title,
                           text=text,
                           fileSize=len(text),
                           lastModificationTime=30000,
                           content_hash=digest,
                           mime_type='text',
                           state=Document.PUBLISHED_STATE,
                           file_state=FileInfo.CREATED_FILE_STATE))
        matchingDocs = Document.selectWhere(cursor, document_id=digest)
        self.assertEquals(len(matchingDocs), 1)
        self.assertEquals(matchingDocs[0].text, '%s %s' % (title, text))

    def test_normalizeText(self):
        self.assertEquals(normalizeText(u"ÉtùïÄç"), "etuiac")
Exemplo n.º 9
0
class QuerierTC(unittest.TestCase):
    def setUp(self):
        self.cnx = get_connection(driver='mysql', host='localhost',
                                  database='maay_test', user='******',
                                  password='******')
        self.querier = MaayQuerier(connection=self.cnx)
        self.nodeId = '0'*40
        self.querier.registerNode(self.nodeId, "192.168.0.123", 6789, 10)

    def tearDown(self):
        cursor = self.cnx.cursor()
        for table in ('document_providers', 'document_scores', 'documents',
                      'files', 'node_interests', 'nodes', 'words'):
            cursor.execute('DELETE FROM %s' % table)
        cursor.close()
        self.querier.close()

        
    def test_execute(self):
        answ = self.querier._execute('SELECT * from documents')
        self.assertEquals(list(answ), [])

    def testIndexDocument(self):
        text = u"""Le tartuffe, de Jean-Baptiste Poquelin, dit Molière.

Le petit chat est mort."""
        text = normalizeText(text)
        digest = sha.sha(text).hexdigest()
        cursor = self.cnx.cursor()
        # At this point, database should be emtpy, so no document
        # should match <digest>
        title = 'Le Tartuffe'
        matchingDocs = Document.selectWhere(cursor, document_id=digest)
        self.assertEquals(len(matchingDocs), 0)
        self.querier.indexDocument('0'*40, FutureDocument(
            filename='/tmp/Tartuffe.txt',
            title=title,
            text=text,
            fileSize=len(text),
            lastModificationTime=30000,
            content_hash=digest,
            mime_type='text',
            state=Document.PUBLISHED_STATE,
            file_state=FileInfo.CREATED_FILE_STATE))
        matchingDocs = Document.selectWhere(cursor, document_id=digest)
        self.assertEquals(len(matchingDocs), 1)
        self.assertEquals(matchingDocs[0].text, '%s %s' % (title, text))
        

    def test_normalizeText(self):
        self.assertEquals(normalizeText(u"ÉtùïÄç"), "etuiac")
Exemplo n.º 10
0
def indexJustOneFile(nodeConfig, filepath, words = None):
    localQuerier = MaayQuerier(nodeConfig.db_host, nodeConfig.db_name,
                               nodeConfig.user, nodeConfig.password)
    thread = Thread(target=_just_one, args=(localQuerier, filepath, words))
    thread.start()
Exemplo n.º 11
0
 def setUp(self):
     self.cnx = get_connection(driver='mysql', host='crater',
                               database='maay_test', user='******',
                               password='******')
     self.querier = MaayQuerier(connection=self.cnx)