Beispiel #1
0
	def update(self):
		o = treemgr_objects.clsBranch()
		branch = o.read(self.branch_id)

		#Compute additional parameters before saving
		self.content_type_name = config.DICT_CONTENT_TYPE[self.content_type_id]
		self.source_doc_name = config.DICT_SOURCEDOCS[self.source_doc_id]
		self.branch_name = branch.name
		self.master_branch_name = utils.get_master_branch_name(self.branch_id)

		try:
			#Save to datastore
			if model_datastore.update(self):
				print("Updated in Datastore!")
			else:
				print("Updating in Datastore failed!")

			#Save to elasticsearch
			esobj = search_objects.clsElasticIndex()
			if esobj.create_update_leaf('content',self):
				print("Saved to Elastic!")
				return True
			else:
				print("Saving to Elastic failed!")
				return False
		except Exception as Ex:
			print("Exception: Saving to Elastic failed!")
			print(Ex)
			return False
Beispiel #2
0
 def delete(self):
     if self.id:
         #Delete data in datastore
         model_datastore.delete(self)
         #Delete data in Elastic
         esobj = search_objects.clsElasticIndex()
         esobj.delete(TREE_INDEX_NAME, self.id)
         return
     else:
         raise Error(
             "*** clsBranch.delete: Error! No valid ID provided for branch deletion, aborting."
         )
Beispiel #3
0
    def create(self):
        #Save object in Datastore
        entity = model_datastore.add(self)
        self.id = entity.id

        #Save object in elasticsearch
        esobj = search_objects.clsElasticIndex()
        if esobj.create_update_branch(TREE_INDEX_NAME, self):
            print("Saved branch to Elastic!")
            return True

        #self.add_to_index()
        return entity
Beispiel #4
0
    def update(self):
        if self.id:
            #Update in datastore
            entity = model_datastore.update(self)

            #Update data in Elasticindex
            esobj = search_objects.clsElasticIndex()
            if esobj.create_update_branch(TREE_INDEX_NAME, self):
                print("Updated branch to Elastic!")
                return True
            return False
        else:
            raise Error(
                "*** clsBranch.update: Error! No valid ID provided for branch update, aborting."
            )
Beispiel #5
0
	def delete(self, leaf_id):
		print("Deleting leaf ID:")
		print(leaf_id)

		#Delete from datastore
		model_datastore.delete(leaf_id)
		print("Deleted leaf from Datastore!")

		#Delete from Elasticsearch
		o = search_objects.clsElasticIndex()
		'''
		query = {
				  "query": {
				    "match": {
				      "_id": {
				        "query": leaf_id,
				        "type": "phrase"
				      }
				    }
				  }
				}

		es = Elasticsearch(
		  [keys.ELASTICSEARCH_CLUSTER_URL],
		  http_auth=(keys.ELASTICSEARCH_USERNAME, keys.ELASTICSEARCH_PASSWORD),
		  port=keys.ELASTICSEARCH_CLUSTER_PORT,
		  use_ssl=True,
		  verify_certs=True,
		  ca_certs=certifi.where())
'''
		#resp = es.delete(index=LEAF_INDEX_NAME, id=leaf_id)
		#print (resp)


		#query = Q("match": {"_id": {"query": leaf_id, "type": "phrase"}})
		o.delete(LEAF_INDEX_NAME, leaf_id)
		print("Deleted leaf from ES!")
Beispiel #6
0
	def create (self):
		o = treemgr_objects.clsBranch()
		branch = o.read(self.branch_id)

		#Compute additional parameters before saving
		self.content_type_name = config.DICT_CONTENT_TYPE[self.content_type_id]
		self.source_doc_name = config.DICT_SOURCEDOCS[self.source_doc_id]
		self.branch_name = branch.name
		self.master_branch_name = utils.get_master_branch_name(self.branch_id)

		try:
			#Save to datastore
			savedobj = model_datastore.create(self)
			if savedobj:
				#==============================
				# The following line is very important
				# We use the object ID from datastore for saving in ES
				# for future retrival
				#==============================
				self.leaf_id = savedobj.leaf_id
				print("Saved to Datastore!")
			else:
				print("Saving to Datastore failed!")

			#Save to elasticsearch
			esobj = search_objects.clsElasticIndex()
			if esobj.create_update_leaf('content',self):
				print("Saved to Elastic!")
				return True
			else:
				print("Saving to Elastic failed!")
				return False
		except Exception as Ex:
			print("Exception: Saving to Elastic failed!")
			print(Ex)
			return False
Beispiel #7
0
def es_query():
    es = search_objects.clsElasticIndex()
    q = Q('match', title='world2')
    return es.execute_query('blog', q)