diff --git a/src/var/lib/tyto/program/args.py b/src/var/lib/tyto/program/args.py
index 3cc2cc0..fd57bfb 100644
--- a/src/var/lib/tyto/program/args.py
+++ b/src/var/lib/tyto/program/args.py
@@ -84,9 +84,9 @@ pass_db = \
pass_targets = \
(
-'updated',
+'added',
'again',
-'newer',
+'updated',
'domain',
'footer',
'metas',
@@ -96,7 +96,7 @@ pass_targets = \
'template'
)
-multi_chk = ('updated', 'again', 'newer')
+multi_chk = ('added', 'again', 'updated')
action = ''
target = ''
diff --git a/src/var/lib/tyto/program/check.py b/src/var/lib/tyto/program/check.py
index 31884c8..7d124be 100644
--- a/src/var/lib/tyto/program/check.py
+++ b/src/var/lib/tyto/program/check.py
@@ -115,7 +115,7 @@ def check_all(option):
global domain_dir
found = False
- if option == "newer":
+ if option == "added":
os.chdir(dom.articles_d)
domain_dir = True
@@ -404,6 +404,7 @@ def check_needed_tags(post_header):
# Set data from tag
if line.startswith('%s:'%tag):
globals()[tag] = line.rsplit('%s:'%tag)[1].lstrip()
+ globals()[tag] = globals()[tag].replace('"', '')
# Stat for "tags:"
if tag == 'tags':
stat_tags = len(globals()[tag].strip().split(","))
@@ -669,6 +670,59 @@ def check_snpic(name):
snpic_url = dom.www_url + web_uri
+#==========================================#
+# Check anchors target and links #
+# Check for duplicate anchor name target #
+# Cannot have anchors links without target #
+#------------------------------------------#
+def check_anchors():
+ global post_err
+
+ # Anchor target
+ if nbr_ancs > 0:
+ # Create anchors names targets
+ anchors_names = (())
+ for line in post_bottom.rsplit('\n'):
+ if line.startswith(tyto.single_tags[1][0]):
+ name = tyto.get_css(line)
+ anchors_names = anchors_names + ((name),)
+
+ # Check for uniq anchor_name
+ for name in list(anchors_names):
+ if anchors_names.count(name) > 1:
+ post_err = True
+ logs.out("15", '"%s %s" > %s'%(
+ tyto.single_tags[1][0], name, db.uri_file
+ ), False)
+ break
+
+ # Anchor link
+ if post_anchors == 0:
+ return
+
+ # Article has anchors links but no anchor target
+ elif nbr_ancs == 0:
+ logs.out("12", "%s [NAME] > %s"%(
+ tyto.single_tags[1][0], db.uri_file
+ ), False)
+ post_err = True
+ return
+
+ # Check in anchor link has target one
+ else:
+ for ln, line in enumerate(post_bottom.rsplit('\n'), 1):
+ # Anchor link
+ if tyto.words_tags[0][0] and tyto.words_tags[0][1] in line:
+ anchors = re.findall(r">_(.*?)_<", line)
+ for anchor in anchors:
+ anchor_name = anchor.rsplit(':')[0].lstrip()
+ if not anchor_name in anchors_names:
+ logs.out("12", 'L=%s. anchor "%s" > %s'%(
+ ln + 1 + ln_header, anchor_name, db.uri_file
+ ), False)
+ post_err = True
+
+
#===========================#
# Check tags in post_bottom #
#---------------------------#
@@ -705,33 +759,7 @@ def check_content(post_bottom):
# Check if anchor has target
# Count anchors target
#---------------------------
- if post_anchors > 0:
- for ln, line in enumerate(post_bottom.rsplit('\n'), 1):
- # Anchor link
- if tyto.words_tags[0][0] and tyto.words_tags[0][1] in line:
- anchors = re.findall(r">_(.*?)_<", line)
- for anchor in anchors:
- css_anchor = anchor.rsplit(':')[0]
- tag = '%s %s'%(tyto.single_tags[1][0], css_anchor)
- if not tag in post_bottom:
- logs.out("12", 'L=%s. anchor "%s" > %s'%(
- ln + ln_header, tag, db.uri_file
- ), False)
- post_err = True
-
- # Anchor "->" id must be uniq
- if nbr_ancs > 0:
- if line.startswith(tyto.single_tags[1][0]):
- set_css = tyto.get_css(line)
- is_uniq_anchor = "%s %s"%(tyto.single_tags[1][0], set_css)
- c_uniq_anchor = post_bottom.count(is_uniq_anchor)
- if c_uniq_anchor > 1:
- logs.out("15", 'L=%s. %sx "%s" > %s'%(
- ln + ln_header, c_uniq_anchor, is_uniq_anchor,
- db.uri_file
- ), False)
- post_err = True
- break
+ check_anchors()
# Lists: check if contents are valid
diff --git a/src/var/lib/tyto/program/publish.py b/src/var/lib/tyto/program/publish.py
index c172bda..2a7499b 100644
--- a/src/var/lib/tyto/program/publish.py
+++ b/src/var/lib/tyto/program/publish.py
@@ -50,9 +50,9 @@ def manage_publish(target):
#-----------------------------------------
if target in args.pass_targets:
do = {
- 'all' : publish_all,
+ 'updated' : publish_all,
'again' : publish_all,
- 'newer' : publish_all,
+ 'added' : publish_all,
'sidebar' : html.create_sidebar,
'navbar' : html.create_navbar,
'metas' : html.create_user_metas,
@@ -208,7 +208,7 @@ def publish_all(option):
if not db.hash_wip: continue
if option == "again" and not db.sync_srvs: continue
- if option == "newer" and not db.old_www: continue
+ if option == "added" and not db.old_www: continue
print(':> [%s] - %s'%(db.title, db.post_src))
if db.old_chk:
diff --git a/src/var/lib/tyto/program/wip.py b/src/var/lib/tyto/program/wip.py
index 4038038..032e927 100644
--- a/src/var/lib/tyto/program/wip.py
+++ b/src/var/lib/tyto/program/wip.py
@@ -57,7 +57,7 @@ def manage(target):
do = {
'updated' : wip_all,
'again' : wip_all,
- 'newer' : wip_all,
+ 'added' : wip_all,
'sidebar' : html.create_sidebar,
'navbar' : html.create_navbar,
'metas' : html.create_user_metas,
@@ -105,10 +105,10 @@ def wip_all(process):
langs.site.wip_again, langs.site.q
), True)
- elif args.target == "updated":
+ elif args.target == "addedd":
print(' │ %s'%langs.site.wip_older)
- elif args.target == "newer":
+ elif args.target == "updated":
print(' │ %s'%langs.site.wip_newer)
# Sort by newer articles (created by last check)
@@ -137,7 +137,7 @@ def wip_all(process):
continue
# newer: article not yet wip
- elif option == "newer" and db.hash_wip:
+ elif option == "added" and db.hash_wip:
continue
# All: only old wip
@@ -251,13 +251,13 @@ def wip_single_tags():
)
# Anchor source
- for line in post_bottom.rsplit('\n'):
+ for ln, line in enumerate(post_bottom.rsplit('\n')):
if line.startswith(tyto.single_tags[1][0]):
set_css = tyto.get_css(line)
- replace_in_post(line,
+
+ replace_in_post(post_bottom.rsplit('\n')[ln],
tyto.single_tags[1][1]%set_css
)
-
#==================================#
# Convert tags (strong, icodes...) #
@@ -369,12 +369,13 @@ def wip_links():
def wip_abbrs():
if db.uniq_abbrs == 0: return
- abbr_src = '%s'
+ abbr_src = '%s'
for i in range(1, db.uniq_abbrs + 1):
abbr = 'db.abbr_%s'%i
try: abbr_show = eval(abbr)[2]
except: abbr_show = eval(abbr)[0]
- abbr_html = abbr_src%(eval(abbr)[1],
+ abbr_html = abbr_src%(dom.css,
+ eval(abbr)[1],
abbr_show
)
diff --git a/src/var/lib/tyto/translations/site_fr.py b/src/var/lib/tyto/translations/site_fr.py
index 21b33e0..6f621db 100644
--- a/src/var/lib/tyto/translations/site_fr.py
+++ b/src/var/lib/tyto/translations/site_fr.py
@@ -278,8 +278,8 @@ args_helps = """\n# Nouveau domaine :
# Traitement en masse
updated : Mise à jour des articles modifiés (déjà vérifiés)
again : Forcer TOUS les articles déjà vérifiés
- newer : [check] Vérifier tous les article .tyto dans le domaine
- qui n'ont pas été déjà vérifiés
+ added : [check] Vérifier tous les article .tyto dans le domaine
+ qui n'ont pas été déjà validés
[wip, publish] Créer les pages HTML des articles
qui ont été modifiés et vérifiés