SHOW:
|
|
- or go back to the newest paste.
1 | import urllib2 | |
2 | from xml.dom.minidom import parseString | |
3 | ||
4 | output = """<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> | |
5 | <html xmlns="http://www.w3.org/1999/xhtml"> | |
6 | <head> | |
7 | <link rel=stylesheet href="style.css" type="text/css"> | |
8 | <link rel="icon" type="image/png" href="Images/favicon.png"> | |
9 | <meta content="text/html; charset=ISO-8859-1" http-equiv="content-type" /> | |
10 | <title>Brony@Home - Bronies Australia Subteam Stats</title> | |
11 | <script src="sortable.js"></script> | |
12 | <script type="text/javascript"> | |
13 | var _gaq = _gaq || []; | |
14 | _gaq.push(['_setAccount', 'UA-33681696-1']); | |
15 | _gaq.push(['_setDomainName', 'bronyathome.org']); | |
16 | _gaq.push(['_trackPageview']); | |
17 | (function() { | |
18 | var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; | |
19 | ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; | |
20 | var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); | |
21 | })(); | |
22 | </script> | |
23 | <script type="text/javascript"> | |
24 | var _gaq = _gaq || []; | |
25 | _gaq.push(['_setAccount', 'UA-33628138-1']); | |
26 | _gaq.push(['_trackPageview']); | |
27 | (function() { | |
28 | var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; | |
29 | ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; | |
30 | var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); | |
31 | })(); | |
32 | </script> | |
33 | </head> | |
34 | <body> | |
35 | ||
36 | <div class=top> | |
37 | <a href="index.html"><img src="Images/BAHsmall.png" /></a> | |
38 | </div> | |
39 | <br /> | |
40 | <div id=navbarwrapper> | |
41 | <div id=navbar> | |
42 | | <a href=index.html class="navbar">Home</a> | | |
43 | <a href=about.html class="navbar">About</a> | | |
44 | <a href=faq.html class="navbar">FAQ</a> | | |
45 | <a href=competitions.html class="navbar">Competitions</a> | | |
46 | <a href=support.html class="navbar">Support</a> | | |
47 | <a href=stats.html class="navbar">Stats</a> | | |
48 | <a href=thanks.html class="navbar">Special Thanks</a> | | |
49 | <a href=contact.html class="navbar">Contact</a> | | |
50 | </div> | |
51 | </div> | |
52 | <br /> | |
53 | <div class=mainbody> | |
54 | <h2>Brony@Home Sub-Team Stats</h2> | |
55 | <br /> | |
56 | The tables below show statistics for sub-teams, where several members are grouped together by the community they are in | |
57 | <br /> | |
58 | <br /> | |
59 | <div class=MidAlign> | |
60 | <div class=table> | |
61 | <h3>Bronies Australia</h3> | |
62 | <table class=sortable> | |
63 | <thead> | |
64 | <tr><th>Username</th><th>Points</th><th>PPD</th><th>WUs</th></tr> | |
65 | </thead> | |
66 | <tbody>""" | |
67 | ||
68 | BAUfolders = ["620550", "601869", "616189", "617821", "617520", "617927", "619979", "619707", "614439", "621361", "618516", "617827", "619460", "618554", "619070", "621155", "619839", "618904", "617911", "617856", "620416", "621253", "621071", "619112", "621126", "616548", "617534", "617773", "619362"] | |
69 | ||
70 | BAUTotal = 0 | |
71 | BAUWU = 0 | |
72 | BAUPPD = 0 | |
73 | ||
74 | for user in BAUfolders: | |
75 | file = urllib2.urlopen("http://folding.extremeoverclocking.com/xml/user_summary.php?u=" +user) | |
76 | data = file.read() | |
77 | file.close() | |
78 | dom = parseString(data) | |
79 | userName = dom.getElementsByTagName("User_Name")[0].toxml() | |
80 | userName = userName.replace("<User_Name>","").replace("</User_Name>","") | |
81 | userPoints = dom.getElementsByTagName("Points")[1].toxml() | |
82 | userPoints = userPoints.replace("<Points>","").replace("</Points>","") | |
83 | userPoints = int(userPoints) | |
84 | BAUTotal += userPoints | |
85 | PointsCom = '{:,d}'.format(userPoints) | |
86 | PPD = dom.getElementsByTagName("Points_24hr_Avg")[1].toxml() | |
87 | PPD = PPD.replace("<Points_24hr_Avg>","").replace("</Points_24hr_Avg>","") | |
88 | PPD = int(PPD) | |
89 | BAUPPD += PPD | |
90 | PPDCom = '{:,d}'.format(PPD) | |
91 | WUs = dom.getElementsByTagName("WUs")[1].toxml() | |
92 | WUs = WUs.replace("<WUs>","").replace("</WUs>","") | |
93 | WUs = int(WUs) | |
94 | BAUWU += WUs | |
95 | WUsCom = '{:,d}'.format(WUs) | |
96 | if PPD == 0: | |
97 | say = "<tr class='inactive'><td>" +userName +"</td><td>" +PointsCom +"</td><td>" +PPDCom +"</td><td>" +WUsCom +"</td></tr>" | |
98 | output += say | |
99 | output += "\n" | |
100 | print say | |
101 | elif PPD > 6000: | |
102 | say = "<tr class='poweruser'><td>" +userName +"</td><td>" +PointsCom +"</td><td>" +PPDCom +"</td><td>" +WUsCom +"</td></tr>" | |
103 | output += say | |
104 | output += "\n" | |
105 | print say | |
106 | elif PPD > 3000 and PPD < 6001: | |
107 | say = "<tr class='normal'><td>" +userName +"</td><td>" +PointsCom +"</td><td>" +PPDCom +"</td><td>" +WUsCom +"</td></tr>" | |
108 | output += say | |
109 | output += "\n" | |
110 | print say | |
111 | else: | |
112 | say = "<tr><td>" +userName +"</td><td>" +PointsCom +"</td><td>" +PPDCom +"</td><td>" +WUsCom +"</td></tr>" | |
113 | output += say | |
114 | output += "\n" | |
115 | print say | |
116 | ||
117 | output += """ | |
118 | ||
119 | <div class=table> | |
120 | <h3>Neoseeker</h3> | |
121 | <table class=sortable> | |
122 | <thead> | |
123 | <tr><th>Username</th><th>Points</th><th>PPD</th><th>WUs</th></tr> | |
124 | </thead> | |
125 | <tbody>""" | |
126 | ||
127 | #Insert Script here, remove table data from next line. | |
128 | ||
129 | output += """<tr><td>Whatsapokemon</td><td>2,587,280</td><td>177,028</td><td>1,754</td></tr><tr><td>hiigaran</td><td>2,021,839</td><td>195</td><td>725</td></tr><tr><td>Soggy_Doggy</td><td>1,054,750</td><td>0</td><td>601</td></tr><tr><td>Octavia_BAU</td><td>748,489</td><td>20,185</td><td>445</td></tr><tr><td>Cezzlo</td><td>608,027</td><td>6,316</td><td>385</td></tr><tr><td>Paingod556_BAU</td><td>552,413</td><td>7,490</td><td>250</td></tr><tr><td>robberbutton</td><td>182,907</td><td>9,494</td><td>111</td></tr><tr><td>Opine</td><td>171,482</td><td>7,494</td><td>120</td></tr><tr><td>Sellyme</td><td>159,393</td><td>2,826</td><td>112</td></tr><tr><td>thorium220</td><td>109,580</td><td>2,070</td><td>41</td></tr><tr><td>Cameron_D</td><td>86,886</td><td>0</td><td>127</td></tr><tr><td>EmberFiremane</td><td>85,382</td><td>6,652</td><td>48</td></tr><tr><td>Augui</td><td>34,014</td><td>0</td><td>10</td></tr><tr><td>AzureDemon_BAU</td><td>29,619</td><td>2,397</td><td>37</td></tr><tr><td>sacred_flame101</td><td>26,159</td><td>822</td><td>17</td></tr><tr><td>Ember</td><td>22,680</td><td>0</td><td>13</td></tr><tr><td>Whitehaven</td><td>16,251</td><td>416</td><td>29</td></tr><tr><td>SeaSpray</td><td>15,099</td><td>0</td><td>42</td></tr><tr><td>BuiAdaptive</td><td>12,845</td><td>0</td><td>7</td></tr><tr><td>BlackJax</td><td>9,821</td><td>457</td><td>10</td></tr><tr><td>Makakai</td><td>6,077</td><td>0</td><td>4</td></tr><tr><td>FaithlessHyren</td><td>6,233</td><td>878</td><td>12</td></tr><tr><td>The_Smooze</td><td>3,580</td><td>0</td><td>6</td></tr><tr><td>Evdog</td><td>2,844</td><td>32</td><td>6</td></tr><tr><td>TheRainbowDawn</td><td>1,790</td><td>222</td><td>8</td></tr><tr><td>WestJ</td><td>1,588</td><td>0</td><td>1</td></tr><tr><td>Multifish</td><td>656</td><td>0</td><td>6</td></tr><tr><td>Paingod556</td><td>488</td><td>0</td><td>4</td></tr><tr><td>ajhgfa</td><td>199</td><td>0</td><td>1</td></tr> | |
130 | </body> | |
131 | </table> | |
132 | </div> | |
133 | <br /><br /> | |
134 | <div class=table> | |
135 | <h3>UK of Equestria</h3> | |
136 | <table class=sortable> | |
137 | <thead> | |
138 | <tr><th>Username</th><th>Points</th><th>PPD</th><th>WUs</th></tr> | |
139 | </thead> | |
140 | <tbody>""" | |
141 | ||
142 | #Insert Script here, remove table data from next line. | |
143 | ||
144 | output += """<tr><td>Whatsapokemon</td><td>2,587,280</td><td>177,028</td><td>1,754</td></tr><tr><td>hiigaran</td><td>2,021,839</td><td>195</td><td>725</td></tr><tr><td>Soggy_Doggy</td><td>1,054,750</td><td>0</td><td>601</td></tr><tr><td>Octavia_BAU</td><td>748,489</td><td>20,185</td><td>445</td></tr><tr><td>Cezzlo</td><td>608,027</td><td>6,316</td><td>385</td></tr><tr><td>Paingod556_BAU</td><td>552,413</td><td>7,490</td><td>250</td></tr><tr><td>robberbutton</td><td>182,907</td><td>9,494</td><td>111</td></tr><tr><td>Opine</td><td>171,482</td><td>7,494</td><td>120</td></tr><tr><td>Sellyme</td><td>159,393</td><td>2,826</td><td>112</td></tr><tr><td>thorium220</td><td>109,580</td><td>2,070</td><td>41</td></tr><tr><td>Cameron_D</td><td>86,886</td><td>0</td><td>127</td></tr><tr><td>EmberFiremane</td><td>85,382</td><td>6,652</td><td>48</td></tr><tr><td>Augui</td><td>34,014</td><td>0</td><td>10</td></tr><tr><td>AzureDemon_BAU</td><td>29,619</td><td>2,397</td><td>37</td></tr><tr><td>sacred_flame101</td><td>26,159</td><td>822</td><td>17</td></tr><tr><td>Ember</td><td>22,680</td><td>0</td><td>13</td></tr><tr><td>Whitehaven</td><td>16,251</td><td>416</td><td>29</td></tr><tr><td>SeaSpray</td><td>15,099</td><td>0</td><td>42</td></tr><tr><td>BuiAdaptive</td><td>12,845</td><td>0</td><td>7</td></tr><tr><td>BlackJax</td><td>9,821</td><td>457</td><td>10</td></tr><tr><td>Makakai</td><td>6,077</td><td>0</td><td>4</td></tr><tr><td>FaithlessHyren</td><td>6,233</td><td>878</td><td>12</td></tr><tr><td>The_Smooze</td><td>3,580</td><td>0</td><td>6</td></tr><tr><td>Evdog</td><td>2,844</td><td>32</td><td>6</td></tr><tr><td>TheRainbowDawn</td><td>1,790</td><td>222</td><td>8</td></tr><tr><td>WestJ</td><td>1,588</td><td>0</td><td>1</td></tr><tr><td>Multifish</td><td>656</td><td>0</td><td>6</td></tr><tr><td>Paingod556</td><td>488</td><td>0</td><td>4</td></tr><tr><td>ajhgfa</td><td>199</td><td>0</td><td>1</td></tr> | |
145 | </body> | |
146 | </table> | |
147 | </div> | |
148 | <br /><br /> | |
149 | <div class=table> | |
150 | <h3>MLP Music Archive</h3> | |
151 | <table class=sortable> | |
152 | <thead> | |
153 | <tr><th>Username</th><th>Points</th><th>PPD</th><th>WUs</th></tr> | |
154 | </thead> | |
155 | <tbody>""" | |
156 | ||
157 | #Insert Script here, remove table data next line. | |
158 | ||
159 | output += """<tr><td>Whatsapokemon</td><td>2,587,280</td><td>177,028</td><td>1,754</td></tr><tr><td>hiigaran</td><td>2,021,839</td><td>195</td><td>725</td></tr><tr><td>Soggy_Doggy</td><td>1,054,750</td><td>0</td><td>601</td></tr><tr><td>Octavia_BAU</td><td>748,489</td><td>20,185</td><td>445</td></tr><tr><td>Cezzlo</td><td>608,027</td><td>6,316</td><td>385</td></tr><tr><td>Paingod556_BAU</td><td>552,413</td><td>7,490</td><td>250</td></tr><tr><td>robberbutton</td><td>182,907</td><td>9,494</td><td>111</td></tr><tr><td>Opine</td><td>171,482</td><td>7,494</td><td>120</td></tr><tr><td>Sellyme</td><td>159,393</td><td>2,826</td><td>112</td></tr><tr><td>thorium220</td><td>109,580</td><td>2,070</td><td>41</td></tr><tr><td>Cameron_D</td><td>86,886</td><td>0</td><td>127</td></tr><tr><td>EmberFiremane</td><td>85,382</td><td>6,652</td><td>48</td></tr><tr><td>Augui</td><td>34,014</td><td>0</td><td>10</td></tr><tr><td>AzureDemon_BAU</td><td>29,619</td><td>2,397</td><td>37</td></tr><tr><td>sacred_flame101</td><td>26,159</td><td>822</td><td>17</td></tr><tr><td>Ember</td><td>22,680</td><td>0</td><td>13</td></tr><tr><td>Whitehaven</td><td>16,251</td><td>416</td><td>29</td></tr><tr><td>SeaSpray</td><td>15,099</td><td>0</td><td>42</td></tr><tr><td>BuiAdaptive</td><td>12,845</td><td>0</td><td>7</td></tr><tr><td>BlackJax</td><td>9,821</td><td>457</td><td>10</td></tr><tr><td>Makakai</td><td>6,077</td><td>0</td><td>4</td></tr><tr><td>FaithlessHyren</td><td>6,233</td><td>878</td><td>12</td></tr><tr><td>The_Smooze</td><td>3,580</td><td>0</td><td>6</td></tr><tr><td>Evdog</td><td>2,844</td><td>32</td><td>6</td></tr><tr><td>TheRainbowDawn</td><td>1,790</td><td>222</td><td>8</td></tr><tr><td>WestJ</td><td>1,588</td><td>0</td><td>1</td></tr><tr><td>Multifish</td><td>656</td><td>0</td><td>6</td></tr><tr><td>Paingod556</td><td>488</td><td>0</td><td>4</td></tr><tr><td>ajhgfa</td><td>199</td><td>0</td><td>1</td></tr> | |
160 | </body> | |
161 | </table> | |
162 | </div> | |
163 | </div> | |
164 | <br /> | |
165 | To do: | |
166 | <br/> | |
167 | Add total team stats | |
168 | <br/> | |
169 | Improve content under first header | |
170 | <br/> | |
171 | Add some kind of contact/communication method for adding new members/teams | |
172 | </div> | |
173 | <br /> | |
174 | <div class=bottom> | |
175 | <a href="http://www.tumblr.com/share" target="_blank" title="Share on Tumblr" style="display:inline-block; text-indent:-9999px; overflow:hidden; width:20px; height:20px; background:url('http://platform.tumblr.com/v1/share_4.png') top left no-repeat transparent;"><img src="Images/Tuicon.png" /></a> | |
176 | <a href=http://www.facebook.com/share.php?u=http://www.bronyathome.org target="_blank"><img src="Images/FBicon.png" /></a> | |
177 | <a href=http://twitter.com/share?url=http://www.bronyathome.org&lang=en target="_blank"><img src="Images/Ticon.png" /></a> | |
178 | <a href=http://reddit.com/submit?url=http://www.bronyathome.org&title=Brony%40Home target="_blank"><img src="Images/Ricon.png" /></a> | |
179 | <a href=https://plusone.google.com/_/+1/confirm?hl=en&url=http://www.bronyathome.org/ target="_blank"><img src="Images/Gicon.png" /></a> | |
180 | </div> | |
181 | <br /> | |
182 | </body> | |
183 | </html> | |
184 | """ | |
185 | ||
186 | BAUTotalCom = '{:,d}'.format(BAUTotal) | |
187 | BAUPPDTotCom = '{:,d}'.format(BAUPPD) | |
188 | BAUWUTotCom = '{:,d}'.format(BAUWU) | |
189 | ||
190 | print "BAU total points: " +BAUTotalCom | |
191 | print "BAU total PPD: " +BAUPPDTotCom | |
192 | print "BAU total WUs: " +BAUWUTotCom | |
193 | ||
194 | bahPoints = dom.getElementsByTagName("Points")[0].toxml() | |
195 | bahPoints = bahPoints.replace("<Points>","").replace("</Points>","") | |
196 | bahPoints = int(bahPoints) | |
197 | bahPPD = dom.getElementsByTagName("Points_24hr_Avg")[0].toxml() | |
198 | bahPPD = bahPPD.replace("<Points_24hr_Avg>","").replace("</Points_24hr_Avg>","") | |
199 | bahPPD = int(bahPPD) | |
200 | bahWU = dom.getElementsByTagName("WUs")[0].toxml() | |
201 | bahWU = bahWU.replace("<WUs>","").replace("</WUs>","") | |
202 | bahWU = int(bahWU) | |
203 | ||
204 | BAUpointspercent = 100.0*BAUTotal/bahPoints | |
205 | BAUPPDpercent = 100.0*BAUPPD/bahPPD | |
206 | BAUWUpercent = 100.0*BAUWU/bahWU | |
207 | ||
208 | print "Bronies Australia is responsible for " +str(BAUpointspercent) +"% of the Brony@Home team's total points" | |
209 | print "We are also responsible for " +str(BAUPPDpercent) +"% of the team's PPD" | |
210 | print "And we have returned " +str(BAUWUpercent) +"% of the team's Work Units" | |
211 | ||
212 | f = open("Subteams\output.html", "w") | |
213 | f.write(output) | |
214 | f.close() | |
215 | ||
216 | raw_input('Press Enter to exit') |