http://code.google.com/p/google-sgnodemapper/source/detail?r=218
Modified:
/trunk/sites/google.js
=======================================
--- /trunk/sites/google.js Thu Feb 18 15:39:56 2010
+++ /trunk/sites/google.js Sat Mar 6 12:02:24 2010
@@ -14,12 +14,12 @@
var googleIdentProfileHandler = nodemapper.createPathRegexpHandler(
"profiles.google.com", // fake domain
- /^(?:\/s2)?\/(?:profiles\/|sharing\/stuff\?user=)([\w+\.]+)/,
+ /^(?:\/s2)?\/(?:profiles\/|buzz\/|sharing\/stuff\?user=)([\w+\.]+)/,
{keyName: "ident"});
var googleProfileHandler = nodemapper.createPathRegexpHandler(
"profiles.google.com", // fake domain
- /^(?:\/s2)?\/(?:profiles\/|sharing\/stuff\?user=)(\d+)/,
+ /^(?:\/s2)?\/(?:profiles\/|buzz\/|sharing\/stuff\?user=)(\d+)/,
{keyName: "pk", fallbackHandler: googleIdentProfileHandler });
var readerHandler = nodemapper.createPathRegexpHandler(
@@ -29,9 +29,14 @@
var profilesDomainIdentHandler = nodemapper.createPathRegexpHandler(
"profiles.google.com", // fake domain
- /^\/([\w+\.]+)(?:\?|$)/,
+ /^\/([\w+\.]+)(?:\?|\/|$)/,
{keyName: "ident"});
+var profilesDomainHandler = nodemapper.createPathRegexpHandler(
+ "profiles.google.com", // fake domain
+ /^\/(\d+)(?:\?|\/|$)/,
+ {keyName: "pk", fallbackHandler: profilesDomainIdentHandler });
+
var sidewikiIdentHandler = nodemapper.createPathRegexpHandler(
"sidewiki.google.com", // fake domain
/^\/sidewiki\/feeds\/entries\/author\/([\w+\.]+)\/default/,
@@ -57,6 +62,8 @@
var handler = null;
if (path.indexOf("/reader") == 0) {
handler = readerHandler;
+ } else if (path.indexOf("/buzz/") == 0) {
+ handler = googleProfileHandler;
} else if (path.indexOf("/s2/") == 0) {
handler = googleProfileHandler;
} else if (path.indexOf("/profiles/") == 0) {
@@ -179,7 +186,7 @@
"http://www.orkut.com/Profile.aspx?uid=");
nodemapper.registerDomain("profiles.google.com", {
- urlToGraphNode: profilesDomainIdentHandler,
+ urlToGraphNode: profilesDomainHandler,
name: "Google Profile",
pkRegexp: /^\d{7,}$/,
identRegexp: /^[\w\.]{1,40}$/
@@ -189,6 +196,15 @@
nodemapper.addSimpleHandler("profiles.google.com", "ident_to_profile",
"http://www.google.com/profiles/");
+// Note that we never actually create sgn://buzz.google.com nodes, but
+// register the domain in order to have the urlToGraphNode handler
+// setup to map http://buzz.google.com URLs into
+// sgn://profiles.google.com nodes
+nodemapper.registerDomain("buzz.google.com", {
+ urlToGraphNode: profilesDomainHandler,
+ name: "Google Buzz"
+ });
+
nodemapper.registerDomain("sidewiki.google.com", {
name: "Google Sidewiki",
favIconUrl: "http://www.google.com/sidewiki/intl/en/images/icon_yellowbubble.png",
@@ -252,13 +268,28 @@
http://www.google.com/s2/profiles/115863474911002159675
sgn://profiles.google.com/?pk=115863474911002159675
-http://www.google.com/profiles/115863474911002159675
sgn://profiles.google.com/?pk=115863474911002159675
http://www.google.co.uk/s2/profiles/115863474911002159675
sgn://profiles.google.com/?pk=115863474911002159675
http://www.google.de/s2/profiles/115863474911002159675
sgn://profiles.google.com/?pk=115863474911002159675
http://www.google.com/profiles/bradfitz
sgn://profiles.google.com/?ident=bradfitz
-http://profiles.google.com/bradfitz
sgn://profiles.google.com/?ident=bradfitz
-http://profiles.google.com/bradfitz?foo
sgn://profiles.google.com/?ident=bradfitz
+http://profiles.google.com/bradfitz
sgn://profiles.google.com/?ident=bradfitz
+http://profiles.google.com/bradfitz?foo
sgn://profiles.google.com/?ident=bradfitz
+http://profiles.google.com/bradfitz/foo
sgn://profiles.google.com/?ident=bradfitz
+
+http://www.google.com/profiles/115863474911002159675
sgn://profiles.google.com/?pk=115863474911002159675
+http://profiles.google.com/115863474911002159675
sgn://profiles.google.com/?pk=115863474911002159675
+http://profiles.google.com/115863474911002159675?foo
sgn://profiles.google.com/?pk=115863474911002159675
+http://profiles.google.com/115863474911002159675/foo
sgn://profiles.google.com/?pk=115863474911002159675
+
+http://www.google.com/buzz/bradfitz
sgn://profiles.google.com/?ident=bradfitz
+http://buzz.google.com/bradfitz
sgn://profiles.google.com/?ident=bradfitz
+http://buzz.google.com/bradfitz?foo
sgn://profiles.google.com/?ident=bradfitz
+http://buzz.google.com/bradfitz/foo
sgn://profiles.google.com/?ident=bradfitz
+
+http://www.google.com/buzz/115863474911002159675
sgn://profiles.google.com/?pk=115863474911002159675
+http://buzz.google.com/115863474911002159675
sgn://profiles.google.com/?pk=115863474911002159675
+http://buzz.google.com/115863474911002159675?foo
sgn://profiles.google.com/?pk=115863474911002159675
+http://buzz.google.com/115863474911002159675/foo
sgn://profiles.google.com/?pk=115863474911002159675
http://www.google.com/s2/sharing/stuff?user=123
sgn://profiles.google.com/?pk=123