diff --git a/lib/WPImport.py b/lib/WPImport.py index ff7ac92..6ce7c0e 100644 --- a/lib/WPImport.py +++ b/lib/WPImport.py @@ -209,24 +209,25 @@ class WPimport: def _addOrUpdateComment(self, post, comment, title): params = {"post": post} - block = True - try: - page = self._request.get("http://{0}/wp-json/wp/v2/comments".format(self._wordpress), auth=self._basic, params=params) - except Exception as err: - self._logger.error("Connection error : {0}".format(err)) - exit(1) - if page.status_code == 200: - result = page.json() - for i in comment: - comment_exist = False + for i in comment: + id_comment = [] + comment_exist = False + try: + params = {"post": post, "author_name":i["author"], "date":i["date"]} + page = self._request.get("http://{0}/wp-json/wp/v2/comments".format(self._wordpress), auth=self._basic, params=params) + except Exception as err: + self._logger.error("Connection error : {0}".format(err)) + exit(1) + if page.status_code == 200: + result = page.json() for j in result: - if i["author"] == j["author_name"] and i["date"] == j["date"]: - comment_exist = True - id_comment = j["id"] - data = {"post": post, "content": i["content"], "date": i["date"], "author_name": i["author"], "status": "approved"} - if comment_exist is True: + comment_exist = True + id_comment.append(j["id"]) + data = {"post": post, "content": i["content"], "date": i["date"], "author_name": i["author"], "status": "approved"} + if comment_exist is True: + for j in id_comment: try: - page = page = self._request.delete("http://{0}/wp-json/wp/v2/comments/{1}".format(self._wordpress, id_comment), auth=self._basic) + page = page = self._request.delete("http://{0}/wp-json/wp/v2/comments/{1}".format(self._wordpress, j), auth=self._basic) except Exception as err: self._logger.error("Connection error : {0}".format(err)) exit(1) @@ -235,32 +236,31 @@ class WPimport: else: self._logger.error("Comment not deleted for {0} due status code : {1}".format(title, page.status_code)) - if i["parent_id"] != -1: - parent_id = int(i["parent_id"]) - try: - page = self._request.get("http://{0}/wp-json/wp/v2/comments".format(self._wordpress), auth=self._basic, params=params) - except Exception as err: - self._logger.error("Connection error : {0}".format(err)) - exit(1) - if page.status_code == 200: - result = page.json() - for j in result: - if comment[parent_id]["author"] == j["author_name"] and comment[parent_id]["date"] == j["date"]: - data["parent"]=j["id"] - else: - self._logger.error("Connection error with status code : {0}".format(page.status_code)) + if i["parent_id"] != -1: + parent_id = int(i["parent_id"]) + params = {"post": post, "author_name":comment[parent_id]["author"], "date":comment[parent_id]["date"]} try: - page = self._request.post("http://{0}/wp-json/wp/v2/comments".format(self._wordpress), auth=self._basic, data=data) + page = self._request.get("http://{0}/wp-json/wp/v2/comments".format(self._wordpress), auth=self._basic, params=params) except Exception as err: self._logger.error("Connection error : {0}".format(err)) exit(1) - if page.status_code == 201: - self._logger.info("Comment added for {0}".format(title)) + if page.status_code == 200: + result = page.json() + if len(result) > 0: + data["parent"]=result[0]["id"] else: - self._logger.error("Comment not added for {0} due status code : {1}".format(title, page.status_code)) - self._logger.debug(page.content) - else: - self._logger.error("Connection error with status code : {0}".format(page.status_code)) + self._logger.error("Connection error for parent comment with status code : {0}".format(page.status_code)) + try: + page = self._request.post("http://{0}/wp-json/wp/v2/comments".format(self._wordpress), auth=self._basic, data=data) + except Exception as err: + self._logger.error("Connection error : {0}".format(err)) + exit(1) + if page.status_code == 201: + self._logger.info("Comment added for {0}".format(title)) + else: + self._logger.error("Comment not added for {0} due status code : {1}".format(title, page.status_code)) + self._logger.debug(page.content) + self._logger.debug("Data : {0}".format(data)) ## Check class name @@ -392,7 +392,7 @@ class WPimport: listelement[i].append(result[0]["id"]) else: - self._logger.error("{0} not finded due status code : {1}".format(i, page.status_code)) + self._logger.error("{0} not found due status code : {1}".format(i, page.status_code)) if element_exist is False: data = {"name": j} @@ -409,7 +409,6 @@ class WPimport: listelement[i].append(result["id"]) else: self._logger.error("{0} not added due status code : {1}".format(i, page.status_code)) - self._logger.debug(listelement) title = articletitle[0].text author = articleacreator[0].text.lower() body = articlebody[0].find_all("p") @@ -467,7 +466,7 @@ class WPimport: else: self._logger.error("Post not updated due status code : {0}".format(page.status_code)) else: - self._logger.error("Connection error with status code : {0}".format(page.status_code)) + self._logger.error("Connection for update post error with status code : {0}".format(page.status_code)) if page_exist == False: try: