This commit is contained in:
Cyrille L 2023-04-25 01:05:39 +02:00
parent 26a39155a0
commit 49ac069ae6
5 changed files with 136 additions and 91 deletions

View File

@ -2,7 +2,7 @@
Pour obtenir de l'aide, taper juste la commande tyto Pour obtenir de l'aide, taper juste la commande tyto
## Répertoire de code du projet Tyto ## Répertoire de code du projet Tyto
TODO https://git.a-lec.org/echolib/tyto-litterateur
## Comment définir les métas ## Comment définir les métas
``` ```
@ -51,8 +51,9 @@ abbr: abbrev
### Écrire des titres ### Écrire des titres
``` ```
# Les titres HTML vont de 1 à 6. # Les titres HTML vont de 1 à 6 mais h1 est utilisé pour afficher
# Utiliser #N, où N est entre 1 et 6. # le titre de l'article.
# Utiliser #N, où N est entre 1 et 5. (h+1 en HTML)
# Si du contenu existe entre les titres, une <div> est ajoutée # Si du contenu existe entre les titres, une <div> est ajoutée
# Source # Source

View File

@ -41,76 +41,81 @@ import infos
# tyto [action] [target] # tyto [action] [target]
#---------------------------- #----------------------------
actions = \ actions = \
( (
'check', 'check',
'edit', 'edit',
'edit-about', 'edit-about',
'edit-db', 'edit-db',
'edit-wip', 'edit-wip',
'edit-www', 'edit-www',
'help', 'new',
'new', 'show',
'show', 'show-about',
'show-about', 'show-db',
'show-db', 'show-wip',
'show-wip', 'show-www',
'show-www', 'status',
'status', 'wip',
'wip', 'publish'
'publish' )
)
option = \ option = \
( (
'--static', '--static',
) )
pass_actions = ('new') pass_actions = ('new')
# Actions that needs to check for article's database # Actions that needs to check for article's database
pass_db = \ pass_db = \
( (
'check', 'check',
'edit', 'edit',
'edit-db', 'edit-db',
'edit-wip', 'edit-wip',
'edit-www', 'edit-www',
'publish', 'publish',
'show', 'show',
'show-about', 'show-about',
'show-db', 'show-db',
'show-wip', 'show-wip',
'show-www', 'show-www',
'status', 'status',
'wip', 'wip',
) )
pass_targets = \ pass_targets = \
( (
'added', 'added',
'again', 'again',
'updated', 'updated',
'domain', 'domain',
'footer', 'footer',
'metas', 'metas',
'navbar', 'navbar',
'sidebar', 'sidebar',
'stats', 'stats',
'template' 'template'
) )
pass_status = \ pass_status = \
( (
'domain', 'domain',
) )
multi_chk = ('added', 'again', 'updated') multi_chk = \
(
'added',
'again',
'updated'
)
''' helps = \
action = '' (
target = '' 'domains',
option = '' 'version',
''' 'help'
)
# action # action
@ -120,19 +125,27 @@ except: action = ''
# With no argument, show help # With no argument, show help
if not action: if not action:
infos.tyto(target) infos.tyto('full')
sys.exit(0) sys.exit(0)
elif action in helps:
infos.tyto(action)
# Unused argument [action] # Unused argument [action]
if action in actions: act_err = False elif action in actions:
else: act_err = True act_err = False
else:
act_err = True
# target # target
#------- #-------
try: target = sys.argv[2] try:
except: target = '' target = sys.argv[2]
except:
infos.tyto('full')
sys.exit(0)
# option # option
try: option = sys.argv[3] try: option = sys.argv[3]

View File

