arguments "all", "again", "newer" with wip/publish. Invert item in RSS (newest checked first. Lots of changes)
This commit is contained in:
parent
48cfe03254
commit
eda5d7f6fc
|
@ -44,7 +44,6 @@ target = args.set_target()
|
||||||
# Command start argument
|
# Command start argument
|
||||||
import check, domain, html, new, publish, show, wip, infos
|
import check, domain, html, new, publish, show, wip, infos
|
||||||
actions = {
|
actions = {
|
||||||
'all' : wip.manage_wip,
|
|
||||||
'check' : check.manage_check,
|
'check' : check.manage_check,
|
||||||
'help' : infos.tyto,
|
'help' : infos.tyto,
|
||||||
'edit' : show.manage_show,
|
'edit' : show.manage_show,
|
||||||
|
|
|
@ -64,6 +64,8 @@ pass_db = \
|
||||||
pass_targets = \
|
pass_targets = \
|
||||||
(
|
(
|
||||||
'all',
|
'all',
|
||||||
|
'again',
|
||||||
|
'newer',
|
||||||
'domain',
|
'domain',
|
||||||
'footer',
|
'footer',
|
||||||
'metas',
|
'metas',
|
||||||
|
@ -73,6 +75,8 @@ pass_targets = \
|
||||||
'template'
|
'template'
|
||||||
)
|
)
|
||||||
|
|
||||||
|
multi_chk = ('all', 'again')
|
||||||
|
|
||||||
action = ''
|
action = ''
|
||||||
target = ''
|
target = ''
|
||||||
noaction = False
|
noaction = False
|
||||||
|
@ -97,6 +101,12 @@ if not action in actions:
|
||||||
try: target = sys.argv[2]
|
try: target = sys.argv[2]
|
||||||
except: target = ''
|
except: target = ''
|
||||||
|
|
||||||
|
|
||||||
|
# Some conditions exiting
|
||||||
|
if action == "check" and target == "newer":
|
||||||
|
logs.out("11", '"%s" with "%s"'%(target, action), True)
|
||||||
|
|
||||||
|
|
||||||
# Set action and target for binary
|
# Set action and target for binary
|
||||||
def set_action():
|
def set_action():
|
||||||
return(action)
|
return(action)
|
||||||
|
|
|
@ -35,11 +35,12 @@ def manage_check(target):
|
||||||
domain.domain_needed()
|
domain.domain_needed()
|
||||||
|
|
||||||
# target needed
|
# target needed
|
||||||
if not target: logs.out("5", '', True)
|
if not target:
|
||||||
|
logs.out("5", '', True)
|
||||||
|
|
||||||
elif not target == 'all' \
|
elif not target in args.multi_chk \
|
||||||
and db.db_exists \
|
and db.db_exists \
|
||||||
and db.hash_chk == db.hash_post:
|
and not db.old_chk:
|
||||||
logs.out("20", db.date_chk, False)
|
logs.out("20", db.date_chk, False)
|
||||||
ask = ' ├ Check again this article ? '
|
ask = ' ├ Check again this article ? '
|
||||||
try:
|
try:
|
||||||
|
@ -51,13 +52,13 @@ def manage_check(target):
|
||||||
return
|
return
|
||||||
check_process(target)
|
check_process(target)
|
||||||
|
|
||||||
elif target == "all":
|
elif target in args.multi_chk:
|
||||||
check_all()
|
check_all(target)
|
||||||
|
|
||||||
else:
|
else:
|
||||||
check_process(target)
|
check_process(target)
|
||||||
|
|
||||||
if post_err and not target == 'all':
|
if post_err and not target in args.multi_chk:
|
||||||
logs.out("7", '', True)
|
logs.out("7", '', True)
|
||||||
|
|
||||||
|
|
||||||
|
@ -66,7 +67,7 @@ def manage_check(target):
|
||||||
# check all realdy checkded articles #
|
# check all realdy checkded articles #
|
||||||
# but check only if article source has changed #
|
# but check only if article source has changed #
|
||||||
#----------------------------------------------#
|
#----------------------------------------------#
|
||||||
def check_all():
|
def check_all(option):
|
||||||
found = False
|
found = False
|
||||||
|
|
||||||
for post_db in os.listdir(db.articles_db):
|
for post_db in os.listdir(db.articles_db):
|
||||||
|
@ -77,19 +78,16 @@ def check_all():
|
||||||
args.target = post_src.rsplit('%s/'%db.in_dir)[1]
|
args.target = post_src.rsplit('%s/'%db.in_dir)[1]
|
||||||
importlib.reload(db)
|
importlib.reload(db)
|
||||||
|
|
||||||
if not db.db_exists \
|
if not db.db_exists: continue
|
||||||
or db.hash_post == db.hash_chk:
|
if option == 'again' and not db.old_chk: continue
|
||||||
continue
|
|
||||||
|
|
||||||
found = True
|
found = True
|
||||||
print(':> [%s] | %s'%(db.title, db.post_src))
|
print(':> [%s] - %s'%(db.title, db.post_src))
|
||||||
check_process(args.target)
|
check_process(args.target)
|
||||||
|
|
||||||
if post_err:
|
if post_err: logs.out("44", args.target, False)
|
||||||
logs.out("44", args.target, False)
|
|
||||||
|
|
||||||
if not found:
|
if not found: logs.out("28", '(check)', True)
|
||||||
logs.out("28", '(check)', True)
|
|
||||||
|
|
||||||
|
|
||||||
#========================#
|
#========================#
|
||||||
|
|
|
@ -33,10 +33,12 @@ target = args.target
|
||||||
#---------
|
#---------
|
||||||
domain_active = False
|
domain_active = False
|
||||||
incomplete_domain = False
|
incomplete_domain = False
|
||||||
db_exists = False
|
db_exists = post_exists = db_remove = False
|
||||||
post_exists = False
|
no_chk = no_wip = no_www = False
|
||||||
db_remove = False
|
old_chk = old_wip = old_www = False
|
||||||
home_dir = os.path.expanduser('~')
|
file_wip = file_www = False
|
||||||
|
sync_srvs = False
|
||||||
|
home_dir = os.path.expanduser('~')
|
||||||
|
|
||||||
try: in_dir = os.getcwd()
|
try: in_dir = os.getcwd()
|
||||||
except: logs.out("13", '', True)
|
except: logs.out("13", '', True)
|
||||||
|
@ -189,7 +191,7 @@ if args.target \
|
||||||
post_exists = False
|
post_exists = False
|
||||||
logs.out("1", uri_file, False)
|
logs.out("1", uri_file, False)
|
||||||
|
|
||||||
#
|
# Remove DB if unused source article or corrupted DB
|
||||||
if db_exists:
|
if db_exists:
|
||||||
if not post_exists:
|
if not post_exists:
|
||||||
db_remove = True
|
db_remove = True
|
||||||
|
@ -203,3 +205,24 @@ if args.target \
|
||||||
else:
|
else:
|
||||||
exec(open(post_db).read(),globals())
|
exec(open(post_db).read(),globals())
|
||||||
|
|
||||||
|
# Set Statuses for chk, wip, www
|
||||||
|
if db_exists:
|
||||||
|
# File exists on servers
|
||||||
|
if os.path.exists(post_wip): file_wip = True
|
||||||
|
if os.path.exists(post_www): file_www = True
|
||||||
|
|
||||||
|
# Source article has changed
|
||||||
|
if hash_post != hash_chk: old_chk = True
|
||||||
|
|
||||||
|
# WIP article is old
|
||||||
|
if hash_chk != hash_wip: old_wip = True
|
||||||
|
|
||||||
|
# WWW article is old
|
||||||
|
if hash_wip != hash_www: old_www = True
|
||||||
|
|
||||||
|
# Statuses not set in Db
|
||||||
|
if not hash_chk: no_chk = True
|
||||||
|
if not hash_wip: no_wip = True
|
||||||
|
if not hash_www: no_www = True
|
||||||
|
|
||||||
|
if hash_chk == hash_wip == hash_www: sync_srvs = True
|
||||||
|
|
|
@ -477,6 +477,28 @@ def create_domain(target):
|
||||||
tyto.set_file(db.domain_conf, False, set_f)
|
tyto.set_file(db.domain_conf, False, set_f)
|
||||||
|
|
||||||
|
|
||||||
|
# Show article source ?
|
||||||
|
#----------------------
|
||||||
|
try:
|
||||||
|
db.article_code
|
||||||
|
article_code = "True"
|
||||||
|
except:
|
||||||
|
article_code = "False"
|
||||||
|
|
||||||
|
ask = ''
|
||||||
|
try:
|
||||||
|
ask = input(' ├ Show Article\'s code ? {%s} (Y/y) '%article_code)
|
||||||
|
except KeyboardInterrupt:
|
||||||
|
print('')
|
||||||
|
logs.out("255", '', True)
|
||||||
|
|
||||||
|
if ask in ['y', 'Y']:
|
||||||
|
article_code = "True"
|
||||||
|
|
||||||
|
set_f = 'article_code = %s'%article_code
|
||||||
|
tyto.set_file(db.domain_conf, False, set_f)
|
||||||
|
|
||||||
|
|
||||||
# Profile for rel="me" (optionnal)
|
# Profile for rel="me" (optionnal)
|
||||||
#---------------------------------
|
#---------------------------------
|
||||||
try: domain_relme = db.domain_relme
|
try: domain_relme = db.domain_relme
|
||||||
|
|
|
@ -179,10 +179,26 @@ def create_html_infos_section(process):
|
||||||
date_new = date_pub.rsplit('-')
|
date_new = date_pub.rsplit('-')
|
||||||
date_pub = date_new[2] + '/' + date_new[1] + '/' + date_new[0]
|
date_pub = date_new[2] + '/' + date_new[1] + '/' + date_new[0]
|
||||||
|
|
||||||
|
# Show source code in article-infos if True in DB
|
||||||
|
post_code = ''
|
||||||
|
if db.article_code:
|
||||||
|
# Set HTML
|
||||||
|
post_code = \
|
||||||
|
'<span id="article_code"> ' + \
|
||||||
|
'<a id="article_code_link" href="./%s" title="%s">{%s}</a>'%(
|
||||||
|
os.path.basename(db.short_src),
|
||||||
|
tyto.trans[21][tyto.n],
|
||||||
|
tyto.trans[3][tyto.n]
|
||||||
|
)
|
||||||
|
' </span>'
|
||||||
|
|
||||||
|
|
||||||
# in <article> > section info : line with new date
|
# in <article> > section info : line with new date
|
||||||
post_pub = \
|
post_pub = \
|
||||||
'%s<p>'%(8 * ' ') + \
|
'%s<p>'%(8 * ' ') + \
|
||||||
'<span id="article_title" title="%s">Article</span> '%(title) + \
|
'<span id="article_title" title="%s">Article%s</span> '%(title,
|
||||||
|
post_code
|
||||||
|
) + \
|
||||||
'<span title="%s %s">%s</span> '%(tyto.trans[10][tyto.n],
|
'<span title="%s %s">%s</span> '%(tyto.trans[10][tyto.n],
|
||||||
date[0],
|
date[0],
|
||||||
tyto.trans[7][tyto.n]
|
tyto.trans[7][tyto.n]
|
||||||
|
@ -217,6 +233,13 @@ def create_sidebar(option):
|
||||||
except:
|
except:
|
||||||
logs.out("1", 'Sidebar load file', True)
|
logs.out("1", 'Sidebar load file', True)
|
||||||
|
|
||||||
|
try:
|
||||||
|
db.sidebar_items
|
||||||
|
if int(db.sidebar_items) > 16: db.sidebar_items = 6
|
||||||
|
except:
|
||||||
|
db.sidebar_items = 6
|
||||||
|
|
||||||
|
|
||||||
pub_opts = ('www', 'pub')
|
pub_opts = ('www', 'pub')
|
||||||
if option == 'wip': target = db.wip_sidebar
|
if option == 'wip': target = db.wip_sidebar
|
||||||
elif option == 'www': target = db.www_sidebar
|
elif option == 'www': target = db.www_sidebar
|
||||||
|
|
|
@ -71,7 +71,9 @@ def tyto(target):
|
||||||
' wip : Create page in wip server\n'
|
' wip : Create page in wip server\n'
|
||||||
' publish : Create page in www server\n\n'
|
' publish : Create page in www server\n\n'
|
||||||
' - [target] according to [action]\n'
|
' - [target] according to [action]\n'
|
||||||
' all : Convert again all already converted articles\n'
|
' all : Convert all already converted articles\n'
|
||||||
|
' again : convert only converted articles and matches'
|
||||||
|
' newer : convert only newer articles'
|
||||||
' template: - Create navbar/sidebar/metas/footer in www server\n'
|
' template: - Create navbar/sidebar/metas/footer in www server\n'
|
||||||
' - Copy wip/template/ files to www server\n'
|
' - Copy wip/template/ files to www server\n'
|
||||||
' domain : Create/Show config file\n'
|
' domain : Create/Show config file\n'
|
||||||
|
|
|
@ -34,6 +34,8 @@ def manage_publish(target):
|
||||||
if target in args.pass_targets:
|
if target in args.pass_targets:
|
||||||
do = {
|
do = {
|
||||||
'all' : publish_all,
|
'all' : publish_all,
|
||||||
|
'again' : publish_all,
|
||||||
|
'newer' : publish_all,
|
||||||
'sidebar' : html.create_sidebar,
|
'sidebar' : html.create_sidebar,
|
||||||
'navbar' : html.create_navbar,
|
'navbar' : html.create_navbar,
|
||||||
'metas' : html.create_user_metas,
|
'metas' : html.create_user_metas,
|
||||||
|
@ -158,18 +160,11 @@ def publish_template(option):
|
||||||
# Option 'all' to publish again, based on DB #
|
# Option 'all' to publish again, based on DB #
|
||||||
#--------------------------------------------#
|
#--------------------------------------------#
|
||||||
def publish_all(option):
|
def publish_all(option):
|
||||||
ask = ''
|
tyto.process_all('Publish')
|
||||||
try:
|
|
||||||
ask = input(" ├ Publish again all already published articles ? ")
|
|
||||||
except KeyboardInterrupt:
|
|
||||||
print('')
|
|
||||||
logs.out("255", '', True)
|
|
||||||
|
|
||||||
if not ask in ['y', 'Y']:
|
|
||||||
logs.out("255", '', True)
|
|
||||||
|
|
||||||
# Load domain configuration DB
|
# Load domain configuration DB
|
||||||
published = False
|
option = args.target
|
||||||
|
found = False
|
||||||
for post_db in os.listdir(db.articles_db):
|
for post_db in os.listdir(db.articles_db):
|
||||||
if post_db.endswith('.conf'):
|
if post_db.endswith('.conf'):
|
||||||
# Load DB
|
# Load DB
|
||||||
|
@ -178,21 +173,22 @@ def publish_all(option):
|
||||||
args.target = post_src.rsplit('%s/'%db.in_dir)[1]
|
args.target = post_src.rsplit('%s/'%db.in_dir)[1]
|
||||||
importlib.reload(db)
|
importlib.reload(db)
|
||||||
|
|
||||||
# Conditions to publish
|
if not db.hash_wip: continue
|
||||||
if not db.db_exists \
|
if option == "again" and not db.sync_srvs: continue
|
||||||
or not db.hash_www:
|
if option == "newer" and not db.old_www: continue
|
||||||
continue
|
|
||||||
|
|
||||||
print(':> [%s] | %s'%(db.title, db.post_src))
|
print(':> [%s] - %s'%(db.title, db.post_src))
|
||||||
hash_post = tyto.get_filesum(db.post_src, True) # From content file
|
if db.old_chk:
|
||||||
|
logs.out("9", '', False)
|
||||||
|
continue
|
||||||
|
|
||||||
check_to_publish('all')
|
check_to_publish('all')
|
||||||
if err_pub: continue
|
if err_pub: continue
|
||||||
|
|
||||||
published = True
|
found = True
|
||||||
publish_article()
|
publish_article()
|
||||||
|
|
||||||
if not published:
|
if not found:
|
||||||
logs.out("28", '(publish)', True)
|
logs.out("28", '(publish)', True)
|
||||||
else:
|
else:
|
||||||
# Create new ATOM/RSS file
|
# Create new ATOM/RSS file
|
||||||
|
@ -206,23 +202,21 @@ def check_to_publish(process):
|
||||||
global err_pub
|
global err_pub
|
||||||
err_pub = False
|
err_pub = False
|
||||||
|
|
||||||
# Article must exists in wip server
|
# Article was not checked or changed
|
||||||
if not os.path.exists(db.post_wip):
|
if db.no_chk:
|
||||||
logs.out("1", db.post_wip, True)
|
|
||||||
|
|
||||||
# Checking if article can be publish
|
|
||||||
if not db.hash_chk:
|
|
||||||
logs.out("25", db.uri_file, False)
|
logs.out("25", db.uri_file, False)
|
||||||
err_pub = 25
|
err_pub = 25
|
||||||
elif not db.hash_wip:
|
elif db.old_chk:
|
||||||
logs.out("30", db.uri_file, False)
|
|
||||||
err_pub = 30
|
|
||||||
elif db.hash_post != db.hash_chk:
|
|
||||||
logs.out("9", db.uri_file, False)
|
logs.out("9", db.uri_file, False)
|
||||||
err_pub = 9
|
err_pub = 9
|
||||||
elif db.hash_wip != db.hash_chk:
|
|
||||||
|
# Article must exists in wip server
|
||||||
|
if db.no_wip or db.old_wip:
|
||||||
logs.out("30", db.uri_file, False)
|
logs.out("30", db.uri_file, False)
|
||||||
err_pub = 30
|
err_pub = 30
|
||||||
|
elif not db.file_wip:
|
||||||
|
logs.out("1", db.post_wip, False)
|
||||||
|
err_pub = 1
|
||||||
|
|
||||||
if err_pub:
|
if err_pub:
|
||||||
if process == 'all': return
|
if process == 'all': return
|
||||||
|
|
|
@ -18,6 +18,8 @@
|
||||||
#*********************************************************************
|
#*********************************************************************
|
||||||
|
|
||||||
import os
|
import os
|
||||||
|
from pathlib import Path
|
||||||
|
|
||||||
import logs, db, tyto
|
import logs, db, tyto
|
||||||
|
|
||||||
|
|
||||||
|
@ -50,13 +52,16 @@ def create_feed():
|
||||||
' <webMaster>%s</webMaster>\n'%db.domain_mail + \
|
' <webMaster>%s</webMaster>\n'%db.domain_mail + \
|
||||||
' <generator>%s</generator>'%tyto.Tyto
|
' <generator>%s</generator>'%tyto.Tyto
|
||||||
|
|
||||||
|
# Sort by newer articles (created by last check)
|
||||||
|
db_articles = sorted(Path(db.articles_db).iterdir(),
|
||||||
|
key=os.path.getmtime,
|
||||||
|
reverse=True
|
||||||
|
)
|
||||||
rss_item = False
|
rss_item = False
|
||||||
# Loop published articles. Get databases of articles
|
# Loop published articles. Get databases of articles
|
||||||
for post_db in os.listdir(db.articles_db):
|
for post_db in db_articles:
|
||||||
if not post_db.endswith('.conf'): continue
|
if not str(post_db).endswith('.conf'): continue
|
||||||
|
|
||||||
# Load DB
|
# Load DB
|
||||||
post_db = '%s%s'%(db.articles_db, post_db)
|
|
||||||
exec(open(post_db).read(),globals())
|
exec(open(post_db).read(),globals())
|
||||||
if not hash_www or hash_chk != hash_www: continue
|
if not hash_www or hash_chk != hash_www: continue
|
||||||
|
|
||||||
|
|
|
@ -72,6 +72,7 @@ def loop_articles(process):
|
||||||
importlib.reload(db)
|
importlib.reload(db)
|
||||||
|
|
||||||
# Check hash status (wip/www)
|
# Check hash status (wip/www)
|
||||||
|
hash_srv = ''
|
||||||
if process == 'wip': hash_srv = db.hash_wip
|
if process == 'wip': hash_srv = db.hash_wip
|
||||||
elif process == 'www': hash_srv = db.hash_www
|
elif process == 'www': hash_srv = db.hash_www
|
||||||
|
|
||||||
|
|
|
@ -20,7 +20,8 @@
|
||||||
import os, sys, subprocess, locale, base64, datetime, shutil
|
import os, sys, subprocess, locale, base64, datetime, shutil
|
||||||
from hashlib import blake2b
|
from hashlib import blake2b
|
||||||
|
|
||||||
import db, logs
|
import args, logs, db
|
||||||
|
|
||||||
domain_active = False
|
domain_active = False
|
||||||
home_dir = os.path.expanduser('~')
|
home_dir = os.path.expanduser('~')
|
||||||
try: in_dir = os.getcwd()
|
try: in_dir = os.getcwd()
|
||||||
|
@ -62,7 +63,8 @@ trans = [
|
||||||
('Conditions Générales d\'Utilisation', 'Terms of Use'), # 17
|
('Conditions Générales d\'Utilisation', 'Terms of Use'), # 17
|
||||||
('Loi', 'Law'), # 18
|
('Loi', 'Law'), # 18
|
||||||
('Articles de', 'Articles from'), # 19
|
('Articles de', 'Articles from'), # 19
|
||||||
('Lire l\'article:', 'Read the article:') #20
|
('Lire l\'article:', 'Read the article:'), #20
|
||||||
|
('Voir le code source au format Tyto de cet article', 'See this article\'s source code in Tyto format') #21 (title)
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
|
@ -112,7 +114,9 @@ words_tags = [
|
||||||
tpl_tags = [
|
tpl_tags = [
|
||||||
('(', ')'),
|
('(', ')'),
|
||||||
('[', ']'),
|
('[', ']'),
|
||||||
('{', '}')
|
('{', '}'),
|
||||||
|
('«', '»'),
|
||||||
|
('<!--', '-->')
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
|
@ -464,3 +468,36 @@ def files_to_srv(server):
|
||||||
logs.out("33", f_dst, False)
|
logs.out("33", f_dst, False)
|
||||||
except:
|
except:
|
||||||
logs.out('4', f_dst, True)
|
logs.out('4', f_dst, True)
|
||||||
|
|
||||||
|
if db.article_code:
|
||||||
|
if server == "wip": base_srv = db.srv_wip
|
||||||
|
elif server == "www": base_srv = db.srv_www
|
||||||
|
|
||||||
|
f_dst = "%s%s"%(base_srv, db.short_src)
|
||||||
|
try:
|
||||||
|
shutil.copy2(db.post_src, f_dst)
|
||||||
|
logs.out("33", f_dst, False)
|
||||||
|
except:
|
||||||
|
logs.out('4', f_dst, True)
|
||||||
|
|
||||||
|
|
||||||
|
#
|
||||||
|
#
|
||||||
|
#
|
||||||
|
def process_all(process):
|
||||||
|
# if target == 'all':
|
||||||
|
if args.target == "all":
|
||||||
|
ask = ''
|
||||||
|
try:
|
||||||
|
ask = input(" ├ %s all already converted articles ? "%process)
|
||||||
|
except KeyboardInterrupt:
|
||||||
|
print('')
|
||||||
|
logs.out("255", '', True)
|
||||||
|
|
||||||
|
if not ask in ['y', 'Y']:
|
||||||
|
logs.out("255", '', True)
|
||||||
|
|
||||||
|
elif args.target == "again":
|
||||||
|
print(' ├ %s again current matches articles'%process)
|
||||||
|
elif args.target == "newer":
|
||||||
|
print(' ├ %s newer articles'%process)
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
#**********************************************************************
|
#**********************************************************************
|
||||||
|
|
||||||
import os, re, sys, shutil, importlib
|
import os, re, sys, shutil, importlib
|
||||||
import logs, args, db, tyto, html, domain, stats
|
import args, logs, db, tyto, html, domain, stats
|
||||||
|
|
||||||
|
|
||||||
#=========================================#
|
#=========================================#
|
||||||
|
@ -37,6 +37,8 @@ def manage_wip(target):
|
||||||
if target in args.pass_targets:
|
if target in args.pass_targets:
|
||||||
do = {
|
do = {
|
||||||
'all' : wip_all,
|
'all' : wip_all,
|
||||||
|
'again' : wip_all,
|
||||||
|
'newer' : wip_all,
|
||||||
'sidebar' : html.create_sidebar,
|
'sidebar' : html.create_sidebar,
|
||||||
'navbar' : html.create_navbar,
|
'navbar' : html.create_navbar,
|
||||||
'metas' : html.create_user_metas,
|
'metas' : html.create_user_metas,
|
||||||
|
@ -50,18 +52,17 @@ def manage_wip(target):
|
||||||
|
|
||||||
# Per article with target
|
# Per article with target
|
||||||
#------------------------
|
#------------------------
|
||||||
|
# Exit with these conditions
|
||||||
if not target: logs.out("5", '', True)
|
if not target: logs.out("5", '', True)
|
||||||
if not db.post_exists: sys.exit(1)
|
if not db.post_exists: sys.exit(1)
|
||||||
if not db.db_exists: logs.out("25", db.uri_file, True)
|
if not db.db_exists: logs.out("25", db.uri_file, True)
|
||||||
|
if db.old_chk: logs.out("9", db.uri_file, True)
|
||||||
|
|
||||||
# Exit if article has changed
|
|
||||||
if db.hash_chk != db.hash_post:
|
|
||||||
logs.out("9", db.uri_file, True)
|
|
||||||
|
|
||||||
# Compare and check file
|
|
||||||
# Article has changed or wip file missing
|
# Article has changed or wip file missing
|
||||||
if db.hash_wip != db.hash_chk or not os.path.exists(db.post_wip):
|
if db.old_wip or not db.file_wip:
|
||||||
wip_article(db.uri_file)
|
wip_article(db.uri_file)
|
||||||
|
|
||||||
|
# wip is up-to-date: ask to wip again
|
||||||
else:
|
else:
|
||||||
logs.out("19", db.date_wip, False)
|
logs.out("19", db.date_wip, False)
|
||||||
try:
|
try:
|
||||||
|
@ -78,14 +79,11 @@ def manage_wip(target):
|
||||||
# Option 'all' to wip again, based on DB #
|
# Option 'all' to wip again, based on DB #
|
||||||
#----------------------------------------#
|
#----------------------------------------#
|
||||||
def wip_all(process):
|
def wip_all(process):
|
||||||
|
tyto.process_all('Wip')
|
||||||
# if target == 'all':
|
|
||||||
ask = ''
|
|
||||||
ask = input(" ├ Wip again all already converted articles ? ")
|
|
||||||
if not ask in ['y', 'Y']:
|
|
||||||
return
|
|
||||||
|
|
||||||
# Load domain configuration DB
|
# Load domain configuration DB
|
||||||
|
option = args.target
|
||||||
|
found = False
|
||||||
for post_db in os.listdir(db.articles_db):
|
for post_db in os.listdir(db.articles_db):
|
||||||
if post_db.endswith('.conf'):
|
if post_db.endswith('.conf'):
|
||||||
# Load DB
|
# Load DB
|
||||||
|
@ -93,16 +91,21 @@ def wip_all(process):
|
||||||
exec(open(post_db).read(),globals())
|
exec(open(post_db).read(),globals())
|
||||||
args.target = post_src.rsplit('%s/'%db.in_dir)[1]
|
args.target = post_src.rsplit('%s/'%db.in_dir)[1]
|
||||||
importlib.reload(db)
|
importlib.reload(db)
|
||||||
if not db.hash_wip:
|
|
||||||
|
if not db.hash_wip: continue
|
||||||
|
if option == "again" and db.old_wip: continue
|
||||||
|
if option == "newer" and not db.old_wip: continue
|
||||||
|
|
||||||
|
print(':> [%s] - %s'%(db.title, db.post_src))
|
||||||
|
if db.old_chk:
|
||||||
|
logs.out("9", '', False)
|
||||||
continue
|
continue
|
||||||
|
|
||||||
print(':> [%s] | %s'%(db.title, db.post_src))
|
found = True
|
||||||
hash_post = tyto.get_filesum(db.post_src, True) # From content file
|
|
||||||
if hash_post != db.hash_chk:
|
|
||||||
logs.out("25", db.uri_file, False)
|
|
||||||
continue
|
|
||||||
wip_article(db.post_src)
|
wip_article(db.post_src)
|
||||||
|
|
||||||
|
if not found: logs.out("28", '(wip)', True)
|
||||||
|
|
||||||
|
|
||||||
#===================#
|
#===================#
|
||||||
# Start wip modules #
|
# Start wip modules #
|
||||||
|
|
Loading…
Reference in New Issue