add useful script for man pages (.pod format) generation

This commit is contained in:
Fabio Erculiani
2009-04-23 13:06:55 +02:00
parent 2cca2b7a26
commit bbc7239baf

156
docs/man/gen_manopts.py Executable file
View File

@@ -0,0 +1,156 @@
#!/usr/bin/python2
def _(x):
return x
myopts = [
(1,'smart',2,_('handles extended functionalities')),
(2,'application',1,_('make a smart application for the provided atoms (experimental)')),
(3,'--empty',2,_('pull all the dependencies in, regardless their state')),
(2,'package',2,_('make a smart package for the provided atoms (multiple packages into one file)')),
(2,'quickpkg',1,_('recreate an Entropy package from your System')),
(3,'--savedir',1,_('save new packages into the specified directory')),
(2,'inflate',2,_('convert provided Gentoo .tbz2s into Entropy packages (Portage needed)')),
(3,'--savedir',1,_('save new packages into the specified directory')),
(2,'deflate',2,_('convert provided Entropy packages into Gentoo ones (Portage needed)')),
(3,'--savedir',1,_('save new packages into the specified directory')),
(2,'extract',2,_('extract Entropy metadata from provided .tbz2 packages')),
(3,'--savedir',1,_('save new metadata into the specified directory')),
(1,'database',1,_('handles installed packages database')),
(2,'check',2,_('check System Database for errors')),
(2,'vacuum',2,_('remove System Database internal indexes to save space')),
(2,'generate',1,'generate installed packages database using Portage database (Portage needed)'),
(2,'resurrect',1,_('generate installed packages database using files on the system [last hope]')),
(2,'depends',2,_('regenerate depends caching table')),
(2,'counters',1,_('update/generate counters table (Portage <-> Entropy packages table)')),
(2,'gentoosync',1,_('makes Entropy aware of your Portage-updated packages')),
(2,'backup',2,_('backup the current Entropy installed packages database')),
(2,'restore',2,_('restore a previously backed up Entropy installed packages database')),
(1,'packages',1,_('handles packages helper applications')),
(2,'python-updater',1,_('migrate all Python modules to the latest installed version')),
(2,'--ask',2,_('ask before making any changes')),
(2,'--pretend',1,_('just show what would be done')),
(1,'community',1,_('handles community-side features')),
(2,'repos',2,_('community repositories management functions')),
(3,'update',3,_('scan the System looking for newly compiled packages')),
(4,'--branch=<branch>',1,_('choose on what branch operating')),
(4,'--seekstore',2,_('analyze the Entropy Store directory directly')),
(4,'--repackage <atoms>',1,_('repackage the specified atoms')),
(4,'--noask',3,_('do not ask anything except critical things')),
(4,'--atoms <atoms>',1,_('manage only the specified atoms')),
(3,'inject <packages>',1,_('add binary packages to repository w/o affecting scopes (multipackages)')),
(4,'--branch=<branch>',1,_('choose on what branch operating')),
(2,'mirrors',2,_('community repositories mirrors management functions')),
(3,'sync',3,_('sync packages, database and also do some tidy')),
(4,'--branch=<branch>',1,_('choose on what branch operating')),
(4,'--noask',3,_('do not ask anything except critical things')),
(4,'--syncall',2,_('sync all the configured repositories')),
(3,'packages-sync',2,_('sync packages across primary mirrors')),
(4,'--ask',3,_('ask before making any changes')),
(4,'--pretend',2,_('only show what would be done')),
(4,'--syncall',2,_('sync all the configured repositories')),
(4,'--do-packages-check',1,_('also verify packages integrity')),
(3,'db-sync',3,_('sync the current repository database across primary mirrors')),
(4,'--syncall',2,_('sync all the configured repositories')),
(3,'db-lock',3,_('lock the current repository database (server-side)')),
(3,'db-unlock',2,_('unlock the current repository database (server-side)')),
(3,'db-download-lock',1,_('lock the current repository database (client-side)')),
(3,'db-download-unlock',1,_('unlock the current repository database (client-side)')),
(3,'db-lock-status',2,_('show current lock status')),
(3,'tidy',3,_('remove binary packages not in repositories and expired')),
(2,'database',1,_('community repositories database functions')),
(3,'--initialize',2,_('(re)initialize the current repository database')),
(4,'--empty',3,_('do not refill database using packages on mirrors')),
(4,'--repo=<repo>',2,_('(re)create the database for the specified repository')),
(3,'bump',3,_('manually force a revision bump for the current repository database')),
(4,'--sync',3,_('synchronize the database')),
(3,'remove',3,_('remove the provided atoms from the current repository database')),
(4,'--branch=<branch>',1,_('choose on what branch operating')),
(3,'multiremove',2,_('remove the provided injected atoms (all if no atom specified)')),
(4,'--branch=<branch>',1,_('choose on what branch operating')),
(3,'create-empty-database',1,_('create an empty repository database in the provided path')),
(3,'switchbranch <from branch> <to branch>',2,_('switch to the specified branch the provided atoms (or world)')),
(3,'md5check',2,_('verify integrity of the provided atoms (or world)')),
(3,'md5remote',2,_('verify remote integrity of the provided atoms (or world)')),
(3,'backup',2,_('backup current repository database')),
(3,'restore',2,_('restore a previously backed-up repository database')),
(2,'repo',2,_('manage a repository')),
(3,'enable <repo>',3,_('enable the specified repository')),
(3,'disable <repo>',3,_('disable the specified repository')),
(3,'status <repo>',3,_('show the current Server Interface status')),
(3,'manual-deps <repo> [atoms]',1,_('handle packages manual dependencies')),
(3,'package-tag <repo> <tag-string> [atoms]',1,_('clone a package inside a repository assigning it an arbitrary tag')),
(3,'move <from> <to> [atoms]',1,_('move packages from a repository to another')),
(3,'copy <from> <to> [atoms]',1,_('copy packages from a repository to another')),
(3,'default <repo_id>',2,_('set the default repository')),
(2,'query',2,_('do some searches into community repository databases')),
(3,'belongs',3,_('show from what package the provided files belong')),
(3,'changelog',2,_('show packages changelog')),
(3,'depends',3,_('show what packages depend on the provided atoms')),
(3,'description',2,_('search packages by description')),
(3,'eclass',3,_('search packages using the provided eclasses')),
(3,'files',3,_('show files owned by the provided atoms')),
(3,'list',3,_('list all the packages in the default repository')),
(3,'needed',3,_('show runtime libraries needed by the provided atoms')),
(3,'search',3,_('search packages inside the default repository database')),
(3,'sets',3,_('search available package sets')),
(3,'tags',3,_('show packages owning the specified tags')),
(3,'--verbose',2,_('show more details')),
(3,'--quiet',3,_('print results in a scriptable way')),
(2,'spm',2,_('source package manager functions')),
(3,'compile',2,_('compilation function')),
(4,'categories',1,_('compile packages belonging to the provided categories')),
(5,'--list',1,_('just list packages')),
(4,'pkgset',2,_('compile packages in provided package set names')),
(5,'--list',1,_('just list packages')),
(5,'--rebuild',1,_('rebuild everything')),
(5,'--dbupdate',1,_('run database update if all went fine')),
(5,'--dbsync',1,_('run mirror sync if all went fine')),
(3,'orphans',2,_('scan orphaned packages on SPM')),
(2,'notice',2,_('notice board handling functions')),
(3,'add',3,_('add a news item to the notice board')),
(3,'remove',3,_('remove a news item from the notice board')),
(3,'read',3,_('read the current notice board')),
(2,'deptest',2,_('look for unsatisfied dependencies across community repositories')),
(2,'depends',2,_('regenerate the depends table')),
(1,'ugc',2,_('handles User Generated Content features')),
(2,'login <repository>',1,_('login against a specified repository')),
(2,'logout <repository>',1,_('logout from a specified repository')),
(3,'--force',3,_('force action')),
(2,'documents <repository>',1,_('manage package documents for the selected repository (comments, files, videos)')),
(3,'get <pkgkey>',2,_('get available documents for the specified package key (example: x11-libs/qt)')),
(3,'add <pkgkey>',2,_('add a new document to the specified package key (example: x11-libs/qt)')),
(3,'remove <docs ids>',1,_('remove documents from database using their identifiers')),
(2,'vote <repository>',1,_('manage package votes for the selected repository')),
(3,'get <pkgkey>',2,_('get vote for the specified package key (example: x11-libs/qt)')),
(3,'add <pkgkey>',2,_('add vote for the specified package key (example: x11-libs/qt)')),
(1,'cache',2,_('handles Entropy cache')),
(2,'clean',2,_('clean Entropy cache')),
(2,'generate',1,_('regenerate Entropy cache')),
(2,'--verbose',1,_('show more details')),
(2,'--quiet',2,_('print results in a scriptable way')),
(1,'cleanup',2,_('remove downloaded packages and clean temp. directories')),
(1,'--info',2,_('show system information')),
]
old_indent_level = 1
for indent_level, name, space_level, desc in myopts:
if indent_level > old_indent_level:
print "\n=over\n"*(indent_level-old_indent_level)
old_indent_level = indent_level
elif indent_level < old_indent_level:
print "\n=back\n"*(old_indent_level-indent_level)
old_indent_level = indent_level
print """
=item B<%s>
%s""" % (name, desc,)