from evidence.evidence_store_pb2_grpc import EvidenceStoreStub
from evidence.evidence_pb2 import Evidence
import grpc
import json

class ForwardEvidence(object):

    def __init__(self):
        f = open('constants.json',)
        constants = json.load(f)
        f.close()

        self.channel = grpc.insecure_channel('{}:{}'.format(constants['clouditor']['host'], constants['clouditor']['port']))
        
        self.stub = EvidenceStoreStub(self.channel)

    def send_evidence(self, evidence):
        try:
            response = self.stub.StoreEvidence(evidence)  
            print('gRPC evidence forwarded: ' + str(response))
        except grpc.RpcError as err:
            print(err)
            print(err.details())
            print('{}, {}'.format(err.code().name, err.code().value))