aboutsummaryrefslogtreecommitdiff
path: root/license_protected_downloads
diff options
context:
space:
mode:
authorAndy Doan <andy.doan@linaro.org>2016-07-01 14:02:34 -0500
committerFathi Boudra <fathi.boudra@linaro.org>2016-07-02 05:36:39 +0000
commitf38c5548c0f7fa4ff4bf172dfbaf5b83090de889 (patch)
treefed4b8a5dccc5984cedacd76ebf99592f7610fa5 /license_protected_downloads
parentabe6951ac8eaf4c2d9387b59834213db77a02550 (diff)
Add support for a HEADER.textile
Request from Fathi: https://projects.linaro.org/browse/SYS-99 Its pretty easy to add this logic. I give HEADER.textfile precedence over HEADER.html but allow HEADER.html as a fallback if it fails to process. Change-Id: I85fe27e18465501912508d1d41703eee84bf3774 Reviewed-on: https://review.linaro.org/13038 Reviewed-by: Fathi Boudra <fathi.boudra@linaro.org>
Diffstat (limited to 'license_protected_downloads')
-rw-r--r--license_protected_downloads/artifact/base.py13
-rw-r--r--license_protected_downloads/render_text_files.py8
-rw-r--r--license_protected_downloads/tests/test_views.py5
-rw-r--r--license_protected_downloads/tests/testserver_root/readme/subdir/HEADER.textile1
4 files changed, 22 insertions, 5 deletions
diff --git a/license_protected_downloads/artifact/base.py b/license_protected_downloads/artifact/base.py
index 77db0c0..8459165 100644
--- a/license_protected_downloads/artifact/base.py
+++ b/license_protected_downloads/artifact/base.py
@@ -12,6 +12,7 @@ from license_protected_downloads import(
buildinfo,
models,
)
+from license_protected_downloads.render_text_files import RenderTextFiles
log = logging.getLogger("llp.views")
@@ -70,8 +71,8 @@ class Artifact(object):
def hidden(self):
hidden_files = ["BUILD-INFO.txt", "EULA.txt", "HEADER.html",
- "HOWTO_", "textile", ".htaccess", "licenses",
- ".s3_linked_from"]
+ "HEADER.textile", "HOWTO_", "textile", ".htaccess",
+ "licenses", ".s3_linked_from"]
for pattern in hidden_files:
if re.search(pattern, self.file_name):
return True
@@ -245,13 +246,19 @@ class Artifact(object):
return content
def get_header_html(self):
- """Read HEADER.html in current directory
+ """Read HEADER.html or HEADER.textile in current directory
If exists and return contents of <div id="content"> block
"""
assert self.isdir()
content = ''
+ body = self.get_file_contents('HEADER.textile')
+ if body:
+ content = RenderTextFiles.render_buff(body)
+ if content:
+ return content
+
body = self.get_file_contents('HEADER.html')
if body:
body = self._process_include_tags(body)
diff --git a/license_protected_downloads/render_text_files.py b/license_protected_downloads/render_text_files.py
index 4478496..ab1e074 100644
--- a/license_protected_downloads/render_text_files.py
+++ b/license_protected_downloads/render_text_files.py
@@ -37,14 +37,18 @@ class RenderTextFiles:
return result
@classmethod
- def render_file(cls, fp):
+ def render_buff(cls, buff):
try:
- return textile.textile(fp.read())
+ return textile.textile(buff)
except:
# Do nothing, parsing failed.
pass
@classmethod
+ def render_file(cls, fp):
+ return cls.render_buff(fp.read())
+
+ @classmethod
def find_relevant_files(cls, path):
# Go recursively and find howto's, readme's, hackings, installs.
# If there are more of the same type then one, throw custom error as
diff --git a/license_protected_downloads/tests/test_views.py b/license_protected_downloads/tests/test_views.py
index 7c08555..020aa85 100644
--- a/license_protected_downloads/tests/test_views.py
+++ b/license_protected_downloads/tests/test_views.py
@@ -225,6 +225,11 @@ class HeaderTests(BaseServeViewTest):
resp = self.client.get(url, follow=True)
self.assertContains(resp, 'Welcome to the Linaro releases server')
+ def test_header_textile(self):
+ url = 'http://testserver/readme/subdir'
+ resp = self.client.get(url, follow=True)
+ self.assertContains(resp, 'HEADER</span>.textile was included')
+
def test_process_include_tags(self):
url = 'http://testserver/readme'
response = self.client.get(url, follow=True)
diff --git a/license_protected_downloads/tests/testserver_root/readme/subdir/HEADER.textile b/license_protected_downloads/tests/testserver_root/readme/subdir/HEADER.textile
new file mode 100644
index 0000000..7a7c091
--- /dev/null
+++ b/license_protected_downloads/tests/testserver_root/readme/subdir/HEADER.textile
@@ -0,0 +1 @@
+HEADER.textile was included