Importowanie obrazków wyróżniających
Operowałem na danych zrzutu z MariaDB⌗
def searchtwo(tytul_wp_posts_nowe):
for i in wp_posts_stare_lines:
if tytul_wp_posts_nowe in i:
l = i.split('|')
return l[1].strip()
def searchthree(id_wp_posts_stary):
for i in wp_postmeta_stare_lines_thumbnail:
if id_wp_posts_stary in i:
return i.split('|')[4].strip()
def searchfour(thumbnail_id_stare):
for i in wp_postmeta_stare_lines_attached_file:
if thumbnail_id_stare in i:
return i.split('|')[4].strip()
with open('wp_posts_stare.txt', 'r') as f_wp_posts_stare:
wp_posts_stare_lines = f_wp_posts_stare.readlines()[39:1143]
with open('wp_postmeta_stare.txt', 'r') as f_wp_postmeta_stare:
lines = f_wp_postmeta_stare.readlines()
wp_postmeta_stare_lines_thumbnail = lines[4:971]
wp_postmeta_stare_lines_attached_file = lines[972:3979]
with open('wp_posts_nowe.txt', 'r') as f_wp_posts_nowe:
wp_posts_nowe_lines = f_wp_posts_nowe.readlines()[35:1138]
for line in wp_posts_nowe_lines:
id_wp_posts_nowe = line.split('|')[1].strip()
tytul_wp_posts_nowe = line.split('|')[3].strip()
id_wp_posts_stary = searchtwo(tytul_wp_posts_nowe)
if id_wp_posts_stary is None:
continue
thumbnail_id_stare = searchthree(id_wp_posts_stary)
if thumbnail_id_stare is None:
continue
lokalizacja_zdjecia_stara = searchfour(thumbnail_id_stare)
print(id_wp_posts_nowe, lokalizacja_zdjecia_stara)
Przykładowy wynik wykonywania zawierał numer wpisu i lokalizację obrazka wyróżniającego⌗
2958 2017/09/DSC_0758.jpg
2954 2017/09/JakubBanaszak.jpg
2950 2018/04/30776948_10211409708611457_1028271925_n.jpg
2946 2017/09/MarekGralik.jpg
2943 2017/09/HumanistaRoku.jpg
2941 2017/05/logo.png
Taki wynik wrzuciłem do wrappera na wp-cli
:⌗
import os
p = '/var/www/html/wordpress/wp-content/uploads/'
with open('wyniki.txt', 'r') as f:
lines = f.readlines()[:20]
for l in lines:
wzledny_adres = l.split()[1]
if os.path.isfile(p + wzledny_adres):
os.system(f'wp media import {p + wzledny_adres} \
--post_id={l.split()[0]} --featured_image')
else:
print('Brak')
Przy okazji zobaczyłem też, czego nie udało się zaimportować⌗
Po udanym imporcie usunąłem tę linijkę z wykonaniem kodu (na dodatek: w zależności od tekstu z pliku. Konkatenacja zawsze gryzie…)
Obróbka danych w formacie csv
chyba jest prostsza⌗
Czytaj inne posty