class Pusher(TwitterCrawler):

    '''
        Kelas ini berfungsi untuk menggiring data keluar dari crawler, dan menyalurkannya ke fungsi
        dari masing-masing dokumen.
    '''

    def __init__(self):

        self.tp = TwitterParser()
        self.tmc = TwitterMongoConnector()

    def pushPostDocument(self, complete_dict):

        post_document = self.tp.getPostDocument(complete_dict)
        self.tmc.updatePost(post_document)

    def pushAccountDocument(self, complete_dict):

        for i in range(5, 0, -1):
            time.sleep(1)
            self.prompt('Updating account in {}'.format(i))

        account_document = self.tp.getAccountDocument(complete_dict)
        self.tmc.updateAccount(account_document)
示例#2
0
class Pusher():
    '''
        Kelas ini berfungsi untuk menggiring data keluar dari crawler, dan menyalurkannya ke fungsi
        dari masing-masing dokumen.
    '''
    def __init__(self):
        '''
            Inisiasi:

            -TwitterParser():

                Diambil dari file egovbench_parser.py, kelas ini berfungsi untuk memparsing json/dict hasil
                crawling ke dalam struktur penyimpanan document di MongoDB

            -TwitterMongoConnector():

                Diambil dari file egovbench_mongo.py, kelas ini berfungsi untuk menyalurkan hasil parsing
                ke dalam MongoDB.
        '''

        self.tp = TwitterParser()
        self.tmc = TwitterMongoConnector()

    def pushPostDocument(self, complete_dict):
        '''
            Fungsi ini memanggil fungsi getPostDocument() dari kelas TwitterParser() untuk mengubah data
            crawling ke dalam struktur post document, dan memasukannya ke dalam post collection di MongoDB
            dengan menggunakan fungsi updatePost() milik TwitterMongoConnector()
        '''

        post_document = self.tp.getPostDocument(complete_dict)
        self.tmc.updatePost(post_document)

    def pushAccountDocument(self, complete_dict):
        '''
            Fungsi ini memanggil fungsi getAccountDocument() dari kelas TwitterParser() untuk mengubah data
            crawling ke dalam struktur account document, dan memasukannya ke dalam account collection di MongoDB
            dengan menggunakan fungsi updateAccount() milik TwitterMongoConnector()
        '''

        account_document = self.tp.getAccountDocument(complete_dict)
        self.tmc.updateAccount(account_document)