forked from yql/yql-tables
/
ygroups.HYEMA.xml
65 lines (63 loc) · 2.63 KB
/
ygroups.HYEMA.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
<?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/264418?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=e&l=1\" and xpath=\"//tr/td[@class='msgnumh smalltype']/p|//tr/td[@class='msgheader']/p|//tr/td[@class='msgheader']/p/a|//tr/td[@class='msgheader']/span[@class='name']/a|//tr/td[@class='msgheader']/a[@class='smalltype ygrp-nowrap']|//tr/td[@class='msg user']/div[@class='form-rowb12']/div[@class='msgarea']/table/tr/td/pre\"";
var yqlquery=y.query(yqlstr1+url+yqlstr2+messageindex+yqlstr3);
var yqlresults=yqlquery.results;
var yqlcounter=parseInt(yqlresults.p.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.p[startindex];
if(checkvar.match(messageindex)!=null)
{
checkvar2=new String("http://groups.yahoo.com");
checkvar3=yqlresults.a[startindex+(startindex/itercount)].@href;
checkvar2=checkvar2.concat(checkvar3);
checkvar4=new String("http://groups.yahoo.com");
checkvar3=yqlresults.a[startindex+(startindex/itercount)+2].@href;
checkvar4=checkvar4.concat(checkvar3);
xmlret.root+=<entry>
<index>{yqlresults.p[startindex].text()}</index>
<nameanddate>{yqlresults.p[startindex+1].text()}</nameanddate>
<messagelink>{checkvar2}</messagelink>
<subject>{yqlresults.a[startindex+(startindex/itercount)].text()}</subject>
<profileurl>{yqlresults.a[startindex+(startindex/itercount)+1].@href}</profileurl>
<signname>{yqlresults.a[startindex+(startindex/itercount)+1].text()}</signname>
<messageresponseurl>{checkvar4}</messageresponseurl>
<messagecontent>{yqlresults.pre[startindex/2]}</messagecontent>
</entry>
startindex=yqlcounter;
}
{
startindex=startindex+itercount;
}
}
response.object=xmlret;
]]>
</execute>
</select>
</bindings>
</table>