@ -33,7 +33,7 @@
#********************************************************************** #**********************************************************************
import os, importlib import os, sys, importlib
import langs import langs
importlib.reload(langs) importlib.reload(langs)
@ -43,9 +43,11 @@ CR = '\033[1;31m'
CY = '\033[1;33m' CY = '\033[1;33m'
CG = '\033[1;32m' CG = '\033[1;32m'
def tyto(target):
noinfos = False
#
# Show Version
#
def version():
# Show Version # Show Version
tytobin = open('/usr/bin/tyto').read() tytobin = open('/usr/bin/tyto').read()
for line in tytobin.rsplit('\n'): for line in tytobin.rsplit('\n'):
@ -54,6 +56,10 @@ def tyto(target):
break break
#==========================================#
# List all found domain in local directory #
#------------------------------------------"
def list_domains():
# Show domains list # Show domains list
try: try:
has_domains = True has_domains = True
@ -68,34 +74,56 @@ def tyto(target):
print('! No directory > %s/'%db_domains) print('! No directory > %s/'%db_domains)
if has_domains: if has_domains:
list_domains = (())
for folder in os.listdir(db_domains): for folder in os.listdir(db_domains):
domain_local_uri = '%s/%s'%(db_domains, folder) domain_local_uri = '%s/%s'%(db_domains, folder)
if os.path.isdir(domain_local_uri): if os.path.isdir(domain_local_uri):
line = ' - %s >'%folder
# Check configuration file and load
domain_conf = '%s/domain_config.bkp'%domain_local_uri domain_conf = '%s/domain_config.bkp'%domain_local_uri
if os.path.exists(domain_conf): if not os.path.exists(domain_conf):
line = '%s %sUnknown%s ?'%(line, CR, CS)
else:
try: try:
exec(open(domain_conf).read(),globals()) exec(open(domain_conf).read(),globals())
line = '%s %sConfig%s > '%(line, CG, CS)
except: except:
continue pass
try:
if os.path.exists(directory): if os.path.exists(directory):
dir_domain = '%s%s%s'%(CG, directory, CS) line = '%s %s%s%s'%(line, CG, directory, CS)
else: else:
dir_domain = '%s%s%s'%(CR, directory, CS) line = '%s %s%s%s'%(line, CR, directory, CS)
list_domains = \ except:
(('%s > %s > %s'%(folder, dir_domain, www_url)),) line = '%s %sNo root%s > '%(line, CR, CS)
if list_domains: try:
print('# %s %ss %s'%( line = '%s %s'%(line, www_url)
langs.site.reg_domains, except:
langs.site.fo, line = '%s %sNo URL%s > '%(line, CR, CS)
user
)
)
for domain in list_domains:
print(' - %s'%domain)
print(line)
# Show arguments help #
# --help [full]
#
def tyto(target):
if target == "full":
version()
list_domains()
print(langs.site.args_helps) print(langs.site.args_helps)
elif target == 'help':
print(langs.site.args_helps)
elif target == 'domains':
list_domains()
elif target == 'version':
version()
sys.exit(0)

View File

@ -273,6 +273,7 @@ args_helps = """\n# New domain :
new : [domain] Créer un domaine ou le modifier via le formulaire new : [domain] Créer un domaine ou le modifier via le formulaire
[sidebar, navbar, footer, metas] Create and replace [sidebar, navbar, footer, metas] Create and replace
with default module configuration file with default module configuration file
[filename] (no .tyto) Create article in current folder
# Show contents file (with line number) # Show contents file (with line number)
show : Show source file, source configuration module show : Show source file, source configuration module

View File

@ -274,6 +274,8 @@ args_helps = """\n# Nouveau domaine :
new : [domain] Créer un domaine ou le modifier via le formulaire new : [domain] Créer un domaine ou le modifier via le formulaire
[sidebar, navbar, footer, metas] Créer ou remplacer le [sidebar, navbar, footer, metas] Créer ou remplacer le
fichier de configuration du module par le défaut fichier de configuration du module par le défaut
[filename] (sans .tyto) Créer un article dans le
dossier actuel
# Afficher un fichier (avec numéros de ligne) # Afficher un fichier (avec numéros de ligne)
show : Fichier source, module de configuration show : Fichier source, module de configuration