move categories into own database
[mygpo.git] / couchdb / general / _design / toplist / views / podcasts / map.js
blobcb27cfa0f9b0a3bc53e765b5f325b084d000413a
1 function (doc)
3     function getLanguage(podcast)
4     {
5         if (podcast.language)
6         {
7             return podcast.language.slice(0, 2);
8         }
10         return null;
11     };
13     function doEmit(language, subscribers)
14     {
15         if(subscribers <= 0)
16         {
17             return;
18         }
20         emit(["", subscribers], null);
22         if(language)
23         {
24             emit([language, subscribers], null);
25         }
26     }
28     if (doc.doc_type == "Podcast")
29     {
30         var language = getLanguage(doc);
32         if(doc.subscribers.length)
33         {
34             subscribers = doc.subscribers[doc.subscribers.length-1].subscriber_count;
35         }
36         else
37         {
38             subscribers = 0;
39         }
41         doEmit(language, subscribers);
42     }
43     else if(doc.doc_type == "PodcastGroup")
44     {
45         var subscribers = 0;
46         var language = null;
48         for(var n in doc.podcasts)
49         {
50             var podcast = doc.podcasts[n];
51             if (podcast.subscribers.length)
52             {
53                 subscribers += podcast.subscribers[podcast.subscribers.length-1].subscriber_count;
54             }
56             if(!language)
57             {
58                 language = getLanguage(podcast);
59             }
60         }
62         doEmit(language, subscribers);
63     }