Modified:
/trunk/autogen/nodemapper.js
/trunk/autogen/nodemapper_debug.js
/trunk/autogen/nodemapper_tests.js
/trunk/sites/pingfm.js
=======================================
--- /trunk/autogen/nodemapper.js Sun Mar 7 21:26:13 2010
+++ /trunk/autogen/nodemapper.js Wed Mar 10 09:31:52 2010
@@ -1117,29 +1117,36 @@
"http://my.opera.com/", "/xml/foaf/");
})();
(function(){
+var BUZZ_PATH_REGEXP = /^\/buzz\/(\w{10,})(?:$|\.xml|\#|\/)/;
+var pingUrlToGraphNode = function(url, host, path) {
+ var m;
+ if (m = BUZZ_PATH_REGEXP.exec(path)) {
+ return "sgn://ping.fm/?pk=buzz" + m[1];
+ }
+ return url;
+};
+var sgnToHttpProfile = function (pk) {
+ if (pk.substr(0, 4) == "buzz") {
+ return "http://ping.fm/buzz/" + pk.substr(4);
+ }
+};
+var sgnToHttpAtom = function (pk) {
+ if (pk.substr(0, 4) == "buzz") {
+ return "http://ping.fm/buzz/" + pk.substr(4) + ".xml";
+ }
+};
nodemapper.registerDomain(
"ping.fm",
{ name: "Ping.fm",
- pkRegexp: /\w{10,}/,
+ pkRegexp: /^buzz\w{10,}$/, // maybe other types in future?
identRegexp: /^$/,
accountToSgn: {
- pk: ["buzz.ping.fm", /\w{10,}/]
+ pk: ["ping.fm", /^buzz\w{10,}$/]
},
- urlToGraphNode: nodemapper.createPathRegexpHandler(
- "buzz.ping.fm", // fake domain
- /\/buzz\/(\w{10,})(?:$|\.xml|\#|\/)/,
- {casePreserve: true,
- keyName: "pk"})
+ urlToGraphNode: pingUrlToGraphNode,
+ pk_to_profile: sgnToHttpProfile,
+ pk_to_atom: sgnToHttpAtom
});
-nodemapper.registerDomain(
- "buzz.ping.fm",
- { name: "Ping.fm Buzz support",
- notMassMarketSite: 1 // hack to hide internal fake domain
- })
-nodemapper.addSimpleHandler("buzz.ping.fm", "pk_to_profile",
- "http://ping.fm/buzz/");
-nodemapper.addSimpleHandler("buzz.ping.fm", "pk_to_atom",
- "http://ping.fm/buzz/", ".xml");
})();
(function(){
nodemapper.registerDomain(
=======================================
--- /trunk/autogen/nodemapper_debug.js Sun Mar 7 21:26:13 2010
+++ /trunk/autogen/nodemapper_debug.js Wed Mar 10 09:31:52 2010
@@ -1768,32 +1768,41 @@
//
=========================================================================
// Begin included file sites/pingfm.js
(function(){
+var BUZZ_PATH_REGEXP = /^\/buzz\/(\w{10,})(?:$|\.xml|\#|\/)/;
+
+var pingUrlToGraphNode = function(url, host, path) {
+ var m;
+ if (m = BUZZ_PATH_REGEXP.exec(path)) {
+ return "sgn://ping.fm/?pk=buzz" + m[1];
+ }
+ return url;
+};
+
+var sgnToHttpProfile = function (pk) {
+ if (pk.substr(0, 4) == "buzz") {
+ return "http://ping.fm/buzz/" + pk.substr(4);
+ }
+};
+
+var sgnToHttpAtom = function (pk) {
+ if (pk.substr(0, 4) == "buzz") {
+ return "http://ping.fm/buzz/" + pk.substr(4) + ".xml";
+ }
+};
+
nodemapper.registerDomain(
"ping.fm",
{ name: "Ping.fm",
- pkRegexp: /\w{10,}/,
+ pkRegexp: /^buzz\w{10,}$/, // maybe other types in future?
identRegexp: /^$/,
accountToSgn: {
- pk: ["buzz.ping.fm", /\w{10,}/]
+ pk: ["ping.fm", /^buzz\w{10,}$/]
},
- urlToGraphNode: nodemapper.createPathRegexpHandler(
- "buzz.ping.fm", // fake domain
- /\/buzz\/(\w{10,})(?:$|\.xml|\#|\/)/,
- {casePreserve: true,
- keyName: "pk"})
+ urlToGraphNode: pingUrlToGraphNode,
+ pk_to_profile: sgnToHttpProfile,
+ pk_to_atom: sgnToHttpAtom
});
-nodemapper.registerDomain(
- "buzz.ping.fm",
- { name: "Ping.fm Buzz support",
- notMassMarketSite: 1 // hack to hide internal fake domain
- })
-
-nodemapper.addSimpleHandler("buzz.ping.fm", "pk_to_profile",
- "http://ping.fm/buzz/");
-nodemapper.addSimpleHandler("buzz.ping.fm", "pk_to_atom",
- "http://ping.fm/buzz/", ".xml");
-
})();
// (end of included file sites/pingfm.js)
=======================================
--- /trunk/autogen/nodemapper_tests.js Sun Mar 7 21:26:13 2010
+++ /trunk/autogen/nodemapper_tests.js Wed Mar 10 09:31:52 2010
@@ -379,16 +379,16 @@
["urlToGraphNode", "http://my.opera.com/Molly-Jayne/xml/foaf", "sgn://my.opera.com/?ident=molly-jayne"],
["urlFromGraphNode", "sgn://my.opera.com/?ident=molly-jayne", "foaf", "http://my.opera.com/molly-jayne/xml/foaf/"],
["urlToGraphNode", "http://my.opera.com/molly-jayne/xml/foaf/", "sgn://my.opera.com/?ident=molly-jayne"],
-
["urlToGraphNode", "http://stage.ping.fm/buzz/JIqHIhDG8T1CWDduErJLjaU0YIFFm2MV", "sgn://buzz.ping.fm/?pk=JIqHIhDG8T1CWDduErJLjaU0YIFFm2MV"],
-
["urlToGraphNode", "http://ping.fm/buzz/JIqHIhDG8T1CWDduErJLjaU0YIFFm2MV", "sgn://buzz.ping.fm/?pk=JIqHIhDG8T1CWDduErJLjaU0YIFFm2MV"],
-
["urlToGraphNode", "http://ping.fm/buzz/JIqHIhDG8T1CWDduErJLjaU0YIFFm2MV/", "sgn://buzz.ping.fm/?pk=JIqHIhDG8T1CWDduErJLjaU0YIFFm2MV"],
-
["urlToGraphNode", "http://ping.fm/buzz/JIqHIhDG8T1CWDduErJLjaU0YIFFm2MV#", "sgn://buzz.ping.fm/?pk=JIqHIhDG8T1CWDduErJLjaU0YIFFm2MV"],
-
["urlToGraphNode", "http://ping.fm/buzz/JIqHIhDG8T1CWDduErJLjaU0YIFFm2MV.xml", "sgn://buzz.ping.fm/?pk=JIqHIhDG8T1CWDduErJLjaU0YIFFm2MV"],
-
["urlFromGraphNode", "sgn://buzz.ping.fm/?pk=JIqHIhDG8T1CWDduErJLjaU0YIFFm2MV", "atom", "http://ping.fm/buzz/JIqHIhDG8T1CWDduErJLjaU0YIFFm2MV.xml"],
-
["urlToGraphNode", "http://ping.fm/buzz/JIqHIhDG8T1CWDduErJLjaU0YIFFm2MV.xml", "sgn://buzz.ping.fm/?pk=JIqHIhDG8T1CWDduErJLjaU0YIFFm2MV"],
-
["urlFromGraphNode", "sgn://buzz.ping.fm/?pk=JIqHIhDG8T1CWDduErJLjaU0YIFFm2MV", "profile", "http://ping.fm/buzz/JIqHIhDG8T1CWDduErJLjaU0YIFFm2MV"],
-
["urlToGraphNode", "http://ping.fm/buzz/JIqHIhDG8T1CWDduErJLjaU0YIFFm2MV", "sgn://buzz.ping.fm/?pk=JIqHIhDG8T1CWDduErJLjaU0YIFFm2MV"],
-
["pairToGraphNode", "buzz.ping.fm", "JIqHIhDG8T1CWDduErJLjaU0YIFFm2MV", "sgn://buzz.ping.fm/?pk=JIqHIhDG8T1CWDduErJLjaU0YIFFm2MV"],
+
["urlToGraphNode", "http://stage.ping.fm/buzz/JIqHIhDG8T1CWDduErJLjaU0YIFFm2MV", "sgn://ping.fm/?pk=buzzJIqHIhDG8T1CWDduErJLjaU0YIFFm2MV"],
+
["urlToGraphNode", "http://ping.fm/buzz/JIqHIhDG8T1CWDduErJLjaU0YIFFm2MV", "sgn://ping.fm/?pk=buzzJIqHIhDG8T1CWDduErJLjaU0YIFFm2MV"],
+
["urlToGraphNode", "http://ping.fm/buzz/JIqHIhDG8T1CWDduErJLjaU0YIFFm2MV/", "sgn://ping.fm/?pk=buzzJIqHIhDG8T1CWDduErJLjaU0YIFFm2MV"],
+
["urlToGraphNode", "http://ping.fm/buzz/JIqHIhDG8T1CWDduErJLjaU0YIFFm2MV#", "sgn://ping.fm/?pk=buzzJIqHIhDG8T1CWDduErJLjaU0YIFFm2MV"],
+
["urlToGraphNode", "http://ping.fm/buzz/JIqHIhDG8T1CWDduErJLjaU0YIFFm2MV.xml", "sgn://ping.fm/?pk=buzzJIqHIhDG8T1CWDduErJLjaU0YIFFm2MV"],
+
["urlFromGraphNode", "sgn://ping.fm/?pk=buzzJIqHIhDG8T1CWDduErJLjaU0YIFFm2MV", "atom", "http://ping.fm/buzz/JIqHIhDG8T1CWDduErJLjaU0YIFFm2MV.xml"],
+
["urlToGraphNode", "http://ping.fm/buzz/JIqHIhDG8T1CWDduErJLjaU0YIFFm2MV.xml", "sgn://ping.fm/?pk=buzzJIqHIhDG8T1CWDduErJLjaU0YIFFm2MV"],
+
["urlFromGraphNode", "sgn://ping.fm/?pk=buzzJIqHIhDG8T1CWDduErJLjaU0YIFFm2MV", "profile", "http://ping.fm/buzz/JIqHIhDG8T1CWDduErJLjaU0YIFFm2MV"],
+
["urlToGraphNode", "http://ping.fm/buzz/JIqHIhDG8T1CWDduErJLjaU0YIFFm2MV", "sgn://ping.fm/?pk=buzzJIqHIhDG8T1CWDduErJLjaU0YIFFm2MV"],
+
["pairToGraphNode", "ping.fm", "buzzJIqHIhDG8T1CWDduErJLjaU0YIFFm2MV", "sgn://ping.fm/?pk=buzzJIqHIhDG8T1CWDduErJLjaU0YIFFm2MV"],
["urlToGraphNode", "http://allatigris.gallery.ru/", "sgn://gallery.ru/?ident=allatigris"],
["urlToGraphNode", "http://allatigris.gallery.ru/foaf/", "sgn://gallery.ru/?ident=allatigris"],
["urlToGraphNode", "http://allatigris.gallery.ru/?favs=1", "sgn://gallery.ru/?ident=allatigris"],
=======================================
--- /trunk/sites/pingfm.js Sun Mar 7 21:29:09 2010
+++ /trunk/sites/pingfm.js Wed Mar 10 09:31:52 2010
@@ -15,41 +15,50 @@
* limitations under the License.
**/
+var BUZZ_PATH_REGEXP = /^\/buzz\/(\w{10,})(?:$|\.xml|\#|\/)/;
+
+var pingUrlToGraphNode = function(url, host, path) {
+ var m;
+ if (m = BUZZ_PATH_REGEXP.exec(path)) {
+ return "sgn://ping.fm/?pk=buzz" + m[1];
+ }
+ return url;
+};
+
+var sgnToHttpProfile = function (pk) {
+ if (pk.substr(0, 4) == "buzz") {
+ return "http://ping.fm/buzz/" + pk.substr(4);
+ }
+};
+
+var sgnToHttpAtom = function (pk) {
+ if (pk.substr(0, 4) == "buzz") {
+ return "http://ping.fm/buzz/" + pk.substr(4) + ".xml";
+ }
+};
+
nodemapper.registerDomain(
"ping.fm",
{ name: "Ping.fm",
- pkRegexp: /\w{10,}/,
+ pkRegexp: /^buzz\w{10,}$/, // maybe other types in future?
identRegexp: /^$/,
accountToSgn: {
- pk: ["buzz.ping.fm", /\w{10,}/]
+ pk: ["ping.fm", /^buzz\w{10,}$/]
},
- urlToGraphNode: nodemapper.createPathRegexpHandler(
- "buzz.ping.fm", // fake domain
- /\/buzz\/(\w{10,})(?:$|\.xml|\#|\/)/,
- {casePreserve: true,
- keyName: "pk"})
+ urlToGraphNode: pingUrlToGraphNode,
+ pk_to_profile: sgnToHttpProfile,
+ pk_to_atom: sgnToHttpAtom
});
-nodemapper.registerDomain(
- "buzz.ping.fm",
- { name: "Ping.fm Buzz support",
- notMassMarketSite: 1 // hack to hide internal fake domain
- })
-
-nodemapper.addSimpleHandler("buzz.ping.fm", "pk_to_profile",
- "http://ping.fm/buzz/");
-nodemapper.addSimpleHandler("buzz.ping.fm", "pk_to_atom",
- "http://ping.fm/buzz/", ".xml");
-
__END__
-http://stage.ping.fm/buzz/JIqHIhDG8T1CWDduErJLjaU0YIFFm2MV
sgn://buzz.ping.fm/?pk=JIqHIhDG8T1CWDduErJLjaU0YIFFm2MV
-http://ping.fm/buzz/JIqHIhDG8T1CWDduErJLjaU0YIFFm2MV
sgn://buzz.ping.fm/?pk=JIqHIhDG8T1CWDduErJLjaU0YIFFm2MV
-http://ping.fm/buzz/JIqHIhDG8T1CWDduErJLjaU0YIFFm2MV/
sgn://buzz.ping.fm/?pk=JIqHIhDG8T1CWDduErJLjaU0YIFFm2MV
-http://ping.fm/buzz/JIqHIhDG8T1CWDduErJLjaU0YIFFm2MV#
sgn://buzz.ping.fm/?pk=JIqHIhDG8T1CWDduErJLjaU0YIFFm2MV
-http://ping.fm/buzz/JIqHIhDG8T1CWDduErJLjaU0YIFFm2MV.xml
sgn://buzz.ping.fm/?pk=JIqHIhDG8T1CWDduErJLjaU0YIFFm2MV
-
-atom(sgn://buzz.ping.fm/?pk=JIqHIhDG8T1CWDduErJLjaU0YIFFm2MV)
http://ping.fm/buzz/JIqHIhDG8T1CWDduErJLjaU0YIFFm2MV.xml
-profile(sgn://buzz.ping.fm/?pk=JIqHIhDG8T1CWDduErJLjaU0YIFFm2MV)
http://ping.fm/buzz/JIqHIhDG8T1CWDduErJLjaU0YIFFm2MV
-
-pair(buzz.ping.fm,JIqHIhDG8T1CWDduErJLjaU0YIFFm2MV)
sgn://buzz.ping.fm/?pk=JIqHIhDG8T1CWDduErJLjaU0YIFFm2MV
+http://stage.ping.fm/buzz/JIqHIhDG8T1CWDduErJLjaU0YIFFm2MV
sgn://ping.fm/?pk=buzzJIqHIhDG8T1CWDduErJLjaU0YIFFm2MV
+http://ping.fm/buzz/JIqHIhDG8T1CWDduErJLjaU0YIFFm2MV
sgn://ping.fm/?pk=buzzJIqHIhDG8T1CWDduErJLjaU0YIFFm2MV
+http://ping.fm/buzz/JIqHIhDG8T1CWDduErJLjaU0YIFFm2MV/
sgn://ping.fm/?pk=buzzJIqHIhDG8T1CWDduErJLjaU0YIFFm2MV
+http://ping.fm/buzz/JIqHIhDG8T1CWDduErJLjaU0YIFFm2MV#
sgn://ping.fm/?pk=buzzJIqHIhDG8T1CWDduErJLjaU0YIFFm2MV
+http://ping.fm/buzz/JIqHIhDG8T1CWDduErJLjaU0YIFFm2MV.xml
sgn://ping.fm/?pk=buzzJIqHIhDG8T1CWDduErJLjaU0YIFFm2MV
+
+atom(sgn://ping.fm/?pk=buzzJIqHIhDG8T1CWDduErJLjaU0YIFFm2MV)
http://ping.fm/buzz/JIqHIhDG8T1CWDduErJLjaU0YIFFm2MV.xml
+profile(sgn://ping.fm/?pk=buzzJIqHIhDG8T1CWDduErJLjaU0YIFFm2MV)
http://ping.fm/buzz/JIqHIhDG8T1CWDduErJLjaU0YIFFm2MV
+
+pair(ping.fm,buzzJIqHIhDG8T1CWDduErJLjaU0YIFFm2MV)
sgn://ping.fm/?pk=buzzJIqHIhDG8T1CWDduErJLjaU0YIFFm2MV