forked from yql/yql-tables
/
ygroups.HYTMA.xml
66 lines (64 loc) · 2.47 KB
/
ygroups.HYTMA.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
<?xml version="1.0" encoding="UTF-8"?>
<table xmlns="http://query.yahooapis.com/v1/schema/table.xsd" securityLevel="any">
<meta>
<author>HOUYHNHNM</author>
<description>Returns the indexed message from a public yahoo group</description>
<documentationURL>http://pulse.yahoo.com/_VASY5CLHMAYFUT265F7HSL3YHE/blog/articles/264419?listPage=index&bb=0</documentationURL>
<sampleQuery>select * from {table} where url="URL OF YAHOO GROUP" AND messageindex="SOME NUMBER"</sampleQuery>
</meta>
<bindings>
<select itemPath="" produces="XML">
<inputs>
<key id='url' type='xs:string' paramType='variable' required="true" />
<key id='messageindex' type='xs:string' paramType='variable' required="true" />
</inputs>
<execute>
<![CDATA[
var yqlstr1="select * from html where url=\"";
var yqlstr2="/messages/";
var yqlstr3="?xm=1&m=p&tidx=1\" and xpath=\"//tr/td[@class='message']/noscript/a|//tr/td[@class='message']/p|//tr/td[@class='smalltype']/p|//tr/td[@class='date']/a|//tr/td[@class='date']/p\"";
var yqlquery=y.query(yqlstr1+url+yqlstr2+messageindex+yqlstr3);
var yqlresults=yqlquery.results;
var yqlcounter=parseInt(yqlresults.a.length());
var xmlret=new XML();
xmlret=<root></root>;
var startindex=0;
var itercount=2;
var checkvar="";
var checkvar2="";
var checkvar3="";
var checkvar4="";
while(startindex<yqlcounter)
{
checkvar=yqlresults.a[startindex].@href;
if(checkvar.match(messageindex)!=null)
{
checkvar2=new String("http://groups.yahoo.com");
checkvar3=yqlresults.a[startindex].@href;
checkvar2=checkvar2.concat(checkvar3);
checkvar4=new String("http://groups.yahoo.com");
checkvar3=yqlresults.p[startindex+2].span[1].a.@href;
checkvar4=checkvar4.concat(checkvar3);
xmlret.root+=<entry>
<messagelink>{checkvar2}</messagelink>
<topictitle>{yqlresults.a[startindex].span.text()}</topictitle>
<summary>{yqlresults.p[startindex].text()}</summary>
<numbermessages>{yqlresults.p[startindex+1].text()}</numbermessages>
<date>{yqlresults.a[startindex+1].text()}</date>
<username>{yqlresults.p[startindex+2].text()}</username>
<makerprofileurl>{yqlresults.p[startindex+2].span[0].a.@href}</makerprofileurl>
<signname>{yqlresults.p[startindex+2].span[0].a.text()}</signname>
<respondlink>{checkvar4}</respondlink>
</entry>
startindex=yqlcounter;
}else
{
startindex=startindex+itercount;
}
}
response.object=xmlret;
]]>
</execute>
</select>
</bindings>
</table>