You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@whimsical.apache.org by Sam Ruby <ru...@apache.org> on 2015/12/04 19:14:41 UTC

[whimsy.git] [9/50] Commit c4c8e18: add svninfo support; remove dead code

Commit c4c8e18a05ef5c5960ff1826bd17b47b367137cb:
    add svninfo support; remove dead code
    git-svn-id: https://svn.apache.org/repos/infra/infrastructure/trunk/projects/whimsy@819415 90ea9780-b833-de11-8433-001ec94261de


Branch: refs/heads/master
Author: Sam Ruby <ru...@apache.org>
Committer: Sam Ruby <ru...@apache.org>
Pusher: rubys <ru...@apache.org>

------------------------------------------------------------
www/secretary/workbench/file.cgi                             | ++++++++ ----
www/secretary/workbench/worklist.cgi                         |  --
www/secretary/workbench/worklist.js                          | + --------
------------------------------------------------------------
115 changes: 59 additions, 56 deletions.
------------------------------------------------------------


diff --git a/www/secretary/workbench/file.cgi b/www/secretary/workbench/file.cgi
index 96132a9..5a8c076 100755
--- a/www/secretary/workbench/file.cgi
+++ b/www/secretary/workbench/file.cgi
@@ -201,6 +201,38 @@ def check
   end
 end
 
+def svn_info(source)
+  source.untaint if Dir.chdir(RECEIVED) {Dir['*']}.include? source
+  source = File.join(RECEIVED, source)
+  source += svn_at(source)
+  info = {
+    'from' =>  `svn propget email:name #{source}`.chomp,
+    'email' => `svn propget email:addr #{source}`.chomp
+  }
+
+  if info['from'].empty? and info['email'].empty?
+    log=`svn log #{source}`
+    from=log.scan(/\nFrom: (.*)/).flatten.first
+
+    if from and from !~ /"eFax"/
+      email = from.gsub(/.*<(.*)>$/, '\1')
+      info['email'] = email if email.include?('@')
+    
+      from.gsub! /\s<.*>$/, ''
+      from.gsub! /^"(.*)"$/, '\1'
+      info['from'] = from unless from.include?('@')
+    end
+  end
+
+  info.each do |name, value| 
+    value.gsub!(/\\x[0-9a-fA-F][0-9a-fA-F]/) {|c| [c[2..3].to_i(16)].pack('C')}
+    value.force_encoding('utf-8')
+    value.force_encoding('iso-8859-1') unless value.valid_encoding?
+  end
+
+  info
+end
+
 def email(target, message)
   pending = YAML.load(open(PENDING_YML))
 
@@ -335,31 +367,31 @@ _json do
     "svn update #{DOCUMENTS}",
   ]
 
-  _html do
-    if @cmd == 'icla.txt issues'
-      _! check
-    elsif @cmd =~ /email (.*)/
-      _! email $1, @message
-    elsif @cmd =~ /svn commit/ and committable.include? @file
-      message, file = @message, @file
-      _! html_fragment {
-        _.system [
-          'svn', 'commit', '-m', message, '--no-auth-cache',
-          (['--username', $USER, '--password', $PASSWORD] if $PASSWORD),
-          file
-        ]
-      }
-    else
-      cmd = @cmd.untaint
-      _! html_fragment { 
-        if safe.include? cmd
-          _.system cmd.untaint
-        else
-          _pre._stdin cmd
-          _pre._stderr 'Unauthorized command'
-        end
-      }
-    end
+  if @cmd == 'svninfo'
+    _! svn_info(@source)
+  elsif @cmd == 'icla.txt issues'
+    _html check
+  elsif @cmd =~ /email (.*)/
+    _html! email $1, @message
+  elsif @cmd =~ /svn commit/ and committable.include? @file
+    message, file = @message, @file
+    _html html_fragment {
+      _.system [
+        'svn', 'commit', '-m', message, '--no-auth-cache',
+        (['--username', $USER, '--password', $PASSWORD] if $PASSWORD),
+        file
+      ]
+    }
+  else
+    cmd = @cmd
+    _html html_fragment { 
+      if safe.include? cmd
+        _.system cmd.untaint
+      else
+        _pre._stdin cmd
+        _pre._stderr 'Unauthorized command'
+      end
+    }
   end
 end
 
diff --git a/www/secretary/workbench/worklist.cgi b/www/secretary/workbench/worklist.cgi
index c3cd5c7..5b87d71 100755
--- a/www/secretary/workbench/worklist.cgi
+++ b/www/secretary/workbench/worklist.cgi
@@ -372,8 +372,6 @@ _html do
 
           _div_.buttons!.buttons do
             _input type: 'submit', value: 'File'
-            # _input type: 'submit', id: 'archive', value: 'Archive',
-            # onclick: 'return namesFromArchive()'
             _input type: 'submit', name: 'action', value: 'Cancel'
           end
 
diff --git a/www/secretary/workbench/worklist.js b/www/secretary/workbench/worklist.js
index 8be0a17..84b389a 100644
--- a/www/secretary/workbench/worklist.js
+++ b/www/secretary/workbench/worklist.js
@@ -66,33 +66,6 @@ function generateFileName(selection) {
   return value.replace(/-+/g, '-').toLowerCase();
 }
 
-// replace realname input field with a selection list
-function namesFromArchive() {
-  $.getJSON('unscanned.cgi', {}, function(unscanned) {
-    var select = $('<select name="realname" id="realname"/>')[0];
-    for (var i=0; i<unscanned.length; i++) {
-      select.options[i] = new Option(unscanned[i][1], i);
-    }
-    $('#realname').before(select).remove();
-
-    $("#archive").attr("disabled","disabled");
-
-    // process selection
-    $('#realname').focus().change(function() {
-      var icla = unscanned[$("#realname option:selected").val()];
-      $("#realname").before('<input type="text" ' +
-        'id="realname" name="realname"/>').remove();
-      $("#realname").val(icla[1]);
-      $("#pubname").val(icla[2]);
-      $("#email").val(icla[3]);
-      $("#replaces").val(icla[0] + ':' + icla[3]);
-      $("#filename").val('').focus();
-      $("#archive").removeAttr("disabled");
-    });
-  });
-  return false;
-}
-
 $(document).ready(function() {
   // member autofill
   $('#mavailid').change(function() {
@@ -134,7 +107,7 @@ $(document).ready(function() {
       $("#icla-form input").addClass("loading");
       $("#ccla-form input").addClass("loading");
       $("#grant-form input").addClass("loading");
-      $.getJSON('svninfo.cgi', {source: link}, function(info) {
+      $.post('file.cgi', {cmd: 'svninfo', source: link}, function(info) {
         if (!$('#realname').val()) $('#realname').val(info.from);
         if (!$('#nname').val())    $('#nname').val(info.from);
         if (!$('#contact').val())  $('#contact').val(info.from);
@@ -153,7 +126,7 @@ $(document).ready(function() {
         $("#icla-form input").removeClass("loading");
         $("#ccla-form input").removeClass("loading");
         $("#grant-form input").removeClass("loading");
-      });
+      }, 'json');
     }
   });