You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@whimsical.apache.org by se...@apache.org on 2020/06/13 23:04:46 UTC

[whimsy] branch master updated: No need for local checkout of site images

This is an automated email from the ASF dual-hosted git repository.

sebb pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/whimsy.git


The following commit(s) were added to refs/heads/master by this push:
     new c67b7a7  No need for local checkout of site images
c67b7a7 is described below

commit c67b7a7f678db6f9f2ac04ae924d3f51877df1e0
Author: Sebb <se...@apache.org>
AuthorDate: Sun Jun 14 00:04:37 2020 +0100

    No need for local checkout of site images
---
 lib/whimsy/asf.rb              |  1 +
 lib/whimsy/asf/site-img.rb     | 15 +++++++++++++++
 repository.yml                 |  2 ++
 tools/site-scan.rb             |  7 +------
 www/roster/models/committee.rb |  3 +--
 www/roster/models/nonpmc.rb    |  3 +--
 6 files changed, 21 insertions(+), 10 deletions(-)

diff --git a/lib/whimsy/asf.rb b/lib/whimsy/asf.rb
index 2178ae2..9d750ad 100644
--- a/lib/whimsy/asf.rb
+++ b/lib/whimsy/asf.rb
@@ -13,6 +13,7 @@ require_relative 'asf/member'
 require_relative 'asf/podling'
 require_relative 'asf/person'
 require_relative 'asf/themes'
+require_relative 'asf/site-img'
 
 #
 # The ASF module contains a set of classes which encapsulate access to a number
diff --git a/lib/whimsy/asf/site-img.rb b/lib/whimsy/asf/site-img.rb
new file mode 100644
index 0000000..c761e67
--- /dev/null
+++ b/lib/whimsy/asf/site-img.rb
@@ -0,0 +1,15 @@
+# Find site image files
+
+module ASF
+
+    class SiteImage
+        def self.listnames
+            _, list = ASF::SVN.getlisting('site-img')
+            list
+        end
+
+        def self.find(id)
+            listnames.select{|file| file =~ /^#{id}.*\.(svg|eps|ai|pdf)$/}.first
+        end
+    end
+end
\ No newline at end of file
diff --git a/repository.yml b/repository.yml
index aac07cd..4aa895b 100644
--- a/repository.yml
+++ b/repository.yml
@@ -152,6 +152,8 @@
 
   site-img:
     url: asf/comdev/project-logos/originals
+    depth: delete
+    list: true
 
   site-root:
     url: asf/infrastructure/site/trunk/content
diff --git a/tools/site-scan.rb b/tools/site-scan.rb
index ebfcd1f..1346ddc 100755
--- a/tools/site-scan.rb
+++ b/tools/site-scan.rb
@@ -14,8 +14,6 @@ require 'whimsy/asf'
 require 'whimsy/cache'
 require 'whimsy/sitestandards'
 
-IMAGE_DIR = ASF::SVN.find('site-img')
-
 # Normalize spaces in text runs
 def squash(text)
   return text.scrub.gsub(/[[:space:]]+/, ' ').strip
@@ -145,10 +143,7 @@ def parse(id, site, name)
     end
   end
   # THIRD: see if an image has been uploaded
-  if IMAGE_DIR
-    data[:image] = Dir[File.join(IMAGE_DIR, "#{id}*.{svg,eps,ai,pdf}")].
-      map {|path| File.basename(path)}.first
-  end
+  data[:image] = ASF::SiteImage.find(id)
 
   return data
 end
diff --git a/www/roster/models/committee.rb b/www/roster/models/committee.rb
index 6ac038c..91afff2 100644
--- a/www/roster/models/committee.rb
+++ b/www/roster/models/committee.rb
@@ -19,8 +19,7 @@ class Committee
     comdev = ASF::SVN['comdev-foundation']
     info = JSON.parse(File.read(File.join(comdev, 'projects.json')))[id]
 
-    image_dir = ASF::SVN.find('site-img')
-    image = image_dir ? Dir[File.join(image_dir, "#{id}*.{svg,eps,ai,pdf}")].map {|path| File.basename(path)}.first : nil
+    image = ASF::SiteImage.find(id)
 
     moderators = nil
     modtime = nil
diff --git a/www/roster/models/nonpmc.rb b/www/roster/models/nonpmc.rb
index 66ee897..e0891bb 100644
--- a/www/roster/models/nonpmc.rb
+++ b/www/roster/models/nonpmc.rb
@@ -20,8 +20,7 @@ class NonPMC
       list =~ /^#{mail_list}\b/
     end
 
-    image_dir = ASF::SVN.find('site-img') # Probably not relevant to nonPMCS; leave for now
-    image = Dir[File.join(image_dir, "#{id}*.{svg,eps,ai,pdf}")].map {|path| File.basename(path)}.first
+    image = ASF::SiteImage.find(id)
 
     moderators = nil
     modtime = nil