1+ // Script for Hibiscus Depot Viewer
2+ // Original version by b3nn0
3+ // Updated 17.12.2024 by dirkhe and faiteanu
4+
15var ArrayList = java . util . ArrayList ;
26var Logger = Packages . de . willuhn . logging . Logger ;
37
@@ -12,7 +16,7 @@ function getAPIVersion() {
1216} ;
1317
1418function getVersion ( ) {
15- return "2024-02-25 " ;
19+ return "2024-12-17 " ;
1620} ;
1721
1822function getName ( ) {
@@ -31,30 +35,49 @@ function prepare(fetch, search, startyear, startmon, startday, stopyear, stopmon
3135 s = search ;
3236 y1 = startyear ; m1 = startmon ; d1 = startday ;
3337 y2 = stopyear ; m2 = stopmon ; d2 = stopday ;
34- return new ArrayList ( ) ;
38+
39+ var cfgliste = new ArrayList ( ) ;
40+
41+ // Währung
42+ var currencies = new Packages . jsq . config . Config ( "Waehrung" ) ;
43+ currencies . addAuswahl ( "EUR" , new String ( "waehrung" ) ) ;
44+ currencies . addAuswahl ( "USD" , new String ( "waehrung" ) ) ;
45+
46+ cfgliste . add ( currencies ) ;
47+
48+ return cfgliste ;
3549}
3650
3751function process ( config ) {
3852 Logger . info ( "process..." ) ;
53+ var currency = "EUR" ;
54+ for ( i = 0 ; i < config . size ( ) ; i ++ ) {
55+ var cfg = config . get ( i ) ;
56+ for ( j = 0 ; j < cfg . getSelected ( ) . size ( ) ; j ++ ) {
57+ var o = cfg . getSelected ( ) . get ( j ) ;
58+ if ( o . getObj ( ) . toString ( ) . equals ( "waehrung" ) ) {
59+ currency = o . toString ( ) ;
60+ }
61+ }
62+ }
63+
3964 var webClient = fetcher . getWebClient ( false ) ;
4065
41- var page = webClient . getPage ( "https://api.portfolio-report.net/securities/search/ " + s ) ;
66+ var page = webClient . getPage ( "https://api.portfolio-report.net/v1/ securities/search?q= " + s ) ;
4267 var json = JSON . parse ( page . getWebResponse ( ) . getContentAsString ( ) ) ;
4368 var uuid = json [ 0 ] [ "uuid" ] ;
4469
4570 var startDate = new Date ( y1 , m1 , d1 ) ;
4671
4772 var start = startDate . toISOString ( ) . substring ( 0 , 10 ) ;
48- page = webClient . getPage ( "https://api.portfolio-report.net/securities/uuid/" + uuid + "/markets/XETR ?from=" + start ) ;
73+ page = webClient . getPage ( "https://api.portfolio-report.net/securities/uuid/" + uuid + "/prices/" + currency + " ?from=" + start ) ;
4974 var jsondata = page . getWebResponse ( ) . getContentAsString ( ) ;
5075
5176 var data = JSON . parse ( jsondata ) ;
5277
53- var currency = data [ "currencyCode" ] ;
54-
5578 var res = new ArrayList ( ) ;
56- for ( var i = 0 ; i < data [ "prices" ] . length ; i ++ ) {
57- var price = data [ "prices" ] [ i ] ;
79+ for ( var i = 0 ; i < data . length ; i ++ ) {
80+ var price = data [ i ] ;
5881 var dc = new Packages . jsq . datastructes . Datacontainer ( ) ;
5982 dc . put ( "currency" , currency ) ;
6083 dc . put ( "date" , Packages . jsq . tools . VarTools . parseDate ( price [ "date" ] , "yyyy-MM-dd" ) ) ;
@@ -69,4 +92,3 @@ function process(config) {
6992 }
7093 fetcher . setHistQuotes ( res ) ;
7194}
72-
0 commit comments