summaryrefslogtreecommitdiff
path: root/pyreverse/main.py
diff options
context:
space:
mode:
authorClaudiu Popa <cpopa@cloudbasesolutions.com>2015-02-17 01:09:04 +0200
committerClaudiu Popa <cpopa@cloudbasesolutions.com>2015-02-17 01:09:04 +0200
commitd00adfbdc7b77280f6a7c97e39cb882b853da1d8 (patch)
tree26722500b372c31cda2f8e49701fe5735171684b /pyreverse/main.py
parentfe36ec0486cfc9aba10d8d87b0f42077ad1e78db (diff)
parent1dc09ef472a1bc0ca312c7cd8a1a3c700b510b47 (diff)
downloadpylint-d00adfbdc7b77280f6a7c97e39cb882b853da1d8.tar.gz
The HTML output accepts the `--msg-template` option.
Patch by Daniel Goldsmith. Closes issue #135.
Diffstat (limited to 'pyreverse/main.py')
-rw-r--r--pyreverse/main.py124
1 files changed, 0 insertions, 124 deletions
diff --git a/pyreverse/main.py b/pyreverse/main.py
deleted file mode 100644
index 7801835..0000000
--- a/pyreverse/main.py
+++ /dev/null
@@ -1,124 +0,0 @@
-# # Copyright (c) 2000-2013 LOGILAB S.A. (Paris, FRANCE).
-# http://www.logilab.fr/ -- mailto:contact@logilab.fr
-#
-# This program is free software; you can redistribute it and/or modify it under
-# the terms of the GNU General Public License as published by the Free Software
-# Foundation; either version 2 of the License, or (at your option) any later
-# version.
-#
-# This program is distributed in the hope that it will be useful, but WITHOUT
-# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
-# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License along with
-# this program; if not, write to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-"""
- %prog [options] <packages>
-
- create UML diagrams for classes and modules in <packages>
-"""
-
-import sys, os
-from logilab.common.configuration import ConfigurationMixIn
-from astroid.manager import AstroidManager
-from astroid.inspector import Linker
-
-from pylint.pyreverse.diadefslib import DiadefsHandler
-from pylint.pyreverse import writer
-from pylint.pyreverse.utils import insert_default_options
-
-OPTIONS = (
-("filter-mode",
- dict(short='f', default='PUB_ONLY', dest='mode', type='string',
- action='store', metavar='<mode>',
- help="""filter attributes and functions according to
- <mode>. Correct modes are :
- 'PUB_ONLY' filter all non public attributes
- [DEFAULT], equivalent to PRIVATE+SPECIAL_A
- 'ALL' no filter
- 'SPECIAL' filter Python special functions
- except constructor
- 'OTHER' filter protected and private
- attributes""")),
-
-("class",
-dict(short='c', action="append", metavar="<class>", dest="classes", default=[],
- help="create a class diagram with all classes related to <class>;\
- this uses by default the options -ASmy")),
-
-("show-ancestors",
-dict(short="a", action="store", metavar='<ancestor>', type='int',
- help='show <ancestor> generations of ancestor classes not in <projects>')),
-("all-ancestors",
-dict(short="A", default=None,
- help="show all ancestors off all classes in <projects>")),
-("show-associated",
-dict(short='s', action="store", metavar='<ass_level>', type='int',
- help='show <ass_level> levels of associated classes not in <projects>')),
-("all-associated",
-dict(short='S', default=None,
- help='show recursively all associated off all associated classes')),
-
-("show-builtin",
-dict(short="b", action="store_true", default=False,
- help='include builtin objects in representation of classes')),
-
-("module-names",
-dict(short="m", default=None, type='yn', metavar='[yn]',
- help='include module name in representation of classes')),
-# TODO : generate dependencies like in pylint
-#("package-dependencies",
-#dict(short="M", action="store", metavar='<package_depth>', type='int',
- #help='show <package_depth> module dependencies beyond modules in \
-#<projects> (for the package diagram)')),
-("only-classnames",
-dict(short='k', action="store_true", default=False,
- help="don't show attributes and methods in the class boxes; \
-this disables -f values")),
-("output", dict(short="o", dest="output_format", action="store",
- default="dot", metavar="<format>",
- help="create a *.<format> output file if format available.")),
-)
-# FIXME : quiet mode
-#( ('quiet',
- #dict(help='run quietly', action='store_true', short='q')), )
-
-class Run(ConfigurationMixIn):
- """base class providing common behaviour for pyreverse commands"""
-
- options = OPTIONS
-
- def __init__(self, args):
- ConfigurationMixIn.__init__(self, usage=__doc__)
- insert_default_options()
- self.manager = AstroidManager()
- self.register_options_provider(self.manager)
- args = self.load_command_line_configuration()
- sys.exit(self.run(args))
-
- def run(self, args):
- """checking arguments and run project"""
- if not args:
- print self.help()
- return 1
- # insert current working directory to the python path to recognize
- # dependencies to local modules even if cwd is not in the PYTHONPATH
- sys.path.insert(0, os.getcwd())
- try:
- project = self.manager.project_from_files(args)
- linker = Linker(project, tag=True)
- handler = DiadefsHandler(self.config)
- diadefs = handler.get_diadefs(project, linker)
- finally:
- sys.path.pop(0)
-
- if self.config.output_format == "vcg":
- writer.VCGWriter(self.config).write(diadefs)
- else:
- writer.DotWriter(self.config).write(diadefs)
- return 0
-
-
-if __name__ == '__main__':
- Run(sys.argv[1:])