Return-Path: X-Original-To: apmail-incubator-rat-commits-archive@minotaur.apache.org Delivered-To: apmail-incubator-rat-commits-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id A614D667C for ; Fri, 15 Jul 2011 16:38:22 +0000 (UTC) Received: (qmail 59878 invoked by uid 500); 15 Jul 2011 16:38:22 -0000 Delivered-To: apmail-incubator-rat-commits-archive@incubator.apache.org Received: (qmail 59848 invoked by uid 500); 15 Jul 2011 16:38:22 -0000 Mailing-List: contact rat-commits-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: rat-dev@incubator.apache.org Delivered-To: mailing list rat-commits@incubator.apache.org Received: (qmail 59841 invoked by uid 99); 15 Jul 2011 16:38:22 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 15 Jul 2011 16:38:22 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 15 Jul 2011 16:38:15 +0000 Received: from eris.apache.org (localhost [127.0.0.1]) by eris.apache.org (Postfix) with ESMTP id 0E23123888CE; Fri, 15 Jul 2011 16:37:54 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1147223 - /incubator/rat/eye/trunk/org/apache/rat/eye/cli.py Date: Fri, 15 Jul 2011 16:37:54 -0000 To: rat-commits@incubator.apache.org From: rdonkin@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20110715163754.0E23123888CE@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: rdonkin Date: Fri Jul 15 16:37:53 2011 New Revision: 1147223 URL: http://svn.apache.org/viewvc?rev=1147223&view=rev Log: Allow command line binding to be reused. Added: incubator/rat/eye/trunk/org/apache/rat/eye/cli.py - copied, changed from r1147216, incubator/rat/eye/trunk/apache-rat-eye-meta-inf.py Copied: incubator/rat/eye/trunk/org/apache/rat/eye/cli.py (from r1147216, incubator/rat/eye/trunk/apache-rat-eye-meta-inf.py) URL: http://svn.apache.org/viewvc/incubator/rat/eye/trunk/org/apache/rat/eye/cli.py?p2=incubator/rat/eye/trunk/org/apache/rat/eye/cli.py&p1=incubator/rat/eye/trunk/apache-rat-eye-meta-inf.py&r1=1147216&r2=1147223&rev=1147223&view=diff ============================================================================== --- incubator/rat/eye/trunk/apache-rat-eye-meta-inf.py (original) +++ incubator/rat/eye/trunk/org/apache/rat/eye/cli.py Fri Jul 15 16:37:53 2011 @@ -18,80 +18,41 @@ # """ -Scripts a basic report on META-INF. +Simple command line interface """ +import org.apache.rat.eye.engine + import os.path import sys -from org.apache.rat.eye import engine - -class Indent(): +class DirectoryReportRunner(): + """ + Runs a simple report about a directory. + """ + def __init__(self, checks, styles): + self.checks - def __init__(self, indent=""): - self.indent = indent + def run(args): + """ + :param args: (typically system) arguments + :type args: list + """ + if len(sys.argv) == 2: + self.report(sys.argv[1]) + else: + self.usage() - def __repr__(self): - return indent + def report(directory): + if os.path.exists(directory): + engine.report(self.base, self.checks, self.styles) + sys.exit(0) + else: + sys.stderr.write("Base directory '{0}' not found\n".format(base)) + usage() - def display(self, message): - if not (message is None): - print self.indent + message - - def report(self, reports): - if reports: - for report in reports: - print self.indent, " * ", report.name - if report.details: - for detail in report.details: - print self.indent, " | ", detail.rstrip() - print self.indent, " _ " - print "\n\n" - - def __add__(self, prefix): - return Indent(self.indent + prefix) - -class SimplePrintStyle(): - def present(self, resource, indent = Indent()): - indent.display(resource.moniker) - indent.report(resource.reports) - subindent = indent + " " - for sub in resource.subreports(): - self.present(sub, subindent) - -class Message(): - def __init__(self, name, details): - self.name = name - self.details = filter(None, details) - - def __repr__(self): - return "message:name=" + self.name + def usage(): + sys.stderr.write("Usage: \n") + sys.exit(1) -class MetaInfContents(): - def reviewMetaInf(self, metainf): - return Message("In META-INF", [os.path.basename(name) for name in metainf.keys()]) - -class SimpleMetaInfView(): - def reviewMetaInf(self, metainf): - return [Message(name, details) for name, details in metainf.iteritems()] - -def runBasicReport(base): - if os.path.exists(base): - metaInfReviews = [MetaInfContents(), SimpleMetaInfView()] - checks = [engine.MetaInfReviewer(metaInfReviews)] - styles = [SimplePrintStyle()] - engine.report(base, checks, styles) - sys.exit(0) - else: - sys.stderr.write("Base directory '{0}' not found\n".format(base)) - usage() - -def usage(): - sys.stderr.write("Usage: \n") - sys.exit(1) - -if len(sys.argv) == 2: - runBasicReport(sys.argv[1]) -else: - usage()