Skip to content

Commit 27f4fb8

Browse files
committed
Fix for portfolio-report.net #12
1 parent 26b5303 commit 27f4fb8

2 files changed

Lines changed: 32 additions & 10 deletions

File tree

docs/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
2020
## PortfolioReport
2121
22-
- [portfolioreport.js](https://raw.githubusercontent.com/faiteanu/JavaStockQuotes/master/js/portfolioreport.js) (zuletzt geändert 04.04.2024)
22+
- [portfolioreport.js](https://raw.githubusercontent.com/faiteanu/JavaStockQuotes/master/js/portfolioreport.js) (zuletzt geändert 17.12.2024)
2323
herunterladen und unter Windows speichern unter
2424
`C:\Users\{USERNAME}\.jameica\hibiscus.depotviewer\js`
2525
Unter Linux das entsprechende Benutzer-Verzeichnis wählen.

js/portfolioreport.js

Lines changed: 31 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
// Script for Hibiscus Depot Viewer
2+
// Original version by b3nn0
3+
// Updated 17.12.2024 by dirkhe and faiteanu
4+
15
var ArrayList = java.util.ArrayList;
26
var Logger = Packages.de.willuhn.logging.Logger;
37

@@ -12,7 +16,7 @@ function getAPIVersion() {
1216
};
1317

1418
function getVersion() {
15-
return "2024-02-25";
19+
return "2024-12-17";
1620
};
1721

1822
function 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

3751
function 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

Comments
 (0)