Mercurial > hg > mercurial
view mercurial-common/src/python/load-commands-command.py @ 828:8d02c7b1f812
use HG extension to pass infinite commandline arguments list
author | eugene.petrenko@jetbrains.com |
---|---|
date | Fri, 30 May 2014 17:29:51 +0200 |
parents | |
children | ef19cc8d5bc1 |
line wrap: on
line source
#!/usr/bin/env python ## ## Copyright 2000-2014 JetBrains ## ## Licensed under the Apache License, Version 2.0 (the "License"); ## you may not use this file except in compliance with the License. ## You may obtain a copy of the License at ## ## http://www.apache.org/licenses/LICENSE-2.0 ## ## Unless required by applicable law or agreed to in writing, software ## distributed under the License is distributed on an "AS IS" BASIS, ## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ## See the License for the specific language governing permissions and ## limitations under the License. ## ## ## http://www.gnu.org/licenses/gpl-faq.html#GPLModuleLicense ## http://www.gnu.org/licenses/license-list.html#apache2 ## http://en.wikipedia.org/wiki/Apache_License#GPL_compatibility ## ## """ load-commands-command """ import codecs from mercurial import dispatch def loadArguments(ui, params_file): file_commands = [] ui.write("Parameters from the file (one by line):\n") with codecs.open(params_file, "r", "utf-8") as f: for _line in f: line = _line.strip() if len(line) <= 0: continue ui.write(" " + line + "\n") file_commands.append(line) return file_commands def load_commands_command(ui, repo, params_file, *pats, **opts): ui.write("Staring command with arguments from " + params_file + "\n") command_arguments = loadArguments(ui, params_file) ui.write("\nRunning the command...\n\n") return dispatch.dispatch(dispatch.request(command_arguments)) #so here goes command registration and options cmdtable = { "CMD": (load_commands_command, [ ], "params_file [foo]...") } testedwith = '2.2.2' buglink = "@jonnyzzz"