| ', table, 1)
else:
break
while 1:
cel_table = re.search('((?:\|\|)+)((?:<(?:(?:(?!>).)+)>)*)((?:(?!\|\||<\/td>).)+)', table)
if cel_table:
cel_table = cel_table.groups()
return_table = table_parser(cel_table[1], cel_table[2], cel_table[0], number)
table = re.sub('((?:\|\|)+)((?:<(?:(?:(?!>).)+)>)*)', ' | ', table, 1)
else:
break
data = re.sub('((?:(?:(?:(?:\|\|)+(?:(?:(?!\|\|).(?:\r\n)*)+))+)\|\|(?:\r\n)?)+)', table, data, 1)
else:
break
# 링크 관련 문법 구현
category = '\r\n분류: '
while 1:
link = re.search('\[\[((?:(?!\[\[|\]\]).)+)\]\]', data)
if link:
link = link.groups()[0]
link_split = re.search('((?:(?!\|).)+)(?:\|((?:(?!\|).)+))', link)
if link_split:
link_split = link_split.groups()
main_link = link_split[0]
see_link = link_split[1]
else:
main_link = link
see_link = link
if re.search('^(파일|외부):', main_link):
width = re.search('width=((?:(?!,).)+)', see_link)
if width:
file_width = width.groups()[0]
else:
file_width = 'auto'
height = re.search('height=((?:(?!,).)+)', see_link)
if height:
file_height = height.groups()[0]
else:
file_height = 'auto'
align = re.search('align=((?:(?!,).)+)', see_link)
if align:
file_align = align.groups()[0]
if file_align == 'center':
file_align = 'display: block; text-align: center;'
else:
file_align = 'float: ' + file_align + ';'
else:
file_align = ''
if re.search('^외부:', main_link):
file_src = re.sub('^외부:', '', main_link)
file_alt = main_link
else:
file_data = re.search('^파일:((?:(?!\.).)+)\.(.+)$', main_link)
if file_data:
file_data = file_data.groups()
file_name = file_data[0]
file_end = file_data[1]
else:
file_name = 'TEST'
file_end = 'jpg'
file_src = '/image/' + tool.sha224(file_name) + '.' + file_end
file_alt = '파일:' + file_name + '.' + file_end
data = re.sub('\[\[((?:(?!\[\[|\]\]).)+)\]\]', '  ', data, 1)
elif re.search('^분류:', main_link):
see_link = re.sub('#include', '', see_link)
main_link = re.sub('#include', '', main_link)
if re.search('#blur', main_link):
see_link = '스포일러'
link_id = 'id="inside"'
main_link = re.sub('#blur', '', main_link)
else:
link_id = ''
category += ' ' + re.sub('^분류:', '', see_link) + ' / '
data = re.sub('\[\[((?:(?!\[\[|\]\]).)+)\]\]', '', data, 1)
elif re.search('^wiki:', main_link):
data = re.sub('\[\[((?:(?!\[\[|\]\]).)+)\]\]', ' ' + see_link + '', data, 1)
elif re.search('^http(s)?:\/\/', main_link):
data = re.sub('\[\[((?:(?!\[\[|\]\]).)+)\]\]', ' ' + see_link + '', data, 1)
else:
if re.search('^:', main_link):
main_link = re.sub('^:', '', main_link)
curs.execute("select title from data where title = ?", [main_link])
if not curs.fetchall():
link_class = 'class="not_thing"'
else:
link_class = ''
data = re.sub('\[\[((?:(?!\[\[|\]\]).)+)\]\]', ' ' + see_link + '', data, 1)
else:
break
category += ' '
category = re.sub(' / <\/div>$', '', category)
if category == '\r\n분류: ':
category = ''
data += category
# 마지막 처리
data = re.sub('(?P )(\r\n)+', '\g', data)
data = re.sub('<\/ul>\r\n\r\n', '\r\n', data)
data = re.sub('^(\r\n)+', '', data)
data = re.sub('(\r\n)+$', '', data)
data = re.sub('(\r\n)?<\/span>(\r\n)?(<\/span>)?', '', data)
data = re.sub('\r\n', ' ', data)
return [data, plus_data] |