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)
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)