base64: fix markers (avoid used marker)

This commit is contained in:
Cyrille L 2022-12-29 18:18:53 +01:00
parent fa06f9c84a
commit b2f0df2fe4
3 changed files with 18 additions and 14 deletions

View File

@ -482,7 +482,7 @@ def check_content(post_bottom):
if line.startswith(tag[1]): c_closed += 1
if c_opened != c_closed:
tyto.exiting("8", '%s: %s %s'%(tag[4], tag[0], tag[1]), False)
tyto.exiting("8", '%s: "%s", "%s"'%(tag[4], tag[0], tag[1]), False)
post_err = True
return # Useless and could code errors to check nexts
else:

View File

@ -291,13 +291,14 @@ def protect_icodes(post_bottom, article_bottom):
# Get only lines that contains code
for ln, line in enumerate(post_bottom):
if '{_' and '_}' in line:
if words_tags[9][0] and words_tags[9][1] in line:
# Iterate in line
for i, c in enumerate(line):
c_b = c_bb = c_a = ""
if c == '_':
c_b = line[i-1] # before
c_bb = line[i-2] # before + before
c_bb = line[i-2] # before, before
c_a = line[i+1] # after
# incode if
@ -311,7 +312,7 @@ def protect_icodes(post_bottom, article_bottom):
if c_a == '}' and not c_b == '\\':
incode = False
code = '%s%s%s'%(code, src_code, words_tags[9][3])
b64_code = b64('Encode', code, 'I64_', '_I64')
b64_code = b64('Encode', code, 'I64.', '.I64')
rep_code = "%s%s%s"%(
words_tags[9][0], rep_code, words_tags[9][1]
)
@ -388,7 +389,7 @@ def protect_bcodes_quotes(process, post_bottom, article_bottom):
elif line.startswith(words_tags[12][1]):
bcode = '%s\n%s'%(bcode, line)
in_bcode = False
b64_bcode = b64('Encode', bcode, 'B64_', '_B64')
b64_bcode = b64('Encode', bcode, 'B64.', '.B64')
protect_article = '%s\n%s'%(protect_article, b64_bcode)
bcode = ''
continue
@ -404,7 +405,7 @@ def protect_bcodes_quotes(process, post_bottom, article_bottom):
if not in_bcode:
quote = '%s\n%s'%(quote, line)
in_quote = False
b64_quote = b64('Encode', quote, 'Q64_', '_Q64')
b64_quote = b64('Encode', quote, 'Q64.', '.Q64')
protect_article = '%s\n%s'%(protect_article, b64_quote)
quote = ''
continue
@ -424,7 +425,7 @@ def protect_bcodes_quotes(process, post_bottom, article_bottom):
#=====================================#
# Encode/Decode string to/from base64 #
# Data protection #
# Data protection in UTF8 #
#-------------------------------------#
def b64(action, content, before, after):
if action == 'Encode':
@ -460,12 +461,12 @@ def exiting(nbr, value, out):
'5' : ':< \033[1;31mUnused argument\033[0;0m file',
'6' : ':< \033[1;31mUnused "%s"\033[0;0m in article'%value,
'7' : ':< Article is \033[1;31mnot valid yet\033[0;0m',
'8' : ':< tags "%s" \033[1;31mnot paired\033[0;0m'%value,
'8' : ':< %s: \033[1;31mnot paired\033[0;0m'%value,
'9' : ':D Article has changed (wip is old)',
'10' : ':< \033[1;31mUnused "%s"\033[0;0m in article\'s header'%value,
'20' : ':D Article already up-to-date on: %s'%value,
'21' : ':D \033[1;32mArticle is valid\033[0;0m and ready to wip',
'22' : ':/ \033[1;33mWarning: not paired symbols\033[0;0m %s'%value,
'22' : ':? Symbols: %s \033[1;33mnot paired\033[0;0m'%value,
'255' : ':| Maybe later...'
}

View File

@ -296,9 +296,9 @@ def wip_quotes() :
for ln, line in enumerate(article_bottom.rsplit('\n')):
# Decode from base64
if line.startswith('Q64'):
line = line.replace('Q64_', '')
line = line.replace('_Q64', '')
quote = tyto.b64('Decode', line, 'Q64_', '_Q64').rsplit("\n")
line = line.replace('Q64.', '')
line = line.replace('.Q64', '')
quote = tyto.b64('Decode', line, 'Q64.', '.Q64').rsplit("\n")
# Read the quote. Get parameters
author = date = lang = book = link = quote_html = ''
@ -385,6 +385,7 @@ def wip_quotes() :
elif book: title_html = ' title="%s"'%(book)
elif date: title_html = ' title="(%s)"'%(date)
time_html_o = time_html_c = ''
if date:
time_html_o = '<time datetime="%s">\n'%date
time_html_c = '</time>\n'
@ -413,5 +414,7 @@ def wip_quotes() :
'</blockquote>'
# Replace line with final HTML Quote
article_bottom = article_bottom.replace('Q64_%s_Q64'%line, quote_html)
article_bottom = article_bottom.replace(
'Q64.%s.Q64'%line, quote_html
)