Browse Source

Fix command listing to work on pip package installs

pull/8/head
Luke Murphy 5 years ago
parent
commit
d9988a932c
No known key found for this signature in database GPG Key ID: 5E2EF5A63E3718CC
  1. 48
      bin/etherpump
  2. 1
      setup.py

48
bin/etherpump

@ -1,36 +1,46 @@
#!/usr/bin/env python3
import os
import sys
from importlib import import_module
from pathlib import Path
from etherpump import __VERSION__
def subcommands():
"""List all sub-commands for the `--help` output."""
not_sub_commands = ['common.py', 'appendmeta.py', 'html5tidy.py', 'join.py']
subcommands = []
all_files = os.listdir(Path().absolute() / 'etherpump' / 'commands')
modules = filter(
lambda file: not file.startswith('__')
and not any(file == module for module in not_sub_commands),
all_files,
)
for module in modules:
name = module.split('.py')[0]
output = []
subcommands = [
'creatediffhtml',
'deletepad',
'dumpcsv',
'gethtml',
'gettext',
'index',
'init',
'list',
'listauthors',
'publication',
'pull',
'revisionscount',
'sethtml',
'settext',
'showmeta',
]
for subcommand in subcommands:
try:
doc = import_module(f'etherpump.commands.{name}').__doc__
# http://stackoverflow.com/questions/301134/dynamic-module-import-in-python
doc = __import__(
"etherpump.commands.%s" % subcommand,
fromlist=["etherdump.commands"],
).__doc__
except ModuleNotFoundError:
doc = ""
subcommands.append(f' {name}: {doc}')
output.append(f' {subcommand}: {doc}')
subcommands.sort()
output.sort()
return '\n'.join(subcommands)
return '\n'.join(output)
usage = """

1
setup.py

@ -48,6 +48,7 @@ setup(
"python-dateutil",
"pypandoc",
"tqdm",
"requests",
],
classifiers=[
'Programming Language :: Python :: 3',

Loading…
Cancel
Save