You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@creadur.apache.org by rd...@apache.org on 2008/06/29 11:06:30 UTC
svn commit: r672611 - in /incubator/rat/main/trunk/scan/src:
main/org/apache/rat/scan/ test/org/apache/rat/scan/diff/
Author: rdonkin
Date: Sun Jun 29 02:06:30 2008
New Revision: 672611
URL: http://svn.apache.org/viewvc?rev=672611&view=rev
Log:
Change diff to output xhtml
Added:
incubator/rat/main/trunk/scan/src/test/org/apache/rat/scan/diff/
incubator/rat/main/trunk/scan/src/test/org/apache/rat/scan/diff/audit-2008-06-01.html
incubator/rat/main/trunk/scan/src/test/org/apache/rat/scan/diff/audit-2008-06-28.html
Modified:
incubator/rat/main/trunk/scan/src/main/org/apache/rat/scan/connect.py
incubator/rat/main/trunk/scan/src/main/org/apache/rat/scan/diff.py
incubator/rat/main/trunk/scan/src/main/org/apache/rat/scan/tests.py
Modified: incubator/rat/main/trunk/scan/src/main/org/apache/rat/scan/connect.py
URL: http://svn.apache.org/viewvc/incubator/rat/main/trunk/scan/src/main/org/apache/rat/scan/connect.py?rev=672611&r1=672610&r2=672611&view=diff
==============================================================================
--- incubator/rat/main/trunk/scan/src/main/org/apache/rat/scan/connect.py (original)
+++ incubator/rat/main/trunk/scan/src/main/org/apache/rat/scan/connect.py Sun Jun 29 02:06:30 2008
@@ -120,5 +120,5 @@
if latestDiffs == None:
print "First run so skipping comparison "
else:
- save(diff_file, addPreamble(latestDiffs))
+ save(diff_file, toXhtmlDocument(latestDiffs))
\ No newline at end of file
Modified: incubator/rat/main/trunk/scan/src/main/org/apache/rat/scan/diff.py
URL: http://svn.apache.org/viewvc/incubator/rat/main/trunk/scan/src/main/org/apache/rat/scan/diff.py?rev=672611&r1=672610&r2=672611&view=diff
==============================================================================
--- incubator/rat/main/trunk/scan/src/main/org/apache/rat/scan/diff.py (original)
+++ incubator/rat/main/trunk/scan/src/main/org/apache/rat/scan/diff.py Sun Jun 29 02:06:30 2008
@@ -107,7 +107,7 @@
and document.ripemd == self.ripemd)
def summaryXml(self):
- return '<document name="' + self.name + '" dir="' + self.dir + '"/>'
+ return "<li class='resource'>" + self.name + '<li/>'
def document(dir, name, md5, sha, ripemd):
result = Document(dir)
@@ -214,14 +214,14 @@
try:
documents = Documents()
documents.load(f.read())
- if not documents.on == name[-14:-4]:
+ if not documents.on == name[-15:-5]:
raise InvalidDocument('Document date does not match file date. File: ' + file)
return documents
finally:
f.close()
def latest(self):
- xmlDocuments = filter(lambda x:x.endswith('.xml') and x.startswith(self.prefix), os.listdir(self.basedir))
+ xmlDocuments = filter(lambda x:x.endswith('.html') and x.startswith(self.prefix), os.listdir(self.basedir))
xmlDocuments.sort()
return map(self.load, xmlDocuments[-2:])
@@ -232,11 +232,34 @@
else:
return None
+ def toXml(self, documents):
+ result = ""
+ for dir, documentsInDir in dict((dir, filter(lambda doc: doc.dir == dir, documents)) for dir in set([document.dir for document in documents])).iteritems():
+ result = result + "<li class='dir'>" + dir + "<ul>"
+ for document in sorted(documentsInDir):
+ result = result + "<li class='resource'>" + document.name + "</li>"
+ result = result + "</ul></li>"
+ return result
+
def diffs(self, one, two):
+ result = "<div class='diff'><h1>From <a href='" + self.prefix + "-" + two.on + ".html' class='start-date'>"+ two.on + "</a> Till <a href='" + self.prefix + "-" + one.on + ".html' class='end-date'>" + one.on + '</a></h1>'
added, removed, modified = one.compare(two)
- toXml = lambda a, name: simpleElement(name, reduce(lambda b, c: b + c, map(lambda x: x.summaryXml(), a), ''))
- diff = toXml(added, 'added') + toXml(modified, 'modified') + toXml(removed, 'missing')
- return '<changes from="' + two.on + '" to="' + one.on + '">' + diff + '</changes>'
+
+ result = result + "<h2>Added Resources</h2><ul class='added'>"
+ result = result + self.toXml(added)
+ result = result + "</ul>"
+
+ result = result + "<h2>Modified Resources</h2><ul class='modified'>"
+ result = result + self.toXml(modified)
+ result = result + "</ul>"
+
+ result = result + "<h2>Removed Resources</h2><ul class='deleted'>"
+ result = result + self.toXml(removed)
+ result = result + "</ul>"
+
+# toXml = lambda a, name: simpleElement(name, reduce(lambda b, c: b + c, map(lambda x: x.summaryXml(), a), ''))
+# diff = toXml(added, 'added') + toXml(modified, 'modified') + toXml(removed, 'missing')
+ return result + '</div>'
def simpleElement(element, body):
return startTag(element) + body + endTag(element)
Modified: incubator/rat/main/trunk/scan/src/main/org/apache/rat/scan/tests.py
URL: http://svn.apache.org/viewvc/incubator/rat/main/trunk/scan/src/main/org/apache/rat/scan/tests.py?rev=672611&r1=672610&r2=672611&view=diff
==============================================================================
--- incubator/rat/main/trunk/scan/src/main/org/apache/rat/scan/tests.py (original)
+++ incubator/rat/main/trunk/scan/src/main/org/apache/rat/scan/tests.py Sun Jun 29 02:06:30 2008
@@ -198,4 +198,12 @@
self.scanner = scanner.Scanner(TEST_BASE_DIR + "scanner/", "NOW")
def testScan(self):
- self.assertEquals(SCANNER_OUT, self.scanner.scan())
\ No newline at end of file
+ self.assertEquals(SCANNER_OUT, self.scanner.scan())
+
+
+class ScanDocumentTest(unittest.TestCase):
+ def setUp(self):
+ self.auditor = diff.Auditor(TEST_BASE_DIR + "diff/", "audit")
+
+ def testLatestDiff(self):
+ self.assertEquals("<div class='diff'><h1>From <a href='audit-2008-06-01.html' class='start-date'>2008-06-01</a> Till <a href='audit-2008-06-28.html' class='end-date'>2008-06-28</a></h1><h2>Added Resources</h2><ul class='added'><li class='dir'>scanner/sub/deep<ul><li class='resource'>HamletNot.txt</li></ul></li></ul><h2>Modified Resources</h2><ul class='modified'><li class='dir'>scanner/sub/deep<ul><li class='resource'>JuliusCaesar</li></ul></li></ul><h2>Removed Resources</h2><ul class='deleted'><li class='dir'>scanner/sub/deep<ul><li class='resource'>Hamlet.txt</li></ul></li></ul></div>", self.auditor.latestDiffs())
\ No newline at end of file
Added: incubator/rat/main/trunk/scan/src/test/org/apache/rat/scan/diff/audit-2008-06-01.html
URL: http://svn.apache.org/viewvc/incubator/rat/main/trunk/scan/src/test/org/apache/rat/scan/diff/audit-2008-06-01.html?rev=672611&view=auto
==============================================================================
--- incubator/rat/main/trunk/scan/src/test/org/apache/rat/scan/diff/audit-2008-06-01.html (added)
+++ incubator/rat/main/trunk/scan/src/test/org/apache/rat/scan/diff/audit-2008-06-01.html Sun Jun 29 02:06:30 2008
@@ -0,0 +1,83 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<!--
+ 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.
+
+-->
+<head>
+<title>Audited On 2008-06-01</title>
+</head>
+<body>
+<p>Audit ran on <span class='created'>2008-06-01</span></p>
+<div class='audit'>
+<p>At <span class='at'>2008-06-01T17:32:28.403466</span> started to
+scan root <span class='base-dir'>/www/www.apache.org/dist/incubator</span>
+</p>
+<p>Artifacts by directory:</p>
+<ul>
+ <li><span class='dir'>scanner</span>
+ <ul>
+ <li><a name='scanner/HenryV.txt' class='resource'>HenryV.txt</a>
+ <dl>
+ <dt>md5</dt>
+ <dd class='md5'>c81f4cd3b2203ae869b8c6acea6bf73c</dd>
+ <dt>sha</dt>
+ <dd class='sha'>2ae73f5cfe7943a7d51b46e653948af7f067a6b01e61c827201c8e17b9231956f48b3e8e0da64e822ca9fdeb7a62f5af623406e2dbb9b39a8dabf569d2046402</dd>
+ <dt>ripe</dt>
+ <dd class='ripe'>4b0a5f9317e0d3165ea4982f90e7266a553d8353</dd>
+ </dl>
+ </li>
+ <li><a name='scanner/RichardIII.txt' class='resource'>RichardIII.txt</a>
+ <dl>
+ <dt>md5</dt>
+ <dd class='md5'>911bade3f0bcdb652f1331fb19d7bf07</dd>
+ <dt>sha</dt>
+ <dd class='sha'>3fd5d26bbbea1dfddeeab642bffd0d7fbdc6c4ed0d06faae3283e1e7b220d943200048630663c6a33e7cbd26fceab585920cd77d3481ce4dfa209b5000ccd4de</dd>
+ <dt>ripe</dt>
+ <dd class='ripe'>30ddc78d8bf08ef52ec8a7a8f7553c27931a6d0d</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+ <li><span class='dir'>scanner/sub</span>
+ <ul></ul>
+ </li>
+ <li><span class='dir'>scanner/sub/deep</span>
+ <ul>
+ <li><a name='scanner/sub/deep/Hamlet.txt' class='resource'>Hamlet.txt</a>
+ <dl>
+ <dt>md5</dt>
+ <dd class='md5'>1ccce242df4a39d25057aebed53be182</dd>
+ <dt>sha</dt>
+ <dd class='sha'>2b92d82dcd9db3a3142f1bd1522d0a3818555edfb3fd579d80e3b7ebc67adb8fb73db0185ccdc72704294005fb3830529e8962715f2dbfa7da0bb0553abb573a</dd>
+ <dt>ripe</dt>
+ <dd class='ripe'>307a14094c28da7a46f894ed10eb732fb4d0f199</dd>
+ </dl>
+ </li>
+ <li><a name='scanner/sub/deep/JuliusCaesar' class='resource'>JuliusCaesar</a>
+ <dl>
+ <dt>md5</dt>
+ <dd class='md5'>0ef9754818b94baecca3596b43eb0753</dd>
+ <dt>sha</dt>
+ <dd class='sha'>54184034009fc6b4e0dadfb0e14a1bad9c4c03791a982c4a7111dc7e4596164c1ca3dc49ec37c6081daf2bcd59d73a6c085beb1203b667066b77b58731f72460</dd>
+ <dt>ripe</dt>
+ <dd class='ripe'>0aa5485c5b892be83910fae34c304c1ac41240ec</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ul>
+</div>
+</body>
+</html>
Added: incubator/rat/main/trunk/scan/src/test/org/apache/rat/scan/diff/audit-2008-06-28.html
URL: http://svn.apache.org/viewvc/incubator/rat/main/trunk/scan/src/test/org/apache/rat/scan/diff/audit-2008-06-28.html?rev=672611&view=auto
==============================================================================
--- incubator/rat/main/trunk/scan/src/test/org/apache/rat/scan/diff/audit-2008-06-28.html (added)
+++ incubator/rat/main/trunk/scan/src/test/org/apache/rat/scan/diff/audit-2008-06-28.html Sun Jun 29 02:06:30 2008
@@ -0,0 +1,83 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<!--
+ 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.
+
+-->
+<head>
+<title>Audited On 2008-06-28</title>
+</head>
+<body>
+<p>Audit ran on <span class='created'>2008-06-28</span></p>
+<div class='audit'>
+<p>At <span class='at'>2008-06-28T17:32:28.403466</span> started to
+scan root <span class='base-dir'>/www/www.apache.org/dist/incubator</span>
+</p>
+<p>Artifacts by directory:</p>
+<ul>
+ <li><span class='dir'>scanner</span>
+ <ul>
+ <li><a name='scanner/HenryV.txt' class='resource'>HenryV.txt</a>
+ <dl>
+ <dt>md5</dt>
+ <dd class='md5'>c81f4cd3b2203ae869b8c6acea6bf73c</dd>
+ <dt>sha</dt>
+ <dd class='sha'>2ae73f5cfe7943a7d51b46e653948af7f067a6b01e61c827201c8e17b9231956f48b3e8e0da64e822ca9fdeb7a62f5af623406e2dbb9b39a8dabf569d2046402</dd>
+ <dt>ripe</dt>
+ <dd class='ripe'>4b0a5f9317e0d3165ea4982f90e7266a553d8353</dd>
+ </dl>
+ </li>
+ <li><a name='scanner/RichardIII.txt' class='resource'>RichardIII.txt</a>
+ <dl>
+ <dt>md5</dt>
+ <dd class='md5'>911bade3f0bcdb652f1331fb19d7bf07</dd>
+ <dt>sha</dt>
+ <dd class='sha'>3fd5d26bbbea1dfddeeab642bffd0d7fbdc6c4ed0d06faae3283e1e7b220d943200048630663c6a33e7cbd26fceab585920cd77d3481ce4dfa209b5000ccd4de</dd>
+ <dt>ripe</dt>
+ <dd class='ripe'>30ddc78d8bf08ef52ec8a7a8f7553c27931a6d0d</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+ <li><span class='dir'>scanner/sub</span>
+ <ul></ul>
+ </li>
+ <li><span class='dir'>scanner/sub/deep</span>
+ <ul>
+ <li><a name='scanner/sub/deep/HamletNot.txt' class='resource'>HamletNot.txt</a>
+ <dl>
+ <dt>md5</dt>
+ <dd class='md5'>1ccce242df4a39d25057aebed53be182</dd>
+ <dt>sha</dt>
+ <dd class='sha'>2b92d82dcd9db3a3142f1bd1522d0a3818555edfb3fd579d80e3b7ebc67adb8fb73db0185ccdc72704294005fb3830529e8962715f2dbfa7da0bb0553abb573a</dd>
+ <dt>ripe</dt>
+ <dd class='ripe'>307a14094c28da7a46f894ed10eb732fb4d0f199</dd>
+ </dl>
+ </li>
+ <li><a name='scanner/sub/deep/JuliusCaesar' class='resource'>JuliusCaesar</a>
+ <dl>
+ <dt>md5</dt>
+ <dd class='md5'>0ef9754818b94baecca3a23452345596b43eb0753</dd>
+ <dt>sha</dt>
+ <dd class='sha'>54184034009fc6b4e0dadfb0e14a1234523452345bad9c4c03791a982c4a7111dc7e4596164c1ca3dc49ec37c6081daf2bcd59d73a6c085beb1203b667066b77b58731f72460</dd>
+ <dt>ripe</dt>
+ <dd class='ripe'>0aa5485c5b892be83910fae34c304c1ac41240ec2345234524</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ul>
+</div>
+</body>
+</html>