Пример #1
0
 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)
Пример #2
0
 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)
Пример #8
0
def get_pending_contracts():
    return MongoProvider().find_filtered('contracts', {'status': 'Outstanding', 'type': 'ItemExchange'})
Пример #9
0
 def write(self, documents):
     cursor = MongoProvider().cursor('walletJournal')
     cursor.insert_many(documents)
Пример #10
0
 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
Пример #11
0
 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)
Пример #12
0
 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)