New cleaned code. Indev for wip. Some convertions done
This commit is contained in:
parent
9cbe55df24
commit
4491cb94d2
|
@ -63,7 +63,7 @@ def manage_check(target, option):
|
||||||
article_bottom = tyto.protect_article
|
article_bottom = tyto.protect_article
|
||||||
|
|
||||||
# Protect block-codes and quotes
|
# Protect block-codes and quotes
|
||||||
tyto.protect_bcodes_quotes('check', post_bottom)
|
tyto.protect_bcodes_quotes('check', post_bottom, article_bottom)
|
||||||
post_bottom = tyto.protect_article.rsplit('\n')
|
post_bottom = tyto.protect_article.rsplit('\n')
|
||||||
article_bottom = tyto.protect_article
|
article_bottom = tyto.protect_article
|
||||||
|
|
||||||
|
@ -99,13 +99,13 @@ def isin(term, post_bottom):
|
||||||
# Check if separator or exit #
|
# Check if separator or exit #
|
||||||
#---------------------------------#
|
#---------------------------------#
|
||||||
def file_to_string(post_file):
|
def file_to_string(post_file):
|
||||||
# Check if separator
|
|
||||||
global article
|
global article
|
||||||
global article_header, article_bottom
|
global article_header, article_bottom
|
||||||
global post_header, post_bottom
|
global post_header, post_bottom
|
||||||
|
|
||||||
article = open(post_file, 'r').read()
|
article = open(post_file, 'r').read()
|
||||||
|
|
||||||
|
# Check if separator or exit
|
||||||
if not '-----' in article:
|
if not '-----' in article:
|
||||||
tyto.exiting("6", '-----', True)
|
tyto.exiting("6", '-----', True)
|
||||||
|
|
||||||
|
@ -528,8 +528,11 @@ def check_content(post_bottom):
|
||||||
# Create new article's database at each check ! #
|
# Create new article's database at each check ! #
|
||||||
#-----------------------------------------------#
|
#-----------------------------------------------#
|
||||||
def create_database():
|
def create_database():
|
||||||
|
# No first / from dir post
|
||||||
web_uri = tyto.web_uri[1: len(tyto.web_uri)]
|
web_uri = tyto.web_uri[1: len(tyto.web_uri)]
|
||||||
|
# No need index.html for web link
|
||||||
if tyto.web_uri.endswith('index.html'): tyto.web_uri = '/'
|
if tyto.web_uri.endswith('index.html'): tyto.web_uri = '/'
|
||||||
|
|
||||||
database = '# Post Configuration for Tyto\n' + \
|
database = '# Post Configuration for Tyto\n' + \
|
||||||
'post_id = "%s"\n'%tyto.uri_id + \
|
'post_id = "%s"\n'%tyto.uri_id + \
|
||||||
'root_uri = "%s"\n'%tyto.uri_root + \
|
'root_uri = "%s"\n'%tyto.uri_root + \
|
||||||
|
|
|
@ -128,7 +128,6 @@ words_tags = [
|
||||||
('-(', '-)', '-(', '-)', 'lists', 't')
|
('-(', '-)', '-(', '-)', 'lists', 't')
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
# Tags that do not need to be paired
|
# Tags that do not need to be paired
|
||||||
#-----------------------------------
|
#-----------------------------------
|
||||||
single_tags = [
|
single_tags = [
|
||||||
|
@ -312,11 +311,12 @@ def protect_icodes(post_bottom, article_bottom):
|
||||||
# For check, create new article without bcode #
|
# For check, create new article without bcode #
|
||||||
# For wip, remplace content with base64 #
|
# For wip, remplace content with base64 #
|
||||||
#---------------------------------------------#
|
#---------------------------------------------#
|
||||||
def protect_bcodes_quotes(process, post_bottom):
|
def protect_bcodes_quotes(process, post_bottom, article_bottom):
|
||||||
|
|
||||||
global protect_article
|
global protect_article
|
||||||
in_bcode = in_quote = False
|
in_bcode = in_quote = False
|
||||||
protect_article = ''
|
protect_article = ''
|
||||||
|
temp_article = article_bottom
|
||||||
|
|
||||||
if process == 'check':
|
if process == 'check':
|
||||||
global nbr_titles, nbr_bcodes, nbr_quotes # Stats for DB
|
global nbr_titles, nbr_bcodes, nbr_quotes # Stats for DB
|
||||||
|
@ -349,7 +349,54 @@ def protect_bcodes_quotes(process, post_bottom):
|
||||||
|
|
||||||
if not protect_article: protect_article = line
|
if not protect_article: protect_article = line
|
||||||
else: protect_article = '%s\n%s'%(protect_article, line)
|
else: protect_article = '%s\n%s'%(protect_article, line)
|
||||||
|
|
||||||
|
# For wip, bcodes are converted to base64
|
||||||
|
#----------------------------------------
|
||||||
|
elif process == 'wip':
|
||||||
|
|
||||||
|
# Convert bcodes and quotes
|
||||||
|
# include markers in base64, remove from article
|
||||||
|
bcode = quote = ''
|
||||||
|
for ln, line in enumerate(post_bottom):
|
||||||
|
# bcode
|
||||||
|
if line.startswith(words_tags[12][0]):
|
||||||
|
in_bcode = True
|
||||||
|
elif line.startswith(words_tags[12][1]):
|
||||||
|
bcode = '%s\n%s'%(bcode, line)
|
||||||
|
in_bcode = False
|
||||||
|
b64_bcode = b64('Encode', bcode)
|
||||||
|
protect_article = '%s\n%s'%(protect_article, b64_bcode)
|
||||||
|
bcode = ''
|
||||||
|
continue
|
||||||
|
elif line.startswith('#'): # As convention
|
||||||
|
if not line.startswith(titles_tags):
|
||||||
|
continue
|
||||||
|
|
||||||
|
# quote
|
||||||
|
elif line.startswith(words_tags[11][0]):
|
||||||
|
if not in_bcode:
|
||||||
|
in_quote = True
|
||||||
|
elif line.startswith(words_tags[11][1]):
|
||||||
|
if not in_bcode:
|
||||||
|
quote = '%s\n%s'%(quote, line)
|
||||||
|
in_quote = False
|
||||||
|
b64_quote = b64('Encode', quote)
|
||||||
|
protect_article = '%s\n%s'%(protect_article, b64_quote)
|
||||||
|
quote = ''
|
||||||
|
continue
|
||||||
|
|
||||||
|
# Priority to bcode
|
||||||
|
if in_bcode:
|
||||||
|
if bcode: bcode = '%s\n%s'%(bcode, line)
|
||||||
|
else: bcode = line
|
||||||
|
else:
|
||||||
|
if in_quote:
|
||||||
|
if quote: quote = '%s\n%s'%(quote, line)
|
||||||
|
else: quote = line
|
||||||
|
else:
|
||||||
|
if not protect_article: protect_article = line
|
||||||
|
else: protect_article = '%s\n%s'%(protect_article, line)
|
||||||
|
|
||||||
|
|
||||||
#=====================================#
|
#=====================================#
|
||||||
# Encode/Decode string to/from base64 #
|
# Encode/Decode string to/from base64 #
|
||||||
|
|
|
@ -25,6 +25,7 @@ def manage_wip(target, option):
|
||||||
|
|
||||||
# Article exists + has DB ?
|
# Article exists + has DB ?
|
||||||
db_exists = tyto.get_db_post(target)
|
db_exists = tyto.get_db_post(target)
|
||||||
|
target = tyto.uri_root
|
||||||
if not db_exists:
|
if not db_exists:
|
||||||
tyto.exiting("4", '', True)
|
tyto.exiting("4", '', True)
|
||||||
|
|
||||||
|
@ -39,7 +40,7 @@ def manage_wip(target, option):
|
||||||
|
|
||||||
# In any case, if Force
|
# In any case, if Force
|
||||||
if option == 'Force':
|
if option == 'Force':
|
||||||
wip_article()
|
wip_article(target)
|
||||||
return
|
return
|
||||||
|
|
||||||
# Compare and check file
|
# Compare and check file
|
||||||
|
@ -52,7 +53,7 @@ def manage_wip(target, option):
|
||||||
if hash_wip:
|
if hash_wip:
|
||||||
if not is_file: tyto.exiting("1", wip_uri, False)
|
if not is_file: tyto.exiting("1", wip_uri, False)
|
||||||
if is_new: tyto.exiting("9", '', False)
|
if is_new: tyto.exiting("9", '', False)
|
||||||
wip_article()
|
wip_article(target)
|
||||||
else:
|
else:
|
||||||
tyto.exiting("20", date_wip, True)
|
tyto.exiting("20", date_wip, True)
|
||||||
|
|
||||||
|
@ -61,9 +62,127 @@ def manage_wip(target, option):
|
||||||
# Start wip modules #
|
# Start wip modules #
|
||||||
# Set Db #
|
# Set Db #
|
||||||
#-------------------#
|
#-------------------#
|
||||||
def wip_article():
|
def wip_article(target):
|
||||||
print('Convert')
|
print('Convert')
|
||||||
|
|
||||||
|
# Convert file to strings
|
||||||
|
file_to_string(target)
|
||||||
|
|
||||||
# Convert anchors
|
global post_header, article_header
|
||||||
#tyto.get_css(line)
|
global post_bottom, article_bottom
|
||||||
#print(tyto.single_tags[1][1]%tyto.set_css)
|
|
||||||
|
# Protect inline-codes
|
||||||
|
tyto.protect_icodes(post_bottom, article_bottom)
|
||||||
|
post_bottom = tyto.protect_article.rsplit('\n')
|
||||||
|
article_bottom = tyto.protect_article
|
||||||
|
|
||||||
|
# Protect block-codes and quotes
|
||||||
|
tyto.protect_bcodes_quotes('wip', post_bottom, article_bottom)
|
||||||
|
post_bottom = tyto.protect_article.rsplit('\n')
|
||||||
|
article_bottom = tyto.protect_article
|
||||||
|
|
||||||
|
# Convert contents from modules
|
||||||
|
wip_single_tags() # br /, anchors
|
||||||
|
wip_words_tags() # Paragraphs, strongs, italics
|
||||||
|
wip_links() # Links from headers in DB
|
||||||
|
|
||||||
|
print(article_bottom)
|
||||||
|
|
||||||
|
#=================================#
|
||||||
|
# Create string article from file #
|
||||||
|
# post is string splitted '\n' #
|
||||||
|
# article is string not splitted #
|
||||||
|
#---------------------------------#
|
||||||
|
def file_to_string(target):
|
||||||
|
global article
|
||||||
|
global article_header, article_bottom
|
||||||
|
global post_header, post_bottom
|
||||||
|
|
||||||
|
article = open(target, 'r').read()
|
||||||
|
|
||||||
|
# Set from separator, NOT splitted by new line
|
||||||
|
article_header = article.rsplit('-----')[0]
|
||||||
|
article_bottom = article.rsplit('-----')[1]
|
||||||
|
|
||||||
|
# Set from separator, splitted by new line
|
||||||
|
post_header = article.rsplit('-----')[0].rsplit('\n')
|
||||||
|
post_bottom = article.rsplit('-----')[1].rsplit('\n')
|
||||||
|
|
||||||
|
|
||||||
|
#=============================#
|
||||||
|
# Convert tags (br /, anchor) #
|
||||||
|
#-----------------------------#
|
||||||
|
def wip_single_tags():
|
||||||
|
global article_bottom
|
||||||
|
|
||||||
|
# <br /> from "|"
|
||||||
|
article_bottom = article_bottom.replace(
|
||||||
|
tyto.single_tags[0][0], tyto.single_tags[0][1]
|
||||||
|
)
|
||||||
|
|
||||||
|
for line in article_bottom.rsplit('\n'):
|
||||||
|
if line.startswith(tyto.single_tags[1][0]):
|
||||||
|
set_css = tyto.get_css(line)
|
||||||
|
article_bottom = article_bottom.replace(
|
||||||
|
line,
|
||||||
|
tyto.single_tags[1][1]%set_css
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
#==================================#
|
||||||
|
# Convert tags (strong, icodes...) #
|
||||||
|
# Convert Paragraphs #
|
||||||
|
#----------------------------------#
|
||||||
|
def wip_words_tags():
|
||||||
|
global article_bottom
|
||||||
|
|
||||||
|
# Strongs, italics... (8 tags)
|
||||||
|
m = 0
|
||||||
|
for tag in tyto.words_tags:
|
||||||
|
if m > 8: break
|
||||||
|
|
||||||
|
# Open tag
|
||||||
|
article_bottom = article_bottom.replace(tag[0], tag[2])
|
||||||
|
# Close tag
|
||||||
|
article_bottom = article_bottom.replace(tag[1], tag[3])
|
||||||
|
m += 1
|
||||||
|
|
||||||
|
# Paragraphs
|
||||||
|
for ln, line in enumerate(article_bottom.rsplit('\n')):
|
||||||
|
# Open tag
|
||||||
|
if line.startswith(tyto.words_tags[10][0]):
|
||||||
|
set_css = tyto.get_css(line)
|
||||||
|
article_bottom = article_bottom.replace(
|
||||||
|
article_bottom.rsplit('\n')[ln],
|
||||||
|
tyto.words_tags[10][2]%set_css
|
||||||
|
)
|
||||||
|
# Close tag
|
||||||
|
if line.startswith(tyto.words_tags[10][1]):
|
||||||
|
article_bottom = article_bottom.replace(
|
||||||
|
line,
|
||||||
|
tyto.words_tags[10][3]
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
#=======================#
|
||||||
|
# Convert links from DB #
|
||||||
|
# - link_%i #
|
||||||
|
# - file_%i #
|
||||||
|
#-----------------------#
|
||||||
|
def wip_links():
|
||||||
|
global article_bottom
|
||||||
|
|
||||||
|
if uniq_links > 0:
|
||||||
|
for i in range(1, uniq_links + 1):
|
||||||
|
link = 'link_%s'%i
|
||||||
|
article_bottom = article_bottom.replace(
|
||||||
|
eval(link)[0], eval(link)[1]
|
||||||
|
)
|
||||||
|
|
||||||
|
if uniq_files > 0:
|
||||||
|
for i in range(1, uniq_files + 1):
|
||||||
|
file = 'file_%s'%i
|
||||||
|
article_bottom = article_bottom.replace(
|
||||||
|
eval(file)[0], eval(file)[1]
|
||||||
|
)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue