add method private link featured media

This commit is contained in:
Valentin CZERYBA 2023-09-18 22:44:52 +02:00
parent c275f10fb0
commit a936857eb9

View File

@ -417,22 +417,8 @@ class WPimport:
subdirectory = self._getDirectories(sub, "{0}/{1}".format(item, i)) subdirectory = self._getDirectories(sub, "{0}/{1}".format(item, i))
return subdirectory return subdirectory
## Add or update featured media
def _addOrUpdateFeaturedMedia(self, soup): def _linkFeaturedMedia(self, img_src):
item_div = soup.find_all("div", {"data-edittype": "post"})
for i in item_div:
h2 = i.find_all("h2")[0].text
params = {"search":h2, "type":"post"}
try:
page = self._request.get("{1}://{0}/wp-json/wp/v2/search".format(self._wordpress, self._protocol), auth=self._basic, params=params)
if page.status_code == 200:
result = page.json()
if len(result) > 0:
if h2 == result[0]["title"]:
img = i.find_all("img")
if len(img) > 0:
img_src = img[0].get("src")
try: try:
page = self._request.get(img_src) page = self._request.get(img_src)
if page.status_code == 200: if page.status_code == 200:
@ -441,7 +427,6 @@ class WPimport:
params = {"search": name_img} params = {"search": name_img}
try: try:
page = self._request.get("{1}://{0}/wp-json/wp/v2/media".format(self._wordpress, self._protocol), auth=self._basic, params=params) page = self._request.get("{1}://{0}/wp-json/wp/v2/media".format(self._wordpress, self._protocol), auth=self._basic, params=params)
if page.status_code == 200: if page.status_code == 200:
res = page.json() res = page.json()
if len(res) > 0: if len(res) > 0:
@ -467,7 +452,7 @@ class WPimport:
self._logger.info("{0} : Get image for media featured : {1}".format(self._name, img_src.replace("_q", ""))) self._logger.info("{0} : Get image for media featured : {1}".format(self._name, img_src.replace("_q", "")))
media = self._addOrUpdateMedia(img_src.replace("_q", ""), page) media = self._addOrUpdateMedia(img_src.replace("_q", ""), page)
if media["id"] != "": if media["id"] != "":
self._addOrUpdateFeaturedMedia(soup) self._linkFeaturedMedia(img_src.replace("_q", ""))
else: else:
self._logger.error("{0} : Connection error with status code for get image for featured media : {1}".format(self._name, page.status_code)) self._logger.error("{0} : Connection error with status code for get image for featured media : {1}".format(self._name, page.status_code))
self._logger.debug("{0} : {1}".format(self._name, page.content)) self._logger.debug("{0} : {1}".format(self._name, page.content))
@ -492,6 +477,24 @@ class WPimport:
exit(1) exit(1)
except Exception as err: except Exception as err:
self._logger.error("{0} : Exception error for get featured media : {1}".format(self._name, err)) self._logger.error("{0} : Exception error for get featured media : {1}".format(self._name, err))
## Add or update featured media
def _addOrUpdateFeaturedMedia(self, soup):
item_div = soup.find_all("div", {"data-edittype": "post"})
for i in item_div:
h2 = i.find_all("h2")[0].text
params = {"search":h2, "type":"post"}
try:
page = self._request.get("{1}://{0}/wp-json/wp/v2/search".format(self._wordpress, self._protocol), auth=self._basic, params=params)
if page.status_code == 200:
result = page.json()
if len(result) > 0:
if h2 == self._replaceCaracter(result[0]["title"]):
img = i.find_all("img")
if len(img) > 0:
img_src = img[0].get("src")
self._linkFeaturedMedia(img_src)
else: else:
self._logger.error("{0} : Connection error with status code for featured media : {1}".format(self._name, page.status_code)) self._logger.error("{0} : Connection error with status code for featured media : {1}".format(self._name, page.status_code))
self._logger.debug("{0} : {1}".format(self._name, page.content)) self._logger.debug("{0} : {1}".format(self._name, page.content))