def update_contracts(self, contracts): contract_ids = self.get_contract_ids(contracts) MongoProvider().cursor('contracts').delete_many( {'contractId': { '$in': contract_ids }}) MongoProvider().cursor('contracts').insert_many(contracts)
def main(self): for row in MongoProvider().find('types'): self.types.append(row) result = [] print("loading contracts") contracts = self.get_contracts() print("processing %d contracts" % len(contracts)) for i in range(0, len(contracts) - 1): contract = contracts[i] if 'link' not in contract: print("processing contract %d/%d" % (i + 1, len(contracts))) result.append(self.extend_contract(contract)) print("updating %d contracts" % len(result)) if len(result) > 0: self.update_contracts(result) MongoProvider().delete_all('types') MongoProvider().cursor('types').insert_many(self.types)
def filter_existing(self, documents): result = [] for document in documents: found = MongoProvider().find_one('industryJobs', {'jobId': document['jobId']}) # if it doesn't exist if found is None: result.append(document) return result
def filter_existing(self, documents): result = [] for document in documents: found = MongoProvider().find_one( 'walletTransactions', {'transactionId': document['transactionId']}) # if it doesn't exist if found is None: result.append(document) return result
def transform_contract_responses_to_contracts(self, responses): result = {} existing_contract_ids = [] for row in MongoProvider().find_filtered('contracts', {'$or': [{'status': 'Completed'}, {'status': 'Deleted'}]}): existing_contract_ids.append(row.get('contractId')) for apiId in responses: contracts = self.transform_contract_response_to_contracts(responses[apiId]) entry_value = [] for contract in contracts: if contract['contractId'] not in existing_contract_ids: entry_value.append(contract) print(contract['contractId']) result[apiId] = entry_value return result
def load_apis(self): result = [] for document in MongoProvider().find('apis'): result.append(document) return result
def write(self, documents): cursor = MongoProvider().cursor('industryJobs') cursor.insert_many(documents)
def get_pending_contracts(): return MongoProvider().find_filtered('contracts', {'status': 'Outstanding', 'type': 'ItemExchange'})
def write(self, documents): cursor = MongoProvider().cursor('walletJournal') cursor.insert_many(documents)
def get_contracts(self): result = [] for row in MongoProvider().find('contracts'): if row.get('type') != 'Courier' and row.get('status') != 'Deleted': result.append(row) return result
def write(self, documents): print("writing %d results" % len(documents)) contract_ids = self.get_contract_ids(documents) MongoProvider().cursor('contracts').delete_many({'contractId': {'$in': contract_ids}}) MongoProvider().cursor('contracts').insert_many(documents)
def get_apis(self): result = [] for api in MongoProvider().find('apis'): result.append(api) return result
def write(self, documents): cursor = MongoProvider().cursor('walletTransactions') cursor.insert_many(documents)