[PATCH 2 of 3 PoC] cli: add commands to handle front-end generation

Mads Kiilerich mads at kiilerich.com
Sun Sep 30 14:02:13 UTC 2018


On 9/26/18 9:34 PM, Thomas De Schampheleire wrote:
> Currently implemented CLI is as follows: 


Nice and helpful overview!


> kallithea config create
> kallithea frontend create
>
> and the specific commands that 'frontend create' is wrapping:


Should the sub-commands perhaps more be seen as optional parts of 
"create", and be controlled by passing options like --install-deps and 
--generate to the sub command create?

> kallithea frontend install-deps
> kallithea frontend generate-css


I think the css and js parts will be hard/wrong to separate. It should 
thus probably just be named something like 'generate' from the start?


> The way I saw the conversion of existing commands:
>
> kallithea cache-keys show        cache-keys --show
> kallithea cache-keys cleanup      cache-keys --cleanup
>
> kallithea celery run                      celeryd
>
> kallithea repo cleanup               cleanup-repos


('cleanup' is also badly named. Something like 'purge' or 
'purge-deleted' or 'purge-backups' seems more correct and intuitive.)

> kallithea repo scan                     repo-scan
> kallithea repo update-cache     update-repoinfo
> kallithea repo invalidate-cache   update-repoinfo --invalidatecache
> (Not exactly sure about the difference between both, to be discussed)
>
> kallithea iis install                         install-iis

(The two levels of sub-commands seem a bit redundant. But consistency is 
nice. Then, should it be "create" instead of "install"?)

> kallithea ishell                               ishell
>
> kallithea config create              make-config
>
> kallithea index create               make-index -f (full)
> kallithea index update              make-index    (parameters to this
> tool are unclear to me)
>
> kallithea extensions create       make-rcext
>
> kallithea db create                    setup-db

(I agree 'create' is better than 'setup'. But still not spot-on, as it 
doesn't really create the database - in only populates it with tables 
and initial data. That should probably just be clarified in documentation.)

> kallithea db upgrade                upgrade-db
>
> kallithea front-end create

(we need consistent spelling ;-) )

>>> +    subprocess.check_call(['npm', 'run', 'less'], cwd=rootdir)
>>> +
>>> + at frontend.command()
>>> + at click.pass_context
>>> +def create(ctx):
>>> +    """Create the front-end completely"""
>>> +    ctx.invoke(install_deps)
>>> +    ctx.invoke(generate_css)
> I was thinking that we maybe should make it more clear that the
> 'create' step is the master command that does everything, and the
> other steps are just for finer control for power users. Not sure how
> to do that best...

(discussed above)

/Mads




More information about the kallithea-general mailing list