[Bps-public-commit] Net-Google-Code branch, master, updated. b2e008613816a4376fb2a40c98ac36ee0bbf4450

? sunnavy sunnavy at bestpractical.com
Sun Apr 25 21:06:06 EDT 2010


The branch, master has been updated
       via  b2e008613816a4376fb2a40c98ac36ee0bbf4450 (commit)
      from  39ede93886ca059e4d3e486faca01454a1f22c2f (commit)

Summary of changes:
 lib/Net/Google/Code.pm |   39 ++++--
 t/20.code.t            |    2 +-
 t/sample/20.code.html  |  326 +++++++++++++++++++++++++-----------------------
 3 files changed, 201 insertions(+), 166 deletions(-)

- Log -----------------------------------------------------------------
commit b2e008613816a4376fb2a40c98ac36ee0bbf4450
Author: sunnavy <sunnavy at bestpractical.com>
Date:   Mon Apr 26 09:06:04 2010 +0800

    google code changed summary page

diff --git a/lib/Net/Google/Code.pm b/lib/Net/Google/Code.pm
index 7bc3f72..1d98df6 100644
--- a/lib/Net/Google/Code.pm
+++ b/lib/Net/Google/Code.pm
@@ -105,20 +105,37 @@ sub parse {
       $tree->look_down( id => 'wikicontent' )->content_array_ref->[0]->as_text;
     $self->description($description) if $description;
 
-    my @members;
-    my @members_tags =
-      $tree->look_down( id => 'members' )->find_by_tag_name('a');
-    for my $tag (@members_tags) {
-        push @members, $tag->content_array_ref->[0];
+    if (
+        my $members_header = $tree->look_down(
+            _tag => 'b',
+            sub { $_[0]->as_text eq 'Committers:' }
+        )
+      )
+    {
+        my @a = $members_header->parent->find_by_tag_name('a');
+        my @members;
+        for my $member (@a) {
+            push @members, $member->as_text;
+        }
+
+        $self->members( \@members );
     }
-    $self->members( \@members ) if @members;
 
-    my @owners;
-    my @owners_tags = $tree->look_down( id => 'owners' )->find_by_tag_name('a');
-    for my $tag (@owners_tags) {
-        push @owners, $tag->content_array_ref->[0];
+    if (
+        my $owners_header = $tree->look_down(
+            _tag => 'b',
+            sub { $_[0]->as_text eq 'Owners:' }
+        )
+      )
+    {
+        my @a = $owners_header->parent->find_by_tag_name('a');
+        my @owners;
+        for my $owner (@a) {
+            push @owners, $owner->as_text;
+        }
+
+        $self->owners( \@owners );
     }
-    $self->owners( \@owners ) if @owners;
 
     my @labels;
     my @labels_tags = $tree->look_down( href => qr/q\=label\:/ );
diff --git a/t/20.code.t b/t/20.code.t
index 6ffb3bc..8d766fd 100644
--- a/t/20.code.t
+++ b/t/20.code.t
@@ -49,7 +49,7 @@ $project->load;
 is_deeply( $project->owners, ['sunnavy'] );
 is_deeply( $project->members, [ 'jessev', 'fayland' ] );
 like $project->description, qr/Net\:\:Google\:\:Code/;
-is_deeply( $project->labels, [ 'perl', 'Google' ] );
+is_deeply( $project->labels, [ 'perl' ] );
 is $project->summary, 'a simple client library for google code';
 
 isa_ok( $project->issue,    'Net::Google::Code::Issue' );
diff --git a/t/sample/20.code.html b/t/sample/20.code.html
index acd823c..5c26d5a 100644
--- a/t/sample/20.code.html
+++ b/t/sample/20.code.html
@@ -1,36 +1,69 @@
+
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 <html>
 <head>
+ <link rel="icon" type="image/vnd.microsoft.icon" href="http://www.gstatic.com/codesite/ph/images/phosting.ico">
+ 
+ <script type="text/javascript">
+ 
+ 
+ 
+ var codesite_token = null;
+ 
+ 
+ var logged_in_user_email = null;
+ 
+ 
+ var relative_base_url = "";
+ 
+ </script>
+ 
  
  <title>
  net-google-code -
  
- Google Code</title>
+ Project Hosting on Google Code</title>
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" >
  
- <link type="text/css" rel="stylesheet" href="http://www.gstatic.com/codesite/ph/3596478537346627501/css/d_20081117.css">
+ <link type="text/css" rel="stylesheet" href="http://www.gstatic.com/codesite/ph/11650228456900541711/css/ph_core.css">
+ 
+ <link type="text/css" rel="stylesheet" href="http://www.gstatic.com/codesite/ph/11650228456900541711/css/ph_detail.css" >
+ 
  
  
  
 <!--[if IE]>
- <link type="text/css" rel="stylesheet" href="http://www.gstatic.com/codesite/ph/3596478537346627501/css/d_ie.css" >
+ <link type="text/css" rel="stylesheet" href="http://www.gstatic.com/codesite/ph/11650228456900541711/css/d_ie.css" >
 <![endif]-->
+ <style type="text/css">
+ .menuIcon.off { background: no-repeat url(http://www.gstatic.com/codesite/ph/images/dropdown_sprite.gif) 0 -42px }
+ .menuIcon.on { background: no-repeat url(http://www.gstatic.com/codesite/ph/images/dropdown_sprite.gif) 0 -28px }
+ .menuIcon.down { background: no-repeat url(http://www.gstatic.com/codesite/ph/images/dropdown_sprite.gif) 0 0; }
+ </style>
 </head>
 <body class="t1">
+ <script type="text/javascript">
+ var _gaq = _gaq || [];
+ _gaq.push(
+ ['siteTracker._setAccount', 'UA-18071-1'],
+ ['siteTracker._trackPageview']);
+ 
+ (function() {
+ var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
+ ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+ (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(ga);
+ })();
+ </script>
  <div id="gaia">
-  <font size="-1">
-
  
- <b>xxxx at gmail.com</b>
+ <span>
  
- | <a href="/p/support/wiki/WhatsNew" style="color:#a03">What's new?</a>
- | <a href="/u/xxxx/">Profile</a>
- | <a href="/hosting/settings">Settings</a>
- | <a href="/p/support/">Help</a>
-
- | <a href="http://www.google.com/accounts/Logout?continue=http%3A%2F%2Fcode.google.com%2Fp%2Fnet-google-code%2F">Sign out</a>
  
- </font> 
+ <a href="#" id="projects-dropdown" onclick="return false;"><u>My favorites</u> <small>▼</small></a>
+ 
+ | <a href="https://www.google.com/accounts/ServiceLogin?service=code&ltmpl=phosting&continue=http%3A%2F%2Fcode.google.com%2Fp%2Fnet-google-code%2F&followup=http%3A%2F%2Fcode.google.com%2Fp%2Fnet-google-code%2F" onclick="_CS_click('/gb/ph/signin');"><u>Sign in</u></a>
+ 
+ </span>
 
  </div>
  <div class="gbh" style="left: 0pt;"></div>
@@ -38,31 +71,48 @@
  
  
  <div style="height: 1px"></div>
- <table style="padding:0px; margin: 20px 0px 0px 0px; width:100%" cellpadding="0" cellspacing="0">
- <tr>
+<!--[if IE 6]>
+<div style="text-align:center;">
+Support browsers that contribute to open source, try <a href="http://www.firefox.com">Firefox</a> or <a href="http://www.google.com/chrome">Google Chrome</a>.
+</div>
+<![endif]-->
+
 
- <td style="width:153px"><a href="/"><img src="http://www.gstatic.com/codesite/ph/images/code_sm.png" width="153" height="55" alt="Google"></a></td>
- <td style="padding-left: 0.8em">
+
+ <table style="padding:0px; margin: 20px 0px 0px 0px; width:100%" cellpadding="0" cellspacing="0">
+ <tr style="height: 58px;">
+ 
+ <td style="width: 55px; text-align:center;">
+ <a href="/p/net-google-code/">
+ 
+ 
+ <img src="http://www.gstatic.com/codesite/ph/images/defaultlogo.png" alt="Logo">
+ 
+ 
+ </a>
+ </td>
+ 
+ <td style="padding-left: 0.5em">
  
  <div id="pname" style="margin: 0px 0px -3px 0px">
  <a href="/p/net-google-code/" style="text-decoration:none; color:#000">net-google-code</a>
+ 
  </div>
  <div id="psum">
- <i><a href="/p/net-google-code/" style="text-decoration:none; color:#000">a simple client library for google code</a></i>
+ <i><a id="project_summary_link" href="/p/net-google-code/" style="text-decoration:none; color:#000">a simple client library for google code</a></i>
  </div>
-
  
  </td>
- <td style="white-space:nowrap; text-align:right">
- 
+ <td style="white-space:nowrap;text-align:right">
  <form action="/hosting/search">
  <input size="30" name="q" value="">
- <input type="submit" name="projectsearch" value="Search Projects" >
+ <input type="submit" name="projectsearch" value="Search projects" >
  </form>
- 
  </tr>
  </table>
 
+
+ 
 <table id="mt" cellspacing="0" cellpadding="0" width="100%" border="0">
  <tr>
  <th onclick="if (!cancelBubble) _go('/p/net-google-code/');">
@@ -72,7 +122,6 @@
  <div class="round1"></div>
  <div class="box-inner">
  <a onclick="cancelBubble=true;" href="/p/net-google-code/">Project Home</a>
-
  </div>
  </div>
  </th><td>  </td>
@@ -86,7 +135,6 @@
  <div class="round2"></div>
  <div class="round1"></div>
  <div class="box-inner">
-
  <a onclick="cancelBubble=true;" href="/p/net-google-code/downloads/list">Downloads</a>
  </div>
  </div>
@@ -100,7 +148,6 @@
  <div class="tab inactive">
  <div class="round4"></div>
  <div class="round2"></div>
-
  <div class="round1"></div>
  <div class="box-inner">
  <a onclick="cancelBubble=true;" href="/p/net-google-code/w/list">Wiki</a>
@@ -114,7 +161,6 @@
  
  <th onclick="if (!cancelBubble) _go('/p/net-google-code/issues/list');">
  <div class="tab inactive">
-
  <div class="round4"></div>
  <div class="round2"></div>
  <div class="round1"></div>
@@ -123,21 +169,19 @@
  </div>
  </div>
  </th><td>  </td>
-
  
  
  
  
  
- <th onclick="if (!cancelBubble) _go('/p/net-google-code/source/list');">
+ <th onclick="if (!cancelBubble) _go('/p/net-google-code/source/checkout');">
  <div class="tab inactive">
  <div class="round4"></div>
  <div class="round2"></div>
  <div class="round1"></div>
  <div class="box-inner">
- <a onclick="cancelBubble=true;" href="/p/net-google-code/source/list">Source</a>
+ <a onclick="cancelBubble=true;" href="/p/net-google-code/source/checkout">Source</a>
  </div>
-
  </div>
  </th><td>  </td>
  
@@ -154,136 +198,124 @@
  
  
  
- 
  <td>
- 
-<style type="text/css">
- .project-summary-page .inProjectSummary a,
- .project-updates-page .inProjectUpdates a {
- font-weight: bold;
- text-decoration: none;
- color: black;
- }
-</style>
-
-<div class="project-summary-page">
+ <div class="st1">
  <div class="isf">
- <span class="inProjectSummary">
+ <span class="inst1">
  <a href="/p/net-google-code/">Summary</a>
- </span> |
- <span class="inProjectUpdates">
+ </span>
+ 
+ 
+ |
+ <span class="inst2">
  <a href="/p/net-google-code/updates/list">Updates</a>
  </span>
-
+ 
+ |
+ <span class="inst3">
+ <a href="/p/net-google-code/people/list">People</a>
+ </span>
+ 
  </div>
 </div>
 
  </td>
  
  
- 
  <td height="4" align="right" valign="top" class="bevel-right">
  <div class="round4"></div>
  <div class="round2"></div>
  <div class="round1"></div>
  </td>
  </tr>
-
 </table>
 <script type="text/javascript">
  var cancelBubble = false;
  function _go(url) { document.location = url; }
 </script>
 
-<div id="maincol">
+
+<div id="maincol"
+ 
+>
+
+ 
 <!-- IE -->
 
 
 
+
+
 <style type="text/css">
  #downloadbox {
- padding: 6px;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  }
  #downloadbox a {
- margin: 6px 0 0 3em;
  display: block;
  padding-left: 18px;
  background: url(http://www.gstatic.com/codesite/ph/images/dl_arrow.gif) no-repeat bottom left;
  }
  #owners a, #members a { white-space: nowrap; }
+ .activity-level-high {
+ background:no-repeat url(http://www.gstatic.com/codesite/ph/images/activity-level.png) 0 0;
+ width: 16px;
+ height: 16px;
+ }
+ .activity-level-low {
+ background:no-repeat url(http://www.gstatic.com/codesite/ph/images/activity-level.png) 0 -16px;
+ width: 16px;
+ height: 16px;
+ }
+ .activity-level-medium {
+ background: no-repeat url(http://www.gstatic.com/codesite/ph/images/activity-level.png) -16px 0;
+ width: 16px;
+ height: 16px;
+ }
+ .activity-level-none {
+ background:no-repeat url(http://www.gstatic.com/codesite/ph/images/activity-level.png) -16px -16px;
+ width: 16px;
+ height: 16px;
+ }
 </style>
-<div style="float:right; width:25em; margin:0 0 1em 2em">
- 
- 
- 
- 
+<div style="float:right; width:20em; margin:0 0 1em 2em">
  
  <div class="pmeta_bubble_bg">
  <div class="round4"></div>
  <div class="round2"></div>
-
  <div class="round1"></div>
  <div class="box-inner">
  <table class="pmeta" cellpadding="5">
- <tr>
- <td>
- <img width="15" height="15"
- src="http://www.gstatic.com/codesite/ph/images/star_on.gif"
- style="cursor:pointer" 
  
- onclick="_CS_toggleStar(this, {'scope': 'projects', 'user':
- '_CURRENT_USER', 'item': 'net-google-code'}, 'star_msg',
- 'Starred (\x3ca href\x3d\x22/u/xxxx/\x22\x3eview starred projects\x3c/a\x3e)', 'Star this project');"/>
-  
- <span id="star_msg">
  
  
- Starred (<a href="/u/xxxx/">view starred projects</a>)
+ <tr><td><b>Activity:</b>
+ <img src="http://www.gstatic.com/codesite/ph/images/cleardot.gif" class="activity-level-none">
+ <span><a href="updates/list">
  
- </span>
-
- </td>
- </tr>
- </table>
- </div>
- <div class="round1"></div>
- <div class="round2"></div>
- <div class="round4"></div>
- </div>
  
  
+ None
+ </a></span>
+ </td></tr>
  
- <div class="pmeta_bubble_bg">
-
- <div class="round4"></div>
- <div class="round2"></div>
- <div class="round1"></div>
- <div class="box-inner">
- <table class="pmeta" cellpadding="5">
  
- <tr>
- <th><span style="white-space:nowrap">Code License:</span></th>
- <td>
-
- <a href="http://dev.perl.org/licenses/" rel="nofollow">Artistic License/GPL</a>
- </td>
- </tr>
  
+ <tr><td>
+ <b>Code license: </b><br/><a href="http://dev.perl.org/licenses/" rel="nofollow">Artistic License/GPL</a>
+ </td></tr>
  
  
- <tr><th>Labels:</th>
- <td>
  
- <a href="/hosting/search?q=label:perl">perl</a>, 
-  
- <a href="/hosting/search?q=label:Google">Google</a>
-
- </td>
-
- </tr>
+ <tr><td>
+ <span id="project_labels"><b>Labels:</b><br/>
+ 
+ <a class="label" href="/hosting/search?q=label:perl">perl</a>
+ 
+ </span>
+ </td></tr>
+ 
  
  </table>
  </div>
@@ -293,20 +325,20 @@
  </div>
  
  
+ 
+ 
  <div class="pmeta_bubble_bg">
  <div class="round4"></div>
-
  <div class="round2"></div>
  <div class="round1"></div>
  <div class="box-inner">
  <table class="pmeta" cellpadding="5">
  
  
- <tr><th>Feeds:</th>
- <td><ul>
- <li><a href="/p/net-google-code/feeds">Project Feeds</a></li>
- </ul></td>
-
+ <tr>
+ <td><b>Feeds:</b><br/>
+ <a href="/p/net-google-code/feeds">Project feeds</a>
+ </td>
  </tr>
  
  </table>
@@ -315,40 +347,40 @@
  <div class="round2"></div>
  <div class="round4"></div>
  </div>
+ 
+ 
  <div class="pmeta_bubble_bg">
  <div class="round4"></div>
-
  <div class="round2"></div>
  <div class="round1"></div>
  <div class="box-inner">
+ <table class="pmeta" cellpadding="5">
  
+ <tr><td style="width:230px">
+ <b>Owners:</b><br/>
  
- <table class="pmeta" cellpadding="3" style="padding:3px">
+ <a style="white-space: nowrap" href="/u/sunnavy/">sunnavy</a>
  
- <tr><th colspan="2">Project owners:</th></tr>
- <tr><td style="width:4em"> </td>
- <td id="owners">
+ </td></tr>
  
- <a href="/u/sunnavy/">sunnavy</a>
-
  
- </td>
- </tr>
  
+ <tr><td><b>Committers:</b><br/>
+ 
+ <a style="white-space: nowrap" href="/u/jessev/">jessev</a>, 
+ 
+ <a style="white-space: nowrap" href="/u/fayland/">fayland</a>
+ 
+ </td></tr>
  
  
- <tr><th colspan="2" style="padding-top:6px">Project members:</th></tr>
- <tr><td></td>
- <td id="members">
  
- <a href="/u/jessev/">jessev</a>, 
  
- <a href="/u/fayland/">fayland</a>
  
- </td>
-
- </tr>
  
+ <tr><td>
+ <a href="people/list">People details »</a>
+ </td><tr/>
  
  </table>
  </div>
@@ -356,51 +388,37 @@
  <div class="round2"></div>
  <div class="round4"></div>
  </div>
+ 
 </div>
  <div id="wikicontent" style="padding:0 3em 1.2em 0">
-
  <p>Net::Google::Code is a simple client library for projects hosted in Google Code. </p><p>Currently, it focuses on the issue tracker, and the basic read functionality for that is provided. </p>
  </div>
+
 <br><br><br><br><br><br><br><br>
- 
- <script type="text/javascript" src="http://www.gstatic.com/codesite/ph/3596478537346627501/js/core_scripts_20081103.js"></script>
- 
+<script src="http://www.gstatic.com/codesite/ph/11650228456900541711/js/prettify/prettify.js"></script>
+<script type="text/javascript">
+ prettyPrint();
+</script>
  
  
+ <script type="text/javascript" src="http://www.gstatic.com/codesite/ph/11650228456900541711/js/core_scripts_20081103.js"></script>
+ <script type="text/javascript" src="/js/codesite_product_dictionary_ph.pack.04102009.js"></script>
  </div>
 <div id="footer" dir="ltr">
  
  <div class="text">
  
- ©2008 Google -
- <a href="/">Code Home</a> -
- <a href="/tos.html">Terms of Service</a> -
- <a href="http://www.google.com/privacy.html">Privacy Policy</a> -
- <a href="/more/">Site Directory</a>
-
+ ©2010 Google -
+ <a href="/projecthosting/terms.html">Terms</a> -
+ <a href="http://www.google.com/privacy.html">Privacy</a> -
+ <a href="/p/support/">Project Hosting Help</a>
  
  </div>
 </div>
-<script type="text/javascript">
-/**
- * Reports analytics.
- * It checks for the analytics functionality (window._gat) every 100ms
- * until the analytics script is fully loaded in order to invoke siteTracker.
- */
-function _CS_reportAnalytics() {
- window.setTimeout(function() {
- if (window._gat) {
- var siteTracker = _gat._getTracker("UA-18071-1");
- siteTracker._initData();
- siteTracker._trackPageview();
- 
- } else {
- _CS_reportAnalytics();
- }
- }, 100);
-}
-</script>
 
+ <div class="hostedBy" style="margin-top: -20px;">
+ <span style="vertical-align: top;">Powered by <a href="http://code.google.com/projecthosting/">Google Project Hosting</a></span>
+ </div>
  
  
 

-----------------------------------------------------------------------



More information about the Bps-public-commit mailing list