linterna-magica-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[linterna-magica-commit] [272] Add support for PRI.org.


From: Ivaylo Valkov
Subject: [linterna-magica-commit] [272] Add support for PRI.org.
Date: Sun, 29 Apr 2012 08:28:07 +0000

Revision: 272
          
http://svn.sv.gnu.org/viewvc/?view=rev&root=linterna-magica&revision=272
Author:   valkov
Date:     2012-04-29 08:28:06 +0000 (Sun, 29 Apr 2012)
Log Message:
-----------
Add support for PRI.org. Fixes support #108039. Framework changed: function 
skip_video_link_extraction can be used to set the link if an object is returned.

Ticket Links:
------------
    http://savannah.gnu.org/support/?108039

Modified Paths:
--------------
    trunk/src/lm_extract_dom_objects.js
    trunk/src/lm_sites.js

Added Paths:
-----------
    trunk/src/lm_site_priorg.js

Modified: trunk/src/lm_extract_dom_objects.js
===================================================================
--- trunk/src/lm_extract_dom_objects.js 2012-04-21 08:38:09 UTC (rev 271)
+++ trunk/src/lm_extract_dom_objects.js 2012-04-29 08:28:06 UTC (rev 272)
@@ -3,7 +3,7 @@
 //
 //  This file is part of Linterna Mágica
 //
-//  Copyright (C) 2010, 2011  Ivaylo Valkov <address@hidden>
+//  Copyright (C) 2010, 2011, 2012 Ivaylo Valkov <address@hidden>
 //  Copyright (C) 2010  Anton Katsarov <address@hidden>
 //
 //  The JavaScript code in this page (or file) is free software: you
@@ -438,7 +438,7 @@
                "skip_link_extraction",
                window.location.hostname]);
 
-           if (val)
+           if (val && typeof(val) == "boolean")
            {
                this.log("LinternaMagica.extract_link_from_param_list:\n"+
                         "Trying to extract a link from"+
@@ -449,6 +449,10 @@
                    extracted.link = this.extract_link();
                }
            }
+           else if (typeof(val) != "boolean")
+           {
+               extracted = val;
+           }
 
            if (!extracted.link)
            {

Added: trunk/src/lm_site_priorg.js
===================================================================
--- trunk/src/lm_site_priorg.js                         (rev 0)
+++ trunk/src/lm_site_priorg.js 2012-04-29 08:28:06 UTC (rev 272)
@@ -0,0 +1,69 @@
+//  @licstart The following is the entire license notice for the
+//  JavaScript code in this page (or file).
+//
+//  This file is part of Linterna Mágica
+//
+//  Copyright (C) 2012 Ivaylo Valkov <address@hidden>
+//
+//  The JavaScript code in this page (or file) is free software: you
+//  can redistribute it and/or modify it under the terms of the GNU
+//  General Public License (GNU GPL) as published by the Free Software
+//  Foundation, either version 3 of the License, or (at your option)
+//  any later version.  The code is distributed WITHOUT ANY WARRANTY
+//  without even the implied warranty of MERCHANTABILITY or FITNESS
+//  FOR A PARTICULAR PURPOSE.  See the GNU GPL for more details.
+//
+//  As additional permission under GNU GPL version 3 section 7, you
+//  may distribute non-source (e.g., minimized or compacted) forms of
+//  that code without the copy of the GNU GPL normally required by
+//  section 4, provided you include this license notice and a URL
+//  through which recipients can access the Corresponding Source.
+//
+//  @licend The above is the entire license notice for the JavaScript
+//  code in this page (or file).
+//
+// @source http://linterna-magica.nongnu.org
+
+// END OF LICENSE HEADER
+
+LinternaMagica.prototype.sites["pri.org"] = new Object();
+
+// Reference 
+LinternaMagica.prototype.sites["www.pri.org"] = "pri.org";
+
+// The swf object is part of the HTML body. Scanning scripts is useless.
+LinternaMagica.prototype.sites["pri.org"].no_flash_plugin_installed =
+function()
+{
+    return true;
+}
+
+// Force link extraction
+LinternaMagica.prototype.sites["pri.org"].skip_link_extraction = function()
+{
+    var player = document.getElementById("shoutcast");
+
+    if (!player)
+    {
+       return null;
+    }
+
+    var extracted_data = new Object();
+    extracted_data.link = "http://www.pri.org/stream/listen.pls";;
+    extracted_data.hd_links = new Array();
+
+    var links = ["pri1", "pri1-fallback", "pri2-fallback" ];
+
+    for (var pl=0, l=links.length; pl<l; pl++  )
+    {
+       var link = new Object();
+       var cnt = parseInt(pl+1);
+       link.url = "http://pri-ice.streamguys.biz/"+links[pl];
+       link.label = this._("Link")+" "+cnt;
+       link.more_info = "Public Radio International #"+cnt;
+       extracted_data.hd_links.push(link);
+    }
+
+    return extracted_data;
+}
+

Modified: trunk/src/lm_sites.js
===================================================================
--- trunk/src/lm_sites.js       2012-04-21 08:38:09 UTC (rev 271)
+++ trunk/src/lm_sites.js       2012-04-29 08:28:06 UTC (rev 272)
@@ -3,7 +3,7 @@
 //
 //  This file is part of Linterna Mágica
 //
-//  Copyright (C) 2011  Ivaylo Valkov <address@hidden>
+//  Copyright (C) 2011, 2012 Ivaylo Valkov <address@hidden>
 //
 //  The JavaScript code in this page (or file) is free software: you
 //  can redistribute it and/or modify it under the terms of the GNU
@@ -109,6 +109,10 @@
 // function does not stop link extraction. See comments after
 // LinternaMagica.prototype.sites. See
 // lm_site_youtube.js:skip_link_extraction
+//
+// If the returned value is true and not boolean it will be used as
+// the object that has extracted data. See
+// lm_site_priorg.js:skip_link_extraction
 LinternaMagica.prototype.sites.__skip_link_extraction = function()
 {
     return true;




reply via email to

[Prev in Thread] Current Thread [Next in Thread]