@@ -5,17 +5,28 @@ var Plugin = require("../modules/Plugin");
5
5
var Utils = require ( "../modules/Utilities" ) ;
6
6
var xbox = Object . create ( Plugin ) . init ( "xbox" , "Xbox Music" , / m u s i c \. x b o x \. c o m / i) ;
7
7
8
+ xbox . test = function ( ) {
9
+ var domainMatch = this . hostre . test ( document . location . hostname ) ;
10
+ var playerFound = $ ( "#player" ) . length > 0 ;
11
+
12
+ return domainMatch && playerFound ;
13
+ } ;
14
+
8
15
xbox . scrape = function ( ) {
9
16
var $player = $ ( "#player" ) ;
10
17
var $playerControls = $ ( ".playerControls" , $player ) ;
11
18
var $playerDuration = $ ( ".playerDuration" , $player ) ;
12
19
var $playerMetadata = $ ( ".playerNowPlayingMetadata:visible" , $player ) ;
13
- var artist = $ ( ".secondaryMetadata > a" , $playerMetadata ) . attr ( "title" ) ;
14
- var title = $ ( ".primaryMetadata > a" , $playerMetadata ) . attr ( "title" ) ;
15
- var duration = $ ( ".playerDurationTextRemaining" , $playerDuration ) . text ( ) ;
16
- var elapsed = $ ( ".playerDurationTextOnGoing" , $playerDuration ) . text ( ) ;
20
+ var artist = $ . trim ( $ ( ".secondaryMetadata > a" , $playerMetadata ) . attr ( "title" ) ) ;
21
+ var title = $ . trim ( $ ( ".primaryMetadata > a" , $playerMetadata ) . attr ( "title" ) ) ;
22
+ var duration = $ . trim ( $ ( ".playerDurationTextRemaining" , $playerDuration ) . text ( ) ) ;
23
+ var elapsed = $ . trim ( $ ( ".playerDurationTextOnGoing" , $playerDuration ) . text ( ) ) ;
17
24
var stopped = $ ( ".iconPlayerPlay" , $playerControls ) . length ? true : false ;
18
25
26
+ if ( ! artist . length || ! title . length || ! duration . length ) {
27
+ return { } ;
28
+ }
29
+
19
30
return {
20
31
artist : artist ,
21
32
title : title ,
0 commit comments