Descripción
Pequeño programa que exporta de un WordPress y lo importa dentro de pmwiki
Código
- import feedparser
- import os
- import re
- from unidecode import unidecode
- from datetime import datetime
- def depurar(html_string):
- #--[ Limpia <a href
- #--[ Limpia <a href
- pattern = r'<a\s+href="([^"]+)"[^>]*>(.*?)</a>'
- mivar = re.sub(pattern, r'[[\1|\2]]', html_string)
- mivar = mivar.replace('http://gtd.bergonzini.com/wp-content/uploads/','Path:/uploads/GTD/')
- #--[ Limpia <img
- pattern = r'<img[^>]*src=["\'](.*?)["\'][^>]*>'
- mivar = re.sub(pattern, r" %width=50pct%\1", mivar)
- #-- Eliminamos EM
- pattern = r'<em>(.*?)</em>'
- mivar = re.sub(pattern, r"''\1''", mivar)
- pattern = r'<i>(.*?)</i>'
- mivar = re.sub(pattern, r"''\1''", mivar)
- #-- Eliminamos H3
- pattern = r'<h3(.*?)>(.*?)</h3>'
- mivar = re.sub(pattern, r"!!!\1 ", mivar)
- pattern = r'<h2(.*?)>(.*?)</h2>'
- mivar = re.sub(pattern, r"!!\1 ", mivar)
- pattern = r'<h1(.*?)>(.*?)</h1>'
- mivar = re.sub(pattern, r"!\2 ", mivar)
- mivar = mivar.replace("</p>",r'[[<<]]')
- mivar = mivar.replace("<p>",r'[[<<]]')
- mivar = mivar.replace(r'<ul>',r'[[<<]]--->')
- mivar = mivar.replace(r'</ul>',r'[[<<]]')
- mivar = mivar.replace(r'<div class="wp-block-group alignwide">',"")
- mivar = mivar.replace('<p align="justify">',"")
- mivar = mivar.replace(r'<!-- wp:paragraph -->',"")
- return mivar
- feed = feedparser.parse(r'file.xml')
- feed_entries = feed.entries
- indice = open('Site.GTDSite','w',encoding="UTF-8")
- indice.write('version=pmwiki-2.4.2 ordered=1 urlencoded=1'+os.linesep)
- indice.write('agent=Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:135.0) Gecko/20100101 Firefox/135.0'+os.linesep)
- indice.write('name=Site.GTD'+os.linesep)
- linea = ""
- for post in feed_entries:
- especiales = "=)(/\ºª\\:|’¿?!¡'·#~%&;.,{([])}+*^`+<>"
- ax = post.title.replace( " ", "")
- for ii in especiales:
- ax = ax.replace(ii,"")
- ax = ax.replace('"',"")
- ax = 'GTD.'+unidecode(ax)
- if post.content[0]['value'] != "":
- mifile = open(ax,'w',encoding="UTF-8")
- mifile.write('version=pmwiki-2.4.2 ordered=1 urlencoded=1'+os.linesep)
- mifile.write('agent=Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:135.0) Gecko/20100101 Firefox/135.0'+os.linesep)
- mifile.write('name='+ax+os.linesep)
- # mifile.write(post.title+os.linesep)
- mitime = datetime.strptime(post.published, '%a, %d %b %Y %H:%M:%S %z').strftime('%Y%m%d')
- #mifile.write(mitime+os.linesep )
- cambios = '(:title '+post.title+':)(:description '+post.title+' :)'+ depurar(post.content[0]['value'])+'[[<<]] Publicado el '+mitime
- cambios = cambios.replace(os.linesep, '' )
- cambios = cambios.replace('%0a', '' )
- cambios = cambios.replace('%0d', '' )
- mifile.write('text='+cambios+os.linesep )
- linea = linea + ' '+ mitime + ' [[' + ax + ' | '+ post.title + ']]'
- mifile.close()
- indice.write('text='+linea)
- indice.close()
Última modificación de la página el 05 May 2026 a las 15h11
Powered by
PmWiki