from . import tool
import datetime
import html
import re
class head_render:
def __init__(self):
pass
def __call__(self, match):
head_len = str(len(match[1]))
head_data = match[2]
return '' + head_data + ''
class link_render:
def __init__(self):
pass
def __call__(self, match):
if match[1] == '!':
if re.search(r'^http(s)?:\/\/', match[3], flags = re.I):
return '
'
else:
file_name = re.search(r'^([^.]+)\.([^.]+)$', match[3])
if file_name:
file_end = file_name.group(2)
file_name = file_name.group(1)
else:
file_name = 'Test'
file_end = 'jpg'
file_src = '/image/' + tool.sha224_replace(file_name) + '.' + file_end
file_alt = 'file:' + file_name + '.' + file_end
return '' + \
'
' + \
'' + file_alt + '' + \
''
else:
if re.search(r'^http(s)?:\/\/', match[3], flags = re.I):
return '' + match[2] + ''
else:
return '' + match[2] + ''
def markdown(conn, data, title, include_num):
backlink = []
include_num = include_num + '_' if include_num else ''
plus_data = '' + \
'get_link_state("' + include_num + '");\n' + \
'get_file_state("' + include_num + '");\n' + \
''
data = html.escape(data)
data = data.replace('\r\n', '\n')
data = '\n' + data
head_r = r'\n(#{1,6}) ?([^\n]+)'
head_do = head_render()
data = re.sub(head_r, head_do, data)
link_r = r'(!)?\[((?:(?!\]\().)+)\]\(([^\]]+)\)'
link_do = link_render()
data = re.sub(link_r, link_do, data)
data = re.sub(r'\*\*((?:(?!\*\*).)+)\*\*', '\1', data)
data = re.sub(r'__((?:(?!__).)+)__', '\1', data)
data = re.sub('^\n', '', data)
data = re.sub('\n', '
', data)
return [data, plus_data, backlink]