form: rss items max used with feed file creation. wip/publish: keep modification time files (for RSS)
This commit is contained in:
parent
eda5d7f6fc
commit
b0d409f849
|
@ -99,6 +99,7 @@ domain_values = \
|
||||||
'www_footer',
|
'www_footer',
|
||||||
'www_rss',
|
'www_rss',
|
||||||
'domain_rss',
|
'domain_rss',
|
||||||
|
'domain_rssitems',
|
||||||
'domain_footer_about',
|
'domain_footer_about',
|
||||||
'domain_active',
|
'domain_active',
|
||||||
)
|
)
|
||||||
|
@ -166,13 +167,13 @@ else:
|
||||||
# Conditions from command line #
|
# Conditions from command line #
|
||||||
# Get some post settings fom uri #
|
# Get some post settings fom uri #
|
||||||
#--------------------------------#
|
#--------------------------------#
|
||||||
# Domain must be valid
|
|
||||||
domain.domain_needed()
|
|
||||||
|
|
||||||
if args.target \
|
if args.target \
|
||||||
and args.action in args.pass_db \
|
and args.action in args.pass_db \
|
||||||
and not args.target in args.pass_targets:
|
and not args.target in args.pass_targets:
|
||||||
|
|
||||||
|
# Domain must be valid
|
||||||
|
domain.domain_needed()
|
||||||
|
|
||||||
uri_file = '%s/%s'%(in_dir, args.target)
|
uri_file = '%s/%s'%(in_dir, args.target)
|
||||||
uri_id = tyto.get_filesum(uri_file, False)
|
uri_id = tyto.get_filesum(uri_file, False)
|
||||||
|
|
||||||
|
|
|
@ -19,6 +19,7 @@
|
||||||
|
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
import os, sys, locale, importlib
|
import os, sys, locale, importlib
|
||||||
|
|
||||||
import logs, db, tyto, html
|
import logs, db, tyto, html
|
||||||
|
|
||||||
|
|
||||||
|
@ -83,6 +84,7 @@ def create_domain(target):
|
||||||
except KeyboardInterrupt:
|
except KeyboardInterrupt:
|
||||||
print('')
|
print('')
|
||||||
logs.out("255", '', True)
|
logs.out("255", '', True)
|
||||||
|
|
||||||
if ask:
|
if ask:
|
||||||
if not ask.startswith(valid_url):
|
if not ask.startswith(valid_url):
|
||||||
logs.out("2", '"%s" -> http(s)://...'%ask, True)
|
logs.out("2", '"%s" -> http(s)://...'%ask, True)
|
||||||
|
@ -235,6 +237,26 @@ def create_domain(target):
|
||||||
tyto.set_file(db.domain_conf, False, set_f)
|
tyto.set_file(db.domain_conf, False, set_f)
|
||||||
|
|
||||||
|
|
||||||
|
# RSS/Atom max items
|
||||||
|
#-------------------
|
||||||
|
try: domain_rssitems = db.domain_rssitems
|
||||||
|
except: domain_rssitems = "100"
|
||||||
|
|
||||||
|
ask = ''
|
||||||
|
try:
|
||||||
|
ask = input(' ├ Atom/RSS items to show ? {%s} '%domain_rssitems)
|
||||||
|
except KeyboardInterrupt:
|
||||||
|
print('')
|
||||||
|
logs.out("255", '', True)
|
||||||
|
|
||||||
|
if ask:
|
||||||
|
if not ask.isdigit(): logs.out("3", ask, True)
|
||||||
|
domain_rssitems = ask
|
||||||
|
|
||||||
|
set_f = 'domain_rssitems = "%s"'%domain_rssitems
|
||||||
|
tyto.set_file(db.domain_conf, False, set_f)
|
||||||
|
|
||||||
|
|
||||||
# Get title domain
|
# Get title domain
|
||||||
#-----------------
|
#-----------------
|
||||||
try: domain_title = db.domain_title
|
try: domain_title = db.domain_title
|
||||||
|
@ -246,6 +268,7 @@ def create_domain(target):
|
||||||
except KeyboardInterrupt:
|
except KeyboardInterrupt:
|
||||||
print('')
|
print('')
|
||||||
logs.out("255", '', True)
|
logs.out("255", '', True)
|
||||||
|
|
||||||
if ask: domain_title = ask
|
if ask: domain_title = ask
|
||||||
elif not domain_title: logs.out("255", '', True)
|
elif not domain_title: logs.out("255", '', True)
|
||||||
if '"' in domain_title:
|
if '"' in domain_title:
|
||||||
|
|
|
@ -18,6 +18,8 @@
|
||||||
#**********************************************************************
|
#**********************************************************************
|
||||||
|
|
||||||
import os, sys, shutil, importlib
|
import os, sys, shutil, importlib
|
||||||
|
from pathlib import Path
|
||||||
|
|
||||||
import logs, args, db, html, tyto, domain, stats, rss
|
import logs, args, db, html, tyto, domain, stats, rss
|
||||||
|
|
||||||
#==============================#
|
#==============================#
|
||||||
|
@ -160,34 +162,40 @@ 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 or show what to do
|
||||||
tyto.process_all('Publish')
|
tyto.process_all('Publish')
|
||||||
|
|
||||||
|
# Sort by newer articles (created by last check)
|
||||||
|
db_articles = sorted(Path(db.articles_db).iterdir(),
|
||||||
|
key=os.path.getmtime
|
||||||
|
)
|
||||||
|
|
||||||
# Load domain configuration DB
|
# Load domain configuration DB
|
||||||
option = args.target
|
option = args.target
|
||||||
found = False
|
found = False
|
||||||
for post_db in os.listdir(db.articles_db):
|
for post_db in db_articles:
|
||||||
if post_db.endswith('.conf'):
|
if not str(post_db).endswith('.conf'): continue
|
||||||
# Load DB
|
|
||||||
post_db = '%s%s'%(db.articles_db, post_db)
|
# Load DB
|
||||||
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: continue
|
if not db.hash_wip: continue
|
||||||
if option == "again" and not db.sync_srvs: continue
|
if option == "again" and not db.sync_srvs: continue
|
||||||
if option == "newer" and not db.old_www: continue
|
if option == "newer" and not db.old_www: continue
|
||||||
|
|
||||||
print(':> [%s] - %s'%(db.title, db.post_src))
|
print(':> [%s] - %s'%(db.title, db.post_src))
|
||||||
if db.old_chk:
|
if db.old_chk:
|
||||||
logs.out("9", '', False)
|
logs.out("9", '', False)
|
||||||
continue
|
continue
|
||||||
|
|
||||||
|
check_to_publish('all')
|
||||||
|
if err_pub: continue
|
||||||
|
|
||||||
|
found = True
|
||||||
|
publish_article()
|
||||||
|
|
||||||
check_to_publish('all')
|
|
||||||
if err_pub: continue
|
|
||||||
|
|
||||||
found = True
|
|
||||||
publish_article()
|
|
||||||
|
|
||||||
if not found:
|
if not found:
|
||||||
logs.out("28", '(publish)', True)
|
logs.out("28", '(publish)', True)
|
||||||
else:
|
else:
|
||||||
|
|
|
@ -58,14 +58,19 @@ def create_feed():
|
||||||
reverse=True
|
reverse=True
|
||||||
)
|
)
|
||||||
rss_item = False
|
rss_item = False
|
||||||
|
nbr_item = 0
|
||||||
# Loop published articles. Get databases of articles
|
# Loop published articles. Get databases of articles
|
||||||
for post_db in db_articles:
|
for post_db in db_articles:
|
||||||
if not str(post_db).endswith('.conf'): continue
|
if not str(post_db).endswith('.conf'): continue
|
||||||
|
|
||||||
# Load DB
|
# Load 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
|
||||||
|
|
||||||
rss_item = True
|
rss_item = True
|
||||||
|
nbr_item += 1
|
||||||
|
if nbr_item > int(db.domain_rssitems): break
|
||||||
|
|
||||||
set_f = \
|
set_f = \
|
||||||
'%s\n'%set_f + \
|
'%s\n'%set_f + \
|
||||||
'\n <item>\n' + \
|
'\n <item>\n' + \
|
||||||
|
|
|
@ -18,6 +18,8 @@
|
||||||
#**********************************************************************
|
#**********************************************************************
|
||||||
|
|
||||||
import os, re, sys, shutil, importlib
|
import os, re, sys, shutil, importlib
|
||||||
|
from pathlib import Path
|
||||||
|
|
||||||
import args, logs, db, tyto, html, domain, stats
|
import args, logs, db, tyto, html, domain, stats
|
||||||
|
|
||||||
|
|
||||||
|
@ -79,30 +81,36 @@ 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):
|
||||||
|
# Ask or show what to do
|
||||||
tyto.process_all('Wip')
|
tyto.process_all('Wip')
|
||||||
|
|
||||||
|
# Sort by newer articles (created by last check)
|
||||||
|
db_articles = sorted(Path(db.articles_db).iterdir(),
|
||||||
|
key=os.path.getmtime
|
||||||
|
)
|
||||||
|
|
||||||
# Load domain configuration DB
|
# Load domain configuration DB
|
||||||
option = args.target
|
option = args.target
|
||||||
found = False
|
found = False
|
||||||
for post_db in os.listdir(db.articles_db):
|
for post_db in db_articles:
|
||||||
if post_db.endswith('.conf'):
|
if not str(post_db).endswith('.conf'): continue
|
||||||
# Load DB
|
|
||||||
post_db = '%s%s'%(db.articles_db, post_db)
|
# Load DB
|
||||||
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: continue
|
if not db.hash_wip: continue
|
||||||
if option == "again" and db.old_wip: continue
|
if option == "again" and db.old_wip: continue
|
||||||
if option == "newer" and not db.old_wip: continue
|
if option == "newer" and not db.old_wip: continue
|
||||||
|
|
||||||
print(':> [%s] - %s'%(db.title, db.post_src))
|
print(':> [%s] - %s'%(db.title, db.post_src))
|
||||||
if db.old_chk:
|
if db.old_chk:
|
||||||
logs.out("9", '', False)
|
logs.out("9", '', False)
|
||||||
continue
|
continue
|
||||||
|
|
||||||
found = True
|
found = True
|
||||||
wip_article(db.post_src)
|
wip_article(db.post_src)
|
||||||
|
|
||||||
if not found: logs.out("28", '(wip)', True)
|
if not found: logs.out("28", '(wip)', True)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue