parent
54c54d77ca
commit
90f0410c60
@ -0,0 +1 @@ |
||||
{"Name": "", "Description": "", "Hus": "Charlie", "col-left": [], "col-center": [], "col-right": []} |
@ -1 +0,0 @@ |
||||
{"Name": "First example board", "Description": "This is the first example board we have in the database.", "Hus": "Charlie", "col-left": [{"order": 0, "id": "parallel1", "text": "A parallel coordinates plot", "api_url": "..."}], "col-center": [{"order": 0, "id": "grid1", "text": "A grid plot", "api_url": "..."}], "col-right": [{"order": 0, "id": "horizon1", "text": "A horizon plot", "api_url": "..."}]} |
@ -1 +0,0 @@ |
||||
{"Name": "GM", "Description": "", "Hus": "Charlie", "col-left": [], "col-center": [{"order": 0, "id": "grid-580160", "text": "", "api_url": "grid/monthly?hus=Charlie&sensor=Temp_MP1_1_Pos1&type=celsius&year=2023&month=01"}], "col-right": []} |
@ -1 +0,0 @@ |
||||
{"Name": "GY", "Description": "G Yearky", "Hus": "Charlie", "col-left": [], "col-center": [{"order": 0, "id": "grid-405229", "text": "", "api_url": "grid/yearly?hus=Charlie&sensor=Temp_MP1_1_Pos1&type=celsius&year=2023"}], "col-right": []} |
@ -1 +0,0 @@ |
||||
{"Name": "HW", "Description": "", "Hus": "Charlie", "col-left": [], "col-center": [], "col-right": [{"order": 0, "id": "horizon-876464", "text": "", "api_url": "horizon/weekly?hus=Charlie&family=MP1_1&type=celsius&year=2023&week=15"}]} |
@ -0,0 +1 @@ |
||||
{"Name": "eee", "Description": "eeee", "Hus": "Charlie", "col-left": [], "col-center": [{"order": 0, "id": "grid-803064", "text": "", "api_url": "grid/monthly?hus=Charlie&sensor=Temp_MP1_1_Pos1&type=celsius&year=2023&month=01&hour=12"}], "col-right": []} |
@ -0,0 +1 @@ |
||||
{"Name": "ffff", "Description": "ddddd", "Hus": "Charlie", "col-left": [], "col-center": [{"order": 0, "id": "grid-963811", "text": "", "api_url": "grid/monthly?hus=Charlie&sensor=Temp_MP1_1_Pos1&type=celsius&year=2023&month=01&hour=12"}], "col-right": []} |
@ -0,0 +1 @@ |
||||
{"Name": "my1", "Description": "this is my example", "Hus": "Charlie", "col-left": [{"order": 0, "id": "parallel-6847321", "text": "", "api_url": "parallel/yearly?hus=Charlie&family=MP1_1&type=celsius&year=2023&hour=12&day=1"}, {"order": 1, "id": "parallel-9166361", "text": "wwww", "api_url": "parallel/yearly?hus=Charlie&family=MP1_1&type=celsius&year=2023&hour=12&day=1"}], "col-center": [{"order": 0, "id": "grid-6311", "text": "", "api_url": "grid/monthly?hus=Charlie&sensor=Temp_MP1_1_Pos1&type=celsius&year=2023&month=01&hour=12"}], "col-right": [{"order": 0, "id": "horizon-737361", "text": "", "api_url": "horizon/monthly?hus=Charlie&family=MP1_1&type=celsius&year=2023&month=1"}, {"order": 1, "id": "horizon-767913", "text": "", "api_url": "horizon/monthly?hus=Charlie&family=MP1_1&type=celsius&year=2023&month=1"}]} |
@ -1 +0,0 @@ |
||||
{"Name": "test1", "Description": "this is a test", "Hus": "Charlie", "col-left": [{"order": 0, "id": "P-txt-723017", "text": "eeeeeeee", "api_url": null}, {"order": 1, "id": "parallel-4286811", "text": "", "api_url": "parallel/daily?hus=Charlie&family=MP1_1&type=celsius&day=2022-12-15"}], "col-center": [{"order": 0, "id": "G-txt-910177", "text": "err we", "api_url": null}, {"order": 1, "id": "grid-438525", "text": "", "api_url": "grid/yearly?hus=Charlie&sensor=Temp_MP1_1_Pos1&type=celsius&year=2023"}], "col-right": [{"order": 0, "id": "H-txt-974001", "text": "rerer er re", "api_url": null}, {"order": 1, "id": "horizon-487744", "text": "", "api_url": "horizon/daily?hus=Charlie&family=MP1_1&type=celsius&day=2023-02-07"}]} |
@ -1 +0,0 @@ |
||||
{"Name": "test2", "Description": "this is exactly like test1", "Hus": "Charlie", "col-left": [{"order": 0, "id": "P-txt-723017", "text": "eeeeeeeeeeeeeeee", "api_url": null}, {"order": 1, "id": "parallel-4286811", "text": "", "api_url": "parallel/daily?hus=Charlie&family=MP1_1&type=celsius&day=2022-12-15"}], "col-center": [{"order": 0, "id": "G-txt-910177", "text": "err weerr we", "api_url": null}, {"order": 1, "id": "grid-438525", "text": "", "api_url": "grid/yearly?hus=Charlie&sensor=Temp_MP1_1_Pos1&type=celsius&year=2023"}], "col-right": [{"order": 0, "id": "H-txt-974001", "text": "rerer er rererer er re", "api_url": null}, {"order": 1, "id": "horizon-487744", "text": "", "api_url": "horizon/daily?hus=Charlie&family=MP1_1&type=celsius&day=2023-02-07"}]} |
@ -1 +0,0 @@ |
||||
{"Name": "test3", "Description": "test2 has TXT+Diagram -> 1+2, 1+2 and 1+2", "Hus": "Charlie", "col-left": [{"order": 0, "id": "P-txt-723017", "text": "eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee", "api_url": null}, {"order": 1, "id": "parallel-4286811", "text": "", "api_url": "parallel/daily?hus=Charlie&family=MP1_1&type=celsius&day=2022-12-15"}, {"order": 2, "id": "parallel-8519775", "text": "", "api_url": "parallel/yearly?hus=Charlie&family=MP1_1&type=celsius&year=2023"}], "col-center": [{"order": 0, "id": "G-txt-910177", "text": "err weerr weerr weerr we", "api_url": null}, {"order": 1, "id": "grid-438525", "text": "", "api_url": "grid/yearly?hus=Charlie&sensor=Temp_MP1_1_Pos1&type=celsius&year=2023"}, {"order": 2, "id": "grid-628976", "text": "", "api_url": "grid/monthly?hus=Charlie&sensor=Temp_MP1_1_Pos1&type=celsius&year=2023&month=01"}], "col-right": [{"order": 0, "id": "H-txt-974001", "text": "rerer er rererer er rererer er rererer er re", "api_url": null}, {"order": 1, "id": "horizon-487744", "text": "", "api_url": "horizon/daily?hus=Charlie&family=MP1_1&type=celsius&day=2023-02-07"}, {"order": 2, "id": "horizon-138015", "text": "", "api_url": "horizon/weekly?hus=Charlie&family=MP1_1&type=celsius&year=2023&week=14"}]} |
@ -1 +0,0 @@ |
||||
{"Name": "2222222", "Description": "333333333", "Hus": "Pilgatan", "col-left": [], "col-center": [], "col-right": []} |
@ -1 +0,0 @@ |
||||
{"Name": "dddd", "Description": "fff", "Hus": "Pilgatan", "col-left": [], "col-center": [], "col-right": []} |
@ -1 +0,0 @@ |
||||
{"Name": "ee", "Description": "ee", "Hus": "Pilgatan", "col-left": [{"order": 0, "id": "parallel-5047360", "text": "", "api_url": "parallel/daily?hus=Pilgatan&family=SCv1&type=celsius&day=2023-06-06"}], "col-center": [{"order": 0, "id": "grid-175161", "text": "", "api_url": "grid/monthly?hus=Pilgatan&sensor=SCv1-1-Temp&type=celsius&year=2023&month=01"}], "col-right": [{"order": 0, "id": "horizon-970414", "text": "", "api_url": "horizon/daily?hus=Pilgatan&family=SCv1&type=celsius&day=2023-06-05"}]} |
@ -1 +0,0 @@ |
||||
{"Name": "rr", "Description": "rr", "Hus": "Pilgatan", "col-left": [], "col-center": [], "col-right": []} |
@ -0,0 +1,283 @@ |
||||
Importing House: Charlie |
||||
Deleting and recreating 'Charlie.db'... |
||||
New card: 1; table name: Hus_Charlie_card_1 |
||||
Processing ../Data/Charlie/1-2022/1-2022-02.TXT... |
||||
Processing ../Data/Charlie/1-2022/1-2022-08.TXT... |
||||
Processing ../Data/Charlie/1-2022/1-2022-09.TXT... |
||||
Processing ../Data/Charlie/1-2022/1-2022-01.TXT... |
||||
Processing ../Data/Charlie/1-2022/1-2022-11.TXT... |
||||
Processing ../Data/Charlie/1-2022/1-2022-06.TXT... |
||||
Processing ../Data/Charlie/1-2022/1-2022-12.TXT... |
||||
Processing ../Data/Charlie/1-2022/1-2022-03.TXT... |
||||
Processing ../Data/Charlie/1-2022/1-2022-05.TXT... |
||||
Processing ../Data/Charlie/1-2022/1-2022-10.TXT... |
||||
Processing ../Data/Charlie/1-2022/1-2022-07.TXT... |
||||
Processing ../Data/Charlie/1-2022/1-2022-04.TXT... |
||||
New card: 4; table name: Hus_Charlie_card_4 |
||||
Processing ../Data/Charlie/4-2018/4-2018-10.TXT... |
||||
Processing ../Data/Charlie/4-2018/4-2018-12.TXT... |
||||
Processing ../Data/Charlie/4-2018/4-2018-08.TXT... |
||||
Processing ../Data/Charlie/4-2018/4-2018-07.TXT... |
||||
Processing ../Data/Charlie/4-2018/4-2018-09.TXT... |
||||
Processing ../Data/Charlie/4-2018/4-2018-11.TXT... |
||||
Processing ../Data/Charlie/4-2023/4-2023-08.TXT... |
||||
Processing ../Data/Charlie/4-2023/4-2023-07.TXT... |
||||
Processing ../Data/Charlie/4-2023/4-2023-02.TXT... |
||||
Processing ../Data/Charlie/4-2023/4-2023-04.TXT... |
||||
Processing ../Data/Charlie/4-2023/4-2023-03.TXT... |
||||
Processing ../Data/Charlie/4-2023/4-2023-01.TXT... |
||||
Processing ../Data/Charlie/4-2023/4-2023-05.TXT... |
||||
Processing ../Data/Charlie/4-2023/4-2023-06.TXT... |
||||
Processing ../Data/Charlie/1-2023/1-2023-04.TXT... |
||||
- Invalid file format; SKIPPING! 38 37 |
||||
Processing ../Data/Charlie/1-2023/1-2023-07.TXT... |
||||
- Invalid file format; SKIPPING! 38 37 |
||||
Processing ../Data/Charlie/1-2023/1-2023-06.TXT... |
||||
- Invalid file format; SKIPPING! 38 37 |
||||
Processing ../Data/Charlie/1-2023/1-2023-01.TXT... |
||||
- Invalid file format; SKIPPING! 38 37 |
||||
Processing ../Data/Charlie/1-2023/1-2023-03.TXT... |
||||
- Invalid file format; SKIPPING! 38 37 |
||||
Processing ../Data/Charlie/1-2023/1-2023-02.TXT... |
||||
- Invalid file format; SKIPPING! 38 37 |
||||
Processing ../Data/Charlie/1-2023/1-2023-08.TXT... |
||||
- Invalid file format; SKIPPING! 38 37 |
||||
Processing ../Data/Charlie/1-2023/1-2023-05.TXT... |
||||
- Invalid file format; SKIPPING! 38 37 |
||||
Processing ../Data/Charlie/1-2021/1-2021-08.TXT... |
||||
- Invalid file format; SKIPPING! 38 37 |
||||
Processing ../Data/Charlie/1-2021/1-2021-07.TXT... |
||||
- Invalid file format; SKIPPING! 38 37 |
||||
Processing ../Data/Charlie/1-2021/1-2021-11.TXT... |
||||
- Invalid file format; SKIPPING! 38 37 |
||||
Processing ../Data/Charlie/1-2021/1-2021-01.TXT... |
||||
- Invalid file format; SKIPPING! 38 37 |
||||
Processing ../Data/Charlie/1-2021/1-2021-06.TXT... |
||||
- Invalid file format; SKIPPING! 38 37 |
||||
Processing ../Data/Charlie/1-2021/1-2021-03.TXT... |
||||
- Invalid file format; SKIPPING! 38 37 |
||||
Processing ../Data/Charlie/1-2021/1-2021-04.TXT... |
||||
- Invalid file format; SKIPPING! 38 37 |
||||
Processing ../Data/Charlie/1-2021/1-2021-09.TXT... |
||||
- Invalid file format; SKIPPING! 38 37 |
||||
Processing ../Data/Charlie/1-2021/1-2021-05.TXT... |
||||
- Invalid file format; SKIPPING! 38 37 |
||||
Processing ../Data/Charlie/1-2021/1-2021-12.TXT... |
||||
- Invalid file format; SKIPPING! 38 37 |
||||
Processing ../Data/Charlie/1-2021/1-2021-10.TXT... |
||||
- Invalid file format; SKIPPING! 38 37 |
||||
Processing ../Data/Charlie/1-2021/1-2021-02.TXT... |
||||
- Invalid file format; SKIPPING! 38 37 |
||||
Processing ../Data/Charlie/4-2022/4-2022-07.TXT... |
||||
Processing ../Data/Charlie/4-2022/4-2022-02.TXT... |
||||
Processing ../Data/Charlie/4-2022/4-2022-10.TXT... |
||||
Processing ../Data/Charlie/4-2022/4-2022-04.TXT... |
||||
Processing ../Data/Charlie/4-2022/4-2022-12.TXT... |
||||
Processing ../Data/Charlie/4-2022/4-2022-03.TXT... |
||||
Processing ../Data/Charlie/4-2022/4-2022-01.TXT... |
||||
Processing ../Data/Charlie/4-2022/4-2022-09.TXT... |
||||
Processing ../Data/Charlie/4-2022/4-2022-05.TXT... |
||||
Processing ../Data/Charlie/4-2022/4-2022-11.TXT... |
||||
Processing ../Data/Charlie/4-2022/4-2022-06.TXT... |
||||
Processing ../Data/Charlie/4-2022/4-2022-08.TXT... |
||||
Processing ../Data/Charlie/4-2020/4-2020-09.TXT... |
||||
Processing ../Data/Charlie/4-2020/4-2020-10.TXT... |
||||
Processing ../Data/Charlie/4-2020/4-2020-03.TXT... |
||||
Processing ../Data/Charlie/4-2020/4-2020-01.TXT... |
||||
Processing ../Data/Charlie/4-2020/4-2020-05.TXT... |
||||
Processing ../Data/Charlie/4-2020/4-2020-06.TXT... |
||||
Processing ../Data/Charlie/4-2020/4-2020-02.TXT... |
||||
Processing ../Data/Charlie/4-2020/4-2020-08.TXT... |
||||
Processing ../Data/Charlie/4-2020/4-2020-07.TXT... |
||||
Processing ../Data/Charlie/4-2020/4-2020-12.TXT... |
||||
Processing ../Data/Charlie/4-2020/4-2020-04.TXT... |
||||
Processing ../Data/Charlie/4-2020/4-2020-11.TXT... |
||||
Processing ../Data/Charlie/1-2018/1-2018-10.TXT... |
||||
- Invalid file format; SKIPPING! 38 37 |
||||
Processing ../Data/Charlie/1-2018/1-2018-09.TXT... |
||||
- Invalid file format; SKIPPING! 38 37 |
||||
Processing ../Data/Charlie/1-2018/1-2018-12.TXT... |
||||
- Invalid file format; SKIPPING! 38 37 |
||||
Processing ../Data/Charlie/1-2018/1-2018-11.TXT... |
||||
- Invalid file format; SKIPPING! 38 37 |
||||
Processing ../Data/Charlie/1-2018/1-2018-07.TXT... |
||||
- Invalid file format; SKIPPING! 38 37 |
||||
Processing ../Data/Charlie/1-2018/1-2018-08.TXT... |
||||
- Invalid file format; SKIPPING! 38 37 |
||||
Processing ../Data/Charlie/1-2019/1-2019-08.TXT... |
||||
- Invalid file format; SKIPPING! 38 37 |
||||
Processing ../Data/Charlie/1-2019/1-2019-12.TXT... |
||||
- Invalid file format; SKIPPING! 38 37 |
||||
Processing ../Data/Charlie/1-2019/1-2019-10.TXT... |
||||
- Invalid file format; SKIPPING! 38 37 |
||||
Processing ../Data/Charlie/1-2019/1-2019-09.TXT... |
||||
- Invalid file format; SKIPPING! 38 37 |
||||
Processing ../Data/Charlie/1-2019/1-2019-06.TXT... |
||||
- Invalid file format; SKIPPING! 38 37 |
||||
Processing ../Data/Charlie/1-2019/1-2019-07.TXT... |
||||
- Invalid file format; SKIPPING! 38 37 |
||||
Processing ../Data/Charlie/1-2019/1-2019-02.TXT... |
||||
- Invalid file format; SKIPPING! 38 37 |
||||
Processing ../Data/Charlie/1-2019/1-2019-05.TXT... |
||||
- Invalid file format; SKIPPING! 38 37 |
||||
Processing ../Data/Charlie/1-2019/1-2019-03.TXT... |
||||
- Invalid file format; SKIPPING! 38 37 |
||||
Processing ../Data/Charlie/1-2019/1-2019-01.TXT... |
||||
- Invalid file format; SKIPPING! 38 37 |
||||
Processing ../Data/Charlie/1-2019/1-2019-04.TXT... |
||||
- Invalid file format; SKIPPING! 38 37 |
||||
Processing ../Data/Charlie/1-2019/1-2019-11.TXT... |
||||
- Invalid file format; SKIPPING! 38 37 |
||||
Processing ../Data/Charlie/4-2019/4-2019-09.TXT... |
||||
Processing ../Data/Charlie/4-2019/4-2019-07.TXT... |
||||
Processing ../Data/Charlie/4-2019/4-2019-12.TXT... |
||||
Processing ../Data/Charlie/4-2019/4-2019-03.TXT... |
||||
Processing ../Data/Charlie/4-2019/4-2019-11.TXT... |
||||
Processing ../Data/Charlie/4-2019/4-2019-01.TXT... |
||||
Processing ../Data/Charlie/4-2019/4-2019-02.TXT... |
||||
Processing ../Data/Charlie/4-2019/4-2019-05.TXT... |
||||
Processing ../Data/Charlie/4-2019/4-2019-08.TXT... |
||||
Processing ../Data/Charlie/4-2019/4-2019-06.TXT... |
||||
Processing ../Data/Charlie/4-2019/4-2019-04.TXT... |
||||
Processing ../Data/Charlie/4-2019/4-2019-10.TXT... |
||||
Processing ../Data/Charlie/1-2020/1-2020-09.TXT... |
||||
- Invalid file format; SKIPPING! 38 37 |
||||
Processing ../Data/Charlie/1-2020/1-2020-06.TXT... |
||||
- Invalid file format; SKIPPING! 38 37 |
||||
Processing ../Data/Charlie/1-2020/1-2020-08.TXT... |
||||
- Invalid file format; SKIPPING! 38 37 |
||||
Processing ../Data/Charlie/1-2020/1-2020-07.TXT... |
||||
- Invalid file format; SKIPPING! 38 37 |
||||
Processing ../Data/Charlie/1-2020/1-2020-04.TXT... |
||||
- Invalid file format; SKIPPING! 38 37 |
||||
Processing ../Data/Charlie/1-2020/1-2020-03.TXT... |
||||
- Invalid file format; SKIPPING! 38 37 |
||||
Processing ../Data/Charlie/1-2020/1-2020-02.TXT... |
||||
- Invalid file format; SKIPPING! 38 37 |
||||
Processing ../Data/Charlie/1-2020/1-2020-10.TXT... |
||||
- Invalid file format; SKIPPING! 38 37 |
||||
Processing ../Data/Charlie/1-2020/1-2020-01.TXT... |
||||
- Invalid file format; SKIPPING! 38 37 |
||||
Processing ../Data/Charlie/1-2020/1-2020-11.TXT... |
||||
- Invalid file format; SKIPPING! 38 37 |
||||
Processing ../Data/Charlie/1-2020/1-2020-12.TXT... |
||||
- Invalid file format; SKIPPING! 38 37 |
||||
Processing ../Data/Charlie/1-2020/1-2020-05.TXT... |
||||
- Invalid file format; SKIPPING! 38 37 |
||||
Processing ../Data/Charlie/4-2021/4-2021-03.TXT... |
||||
Processing ../Data/Charlie/4-2021/4-2021-10.TXT... |
||||
Processing ../Data/Charlie/4-2021/4-2021-12.TXT... |
||||
Processing ../Data/Charlie/4-2021/4-2021-06.TXT... |
||||
Processing ../Data/Charlie/4-2021/4-2021-07.TXT... |
||||
Processing ../Data/Charlie/4-2021/4-2021-02.TXT... |
||||
Processing ../Data/Charlie/4-2021/4-2021-01.TXT... |
||||
Processing ../Data/Charlie/4-2021/4-2021-11.TXT... |
||||
Processing ../Data/Charlie/4-2021/4-2021-04.TXT... |
||||
Processing ../Data/Charlie/4-2021/4-2021-09.TXT... |
||||
Processing ../Data/Charlie/4-2021/4-2021-08.TXT... |
||||
Processing ../Data/Charlie/4-2021/4-2021-05.TXT... |
||||
Importing House: Pilgatan |
||||
Deleting and recreating 'Pilgatan.db'... |
||||
New card: v6; table name: Hus_Pilgatan_card_v6 |
||||
Processing ../Data/Pilgatan/v6-2023-08.TXT... |
||||
Processing ../Data/Pilgatan/v6-2022-06.TXT... |
||||
New card: v1; table name: Hus_Pilgatan_card_v1 |
||||
Processing ../Data/Pilgatan/v1-2022-10.TXT... |
||||
Processing ../Data/Pilgatan/v1-2021-12.TXT... |
||||
Processing ../Data/Pilgatan/v6-2021-02.TXT... |
||||
- Invalid file format; SKIPPING! 35 185 |
||||
Processing ../Data/Pilgatan/v6-2021-06.TXT... |
||||
- Invalid file format; SKIPPING! 147 185 |
||||
Processing ../Data/Pilgatan/v1-2022-03.TXT... |
||||
Processing ../Data/Pilgatan/v6-2021-07.TXT... |
||||
- Invalid file format; SKIPPING! 147 185 |
||||
Processing ../Data/Pilgatan/v6-2022-08.TXT... |
||||
- Invalid file format; SKIPPING! 147 185 |
||||
Processing ../Data/Pilgatan/v6-2021-05.TXT... |
||||
- Invalid file format; SKIPPING! 147 185 |
||||
Processing ../Data/Pilgatan/v1-2023-07.TXT... |
||||
Processing ../Data/Pilgatan/v1-2022-05.TXT... |
||||
Processing ../Data/Pilgatan/v1-2022-06.TXT... |
||||
Processing ../Data/Pilgatan/v1-2021-08.TXT... |
||||
Processing ../Data/Pilgatan/v6-2022-03.TXT... |
||||
- Invalid file format; SKIPPING! 147 185 |
||||
Processing ../Data/Pilgatan/v1-2023-01.TXT... |
||||
Processing ../Data/Pilgatan/v1-2021-05.TXT... |
||||
- Invalid file format; SKIPPING! 157 185 |
||||
Processing ../Data/Pilgatan/v1-2023-08.TXT... |
||||
Processing ../Data/Pilgatan/v1-2023-10.TXT... |
||||
Processing ../Data/Pilgatan/v1-2022-01.TXT... |
||||
Processing ../Data/Pilgatan/v1-2023-02.TXT... |
||||
Processing ../Data/Pilgatan/v6-2023-09.TXT... |
||||
- Invalid file format; SKIPPING! 147 185 |
||||
Processing ../Data/Pilgatan/v6-2021-03.TXT... |
||||
- Invalid file format; SKIPPING! 147 185 |
||||
Processing ../Data/Pilgatan/v6-2021-04.TXT... |
||||
- Invalid file format; SKIPPING! 147 185 |
||||
Processing ../Data/Pilgatan/v1-2021-06.TXT... |
||||
Processing ../Data/Pilgatan/v6-2022-10.TXT... |
||||
- Invalid file format; SKIPPING! 147 185 |
||||
Processing ../Data/Pilgatan/v1-2023-05.TXT... |
||||
Processing ../Data/Pilgatan/v6-2022-09.TXT... |
||||
- Invalid file format; SKIPPING! 147 185 |
||||
Processing ../Data/Pilgatan/v1-2023-04.TXT... |
||||
Processing ../Data/Pilgatan/v1-2021-03.TXT... |
||||
- Invalid file format; SKIPPING! 157 185 |
||||
Processing ../Data/Pilgatan/v1-2023-06.TXT... |
||||
Processing ../Data/Pilgatan/v6-2021-10.TXT... |
||||
- Invalid file format; SKIPPING! 147 185 |
||||
Processing ../Data/Pilgatan/v6-2021-11.TXT... |
||||
- Invalid file format; SKIPPING! 147 185 |
||||
Processing ../Data/Pilgatan/v1-2023-03.TXT... |
||||
Processing ../Data/Pilgatan/v1-2023-09.TXT... |
||||
Processing ../Data/Pilgatan/v6-2023-01.TXT... |
||||
- Invalid file format; SKIPPING! 147 185 |
||||
Processing ../Data/Pilgatan/v6-2021-08.TXT... |
||||
- Invalid file format; SKIPPING! 147 185 |
||||
Processing ../Data/Pilgatan/v6-2023-06.TXT... |
||||
- Invalid file format; SKIPPING! 147 185 |
||||
Processing ../Data/Pilgatan/v6-2021-09.TXT... |
||||
- Invalid file format; SKIPPING! 147 185 |
||||
Processing ../Data/Pilgatan/v6-2022-05.TXT... |
||||
- Invalid file format; SKIPPING! 147 185 |
||||
Processing ../Data/Pilgatan/v6-2022-04.TXT... |
||||
- Invalid file format; SKIPPING! 147 185 |
||||
Processing ../Data/Pilgatan/v1-2022-02.TXT... |
||||
Processing ../Data/Pilgatan/v6-2022-12.TXT... |
||||
- Invalid file format; SKIPPING! 147 185 |
||||
Processing ../Data/Pilgatan/v1-2022-12.TXT... |
||||
Processing ../Data/Pilgatan/v6-2022-07.TXT... |
||||
- Invalid file format; SKIPPING! 147 185 |
||||
Processing ../Data/Pilgatan/v6-2022-02.TXT... |
||||
- Invalid file format; SKIPPING! 147 185 |
||||
Processing ../Data/Pilgatan/v6-2021-12.TXT... |
||||
- Invalid file format; SKIPPING! 147 185 |
||||
Processing ../Data/Pilgatan/v6-2023-07.TXT... |
||||
- Invalid file format; SKIPPING! 147 185 |
||||
Processing ../Data/Pilgatan/v6-2023-10.TXT... |
||||
- Invalid file format; SKIPPING! 147 185 |
||||
Processing ../Data/Pilgatan/v1-2021-02.TXT... |
||||
- Invalid file format; SKIPPING! 9 185 |
||||
Processing ../Data/Pilgatan/v1-2021-04.TXT... |
||||
- Invalid file format; SKIPPING! 157 185 |
||||
Processing ../Data/Pilgatan/v1-2022-07.TXT... |
||||
Processing ../Data/Pilgatan/v1-2021-10.TXT... |
||||
Processing ../Data/Pilgatan/v6-2023-02.TXT... |
||||
- Invalid file format; SKIPPING! 147 185 |
||||
Processing ../Data/Pilgatan/v1-2021-11.TXT... |
||||
Processing ../Data/Pilgatan/v1-2022-11.TXT... |
||||
Processing ../Data/Pilgatan/v1-2022-09.TXT... |
||||
Processing ../Data/Pilgatan/v1-2022-08.TXT... |
||||
Processing ../Data/Pilgatan/v6-2023-03.TXT... |
||||
- Invalid file format; SKIPPING! 147 185 |
||||
Processing ../Data/Pilgatan/v1-2021-07.TXT... |
||||
Processing ../Data/Pilgatan/v6-2022-01.TXT... |
||||
- Invalid file format; SKIPPING! 147 185 |
||||
Processing ../Data/Pilgatan/v6-2023-04.TXT... |
||||
- Invalid file format; SKIPPING! 147 185 |
||||
Processing ../Data/Pilgatan/v6-2023-05.TXT... |
||||
- Invalid file format; SKIPPING! 147 185 |
||||
Processing ../Data/Pilgatan/v1-2021-09.TXT... |
||||
Processing ../Data/Pilgatan/v1-2022-04.TXT... |
||||
Processing ../Data/Pilgatan/v6-2022-11.TXT... |
||||
- Invalid file format; SKIPPING! 147 185 |
@ -1,93 +0,0 @@ |
||||
Trahus Code Report |
||||
2023-10-10 |
||||
--- |
||||
All Files: js/dash.js, ../py/import.py, ../py/main.py, dash.html, home.html, css/dash.css, config/config.js, config/datamap.js, ../py/README.md |
||||
Number of Lines: 3563 |
||||
Number of Variables: 182 |
||||
Number of Functions: 35 |
||||
Number of If Statements: 14 |
||||
Number of Switch Statements: 6 |
||||
Number of ForEach Statements: 12 |
||||
--- |
||||
|
||||
File: js/dash.js |
||||
Number of Lines: 1516 |
||||
Number of Variables: 174 |
||||
Number of Functions: 21 |
||||
Number of If Statements: 14 |
||||
Number of Switch Statements: 6 |
||||
Number of ForEach Statements: 11 |
||||
--- |
||||
|
||||
File: ../py/import.py |
||||
Number of Lines: 101 |
||||
Number of Variables: 12 |
||||
Number of Functions: 0 |
||||
Number of If Statements: 0 |
||||
Number of Switch Statements: 0 |
||||
Number of ForEach Statements: 0 |
||||
--- |
||||
|
||||
File: ../py/main.py |
||||
Number of Lines: 469 |
||||
Number of Variables: 15 |
||||
Number of Functions: 14 |
||||
Number of If Statements: 0 |
||||
Number of Switch Statements: 0 |
||||
Number of ForEach Statements: 0 |
||||
--- |
||||
|
||||
File: dash.html |
||||
Number of Lines: 1073 |
||||
Number of Variables: 11 |
||||
Number of Functions: 0 |
||||
Number of If Statements: 0 |
||||
Number of Switch Statements: 0 |
||||
Number of ForEach Statements: 0 |
||||
--- |
||||
|
||||
File: home.html |
||||
Number of Lines: 89 |
||||
Number of Variables: 8 |
||||
Number of Functions: 0 |
||||
Number of If Statements: 0 |
||||
Number of Switch Statements: 0 |
||||
Number of ForEach Statements: 1 |
||||
--- |
||||
|
||||
File: css/dash.css |
||||
Number of Lines: 103 |
||||
Number of Variables: 0 |
||||
Number of Functions: 0 |
||||
Number of If Statements: 0 |
||||
Number of Switch Statements: 0 |
||||
Number of ForEach Statements: 0 |
||||
--- |
||||
|
||||
File: config/config.js |
||||
Number of Lines: 12 |
||||
Number of Variables: 5 |
||||
Number of Functions: 0 |
||||
Number of If Statements: 0 |
||||
Number of Switch Statements: 0 |
||||
Number of ForEach Statements: 0 |
||||
--- |
||||
|
||||
File: config/datamap.js |
||||
Number of Lines: 80 |
||||
Number of Variables: 3 |
||||
Number of Functions: 0 |
||||
Number of If Statements: 0 |
||||
Number of Switch Statements: 0 |
||||
Number of ForEach Statements: 0 |
||||
--- |
||||
|
||||
File: ../py/README.md |
||||
Number of Lines: 120 |
||||
Number of Variables: 0 |
||||
Number of Functions: 0 |
||||
Number of If Statements: 0 |
||||
Number of Switch Statements: 0 |
||||
Number of ForEach Statements: 0 |
||||
--- |
||||
|
@ -1,101 +0,0 @@ |
||||
import sys |
||||
import re |
||||
|
||||
def analyze_file(file_path): |
||||
with open(file_path, 'r') as file: |
||||
lines = file.readlines() |
||||
|
||||
num_lines = len(lines) |
||||
variables = [] |
||||
functions = 0 |
||||
ifs = 0 |
||||
switches = 0 |
||||
foreachs = 0 |
||||
|
||||
for line in lines: |
||||
line = line.strip() |
||||
|
||||
# Check for variable declarations and add them to the list |
||||
var_declaration_match_js = re.match(r"^(var|let|const)\s+([\w$]+)", line) |
||||
var_declaration_match_py = re.match(r"^(?:.*)?(\w+)\s*=", line) |
||||
if var_declaration_match_js: |
||||
variable = var_declaration_match_js.group(2) |
||||
variables.append(variable) |
||||
elif var_declaration_match_py: |
||||
variable = var_declaration_match_py.group(1) |
||||
variables.append(variable) |
||||
|
||||
# Count the number of function declarations |
||||
function_declaration_match_js = re.match(r"^(function)\s+[\w$]+\(", line) |
||||
function_declaration_match_py = re.match(r"^(?:def)\s+(?:(?:\w+\s*\(.*\))|(?:\w+))", line) |
||||
if function_declaration_match_js or function_declaration_match_py: |
||||
functions += 1 |
||||
|
||||
# Count the number of if statements |
||||
if re.match(r"^(if)\s*\(", line): |
||||
ifs += 1 |
||||
|
||||
# Count the number of switch statements |
||||
if re.match(r"^(switch)\s*\(", line): |
||||
switches += 1 |
||||
|
||||
# Count the number of forEach statements |
||||
if re.match(r"^(.+)\.forEach\s*\(", line): |
||||
foreachs += 1 |
||||
|
||||
return { |
||||
'file': file_path, |
||||
'num_lines': num_lines, |
||||
'num_variables': variables, |
||||
'num_functions': functions, |
||||
'num_ifs': ifs, |
||||
'num_switches': switches, |
||||
'num_foreachs': foreachs |
||||
} |
||||
|
||||
if __name__ == '__main__': |
||||
if len(sys.argv) < 2: |
||||
print('Please provide at least one JavaScript or Python file to analyze.') |
||||
sys.exit(1) |
||||
|
||||
total_lines = 0 |
||||
total_variables = [] |
||||
total_functions = 0 |
||||
total_ifs = 0 |
||||
total_switches = 0 |
||||
total_foreachs = 0 |
||||
|
||||
reports = [] |
||||
|
||||
for file_path in sys.argv[1:]: |
||||
analysis = analyze_file(file_path) |
||||
total_lines += analysis["num_lines"] |
||||
total_variables.extend(analysis["num_variables"]) |
||||
total_functions += analysis["num_functions"] |
||||
total_ifs += analysis["num_ifs"] |
||||
total_switches += analysis["num_switches"] |
||||
total_foreachs += analysis["num_foreachs"] |
||||
|
||||
report = f'File: {analysis["file"]}\n' |
||||
report += f'Number of Lines: {analysis["num_lines"]}\n' |
||||
report += f'Number of Variables: {len(set(analysis["num_variables"]))}\n' |
||||
report += f'Number of Functions: {analysis["num_functions"]}\n' |
||||
report += f'Number of If Statements: {analysis["num_ifs"]}\n' |
||||
report += f'Number of Switch Statements: {analysis["num_switches"]}\n' |
||||
report += f'Number of ForEach Statements: {analysis["num_foreachs"]}\n' |
||||
report += '---\n' |
||||
reports.append(report) |
||||
|
||||
print('Total Report:') |
||||
print('---') |
||||
print(f'All Files: {", ".join(sys.argv[1:])}') |
||||
print(f'Number of Lines: {total_lines}') |
||||
print(f'Number of Variables: {len(set(total_variables))}') |
||||
print(f'Number of Functions: {total_functions}') |
||||
print(f'Number of If Statements: {total_ifs}') |
||||
print(f'Number of Switch Statements: {total_switches}') |
||||
print(f'Number of ForEach Statements: {total_foreachs}') |
||||
print('---\n') |
||||
|
||||
for report in reports: |
||||
print(report) |
@ -1,48 +0,0 @@ |
||||
<!DOCTYPE html> |
||||
<html> |
||||
<head> |
||||
<title>Horizon Chart Example with Plotly</title> |
||||
<!-- Include the Plotly library --> |
||||
<script src="https://cdn.plot.ly/plotly-latest.min.js"></script> |
||||
</head> |
||||
<body> |
||||
<!-- Create a container for the chart --> |
||||
<div id="horizon-chart"></div> |
||||
|
||||
<script> |
||||
// Function to create a Horizon chart |
||||
function createHorizonChart(dates, values, myid, title) { |
||||
// Create a trace for the Horizon chart |
||||
const trace = { |
||||
x: dates.map(date => new Date(date)), |
||||
y: values, |
||||
type: 'scatter', |
||||
mode: 'lines', |
||||
fill: 'tozeroy', |
||||
name: title, |
||||
hoverinfo: 'x+y', |
||||
}; |
||||
|
||||
// Create a layout for the chart |
||||
const layout = { |
||||
title: title, |
||||
}; |
||||
|
||||
// Plot the chart inside the specified div (myid) |
||||
Plotly.newPlot(myid, [trace], layout); |
||||
} |
||||
|
||||
// Example data |
||||
const exampleDates = [ |
||||
"2023-01-01", "2023-01-02", "2023-01-03", "2023-01-04", "2023-01-05", |
||||
"2023-01-06", "2023-01-07", "2023-01-08", "2023-01-09", "2023-01-10" |
||||
]; |
||||
|
||||
const exampleValues = [0.1, 0.3, 0.5, 0.4, 0.2, -0.1, -0.3, -0.4, -0.2, -0.1]; |
||||
const chartTitle = "Example Horizon Chart"; |
||||
|
||||
// Call the function to create the Horizon chart |
||||
createHorizonChart(exampleDates, exampleValues, 'horizon-chart', chartTitle); |
||||
</script> |
||||
</body> |
||||
</html> |
File diff suppressed because one or more lines are too long
Binary file not shown.
@ -1,61 +0,0 @@ |
||||
<!DOCTYPE html> |
||||
<html> |
||||
<head> |
||||
<title>Click to Add Bar Chart</title> |
||||
<style> |
||||
.chart-container { |
||||
display: flex; |
||||
align-items: flex-end; |
||||
height: 300px; |
||||
} |
||||
.bar { |
||||
width: 30px; |
||||
margin: 0 5px; |
||||
background-color: blue; |
||||
} |
||||
</style> |
||||
</head> |
||||
<body> |
||||
<button id="addButton">Add Bar Chart</button> |
||||
<div id="chartContainer" class="chart-container"></div> |
||||
|
||||
<script src="script.js"></script> |
||||
|
||||
<script> |
||||
|
||||
// Function to create the bar chart based on data |
||||
function createBarChart(data) { |
||||
const chartContainer = document.getElementById('chartContainer'); |
||||
chartContainer.innerHTML = ''; // Clear the container before adding new bars |
||||
|
||||
for (const value of data) { |
||||
const bar = document.createElement('div'); |
||||
bar.className = 'bar'; |
||||
bar.style.height = value + 'px'; // Set the bar height based on data |
||||
chartContainer.appendChild(bar); |
||||
} |
||||
} |
||||
|
||||
// Function to generate random data for the bar chart (for demonstration purposes) |
||||
function generateRandomData(numBars, maxHeight) { |
||||
const data = []; |
||||
for (let i = 0; i < numBars; i++) { |
||||
data.push(Math.floor(Math.random() * maxHeight) + 1); |
||||
} |
||||
return data; |
||||
} |
||||
|
||||
// Add a click event listener to the button |
||||
const addButton = document.getElementById('addButton'); |
||||
addButton.addEventListener('click', function () { |
||||
const numBars = 5; // Number of bars in the chart |
||||
const maxHeight = 200; // Maximum height of the bars |
||||
const data = generateRandomData(numBars, maxHeight); |
||||
createBarChart(data); |
||||
}); |
||||
|
||||
</script> |
||||
|
||||
</body> |
||||
</html> |
||||
|
@ -1,36 +0,0 @@ |
||||
|
||||
<!DOCTYPE html> |
||||
<html> |
||||
<head> |
||||
<title>Click to Add Block</title> |
||||
<script> |
||||
// Function to create the HTML block element |
||||
function createBlock() { |
||||
const block = document.createElement('div'); |
||||
block.className = 'block'; // You can add CSS classes to style the block |
||||
block.innerHTML = 'This is a new block!'; // You can customize the content here |
||||
return block; |
||||
} |
||||
|
||||
// Function to add the HTML block to the container |
||||
function addBlockToContainer() { |
||||
const container = document.getElementById('container'); |
||||
const block = createBlock(); |
||||
container.appendChild(block); |
||||
} |
||||
|
||||
// Add a click event listener to the button |
||||
const addButton = document.getElementById('addButton'); |
||||
addButton.addEventListener('click', addBlockToContainer); |
||||
|
||||
</script> |
||||
</head> |
||||
<body> |
||||
<button id="addButton">Add Block</button> |
||||
<div id="container"></div> |
||||
|
||||
<script src="script.js"></script> |
||||
</body> |
||||
</html> |
||||
|
||||
|
@ -1,151 +0,0 @@ |
||||
|
||||
Kalejdash data flexiboard: |
||||
an Infravis.se data visualization & exploration interface and server-API that enables the creation of editable dashboard combining diagrams creation with rich text entries. |
||||
|
||||
############################################## |
||||
|
||||
|
||||
Last ToDo, after v0.9-alpha |
||||
codenae: "Forum Wood Building Nordic 2023" |
||||
|
||||
- Grid and Horizon: make compatible d3js versions to arrange the tooltips bugs. |
||||
- Parallel: |
||||
> Reload/re-render graph when resizing column. |
||||
> Check <g class="c3-grid c3-grid-line" -> this is not getting update, even when swaping windows or unfocus&clic outside the page. |
||||
- Add home page texts to config/confir.json |
||||
|
||||
|
||||
BIG: |
||||
|
||||
> EDIT DIAGRAM function + button (or TEXT) + Form button "open in new window" |
||||
|
||||
> Save current flexiboard as a JSON in the server (!) -> Rafa needs to do the server-site again through the flask API |
||||
|
||||
|
||||
|
||||
#################################################33 |
||||
#################################################33 |
||||
FORM IDs: |
||||
|
||||
|
||||
Parallel -> P |
||||
----------- |
||||
---->Yearly - Y |
||||
<form id="PY"> |
||||
<input id="PYTitle" name="PYTitle" |
||||
<select id="PYSensor" name="PYSensor" |
||||
<input id="PYYear" name="PYYear" |
||||
<input id="PYTime" name="PYTime" |
||||
|
||||
---->Monthly -> M |
||||
<form id="PM"> |
||||
<input id="PMTitle" name="PMTitle" |
||||
<select id="PMFamSensor" name="PMFamSensor" |
||||
<select id="PMParameter" name="PMParameter" |
||||
<input id="PMYearMonth" name="PMYearMonth" |
||||
<input id="PMTime" name="PMTime" |
||||
|
||||
NEW |
||||
---->Weekly -> M |
||||
<form id="PW"> |
||||
<input id="PWTitle" name="PMTitle" |
||||
<select id="PWFamSensor" name="PWFamSensor" |
||||
<select id="PWParameter" name="PWParameter" |
||||
<input id="PWWeekMonday" name="PWYear" |
||||
Wekday: |
||||
<input name="PMWeekMonday" id="PMWeekMonday" |
||||
|
||||
|
||||
<input id="PMTime" name="PMTime" |
||||
|
||||
|
||||
DONE |
||||
---->Daily -> D |
||||
<form id="PD"> |
||||
<input id="PDTitle" name="PDTitle" |
||||
<select id="PDFamSensor" name="PDSensor" |
||||
<select id="PDParameter" name="PDParameter" |
||||
<input id="PDYearMonthDay" name="PDYearMonthDay" |
||||
<input id="PDTime" name="PDTime" |
||||
|
||||
|
||||
#################################################33 |
||||
|
||||
Grid --> G |
||||
---- |
||||
---->Yearly -> Y |
||||
<form id="GY"> |
||||
<input id="GYTitle" name="GYTitle" |
||||
<select id="GYSensor" name="GYSensor" |
||||
<input id="GYYear" name="GYYear" |
||||
<input id="GYTime" name="GYTime" |
||||
|
||||
|
||||
---->Monthly -> M |
||||
<form id="GM"> |
||||
<input id="GMTitle" name="GMTitle" |
||||
<select id="GMSensor" name="GMSensor" |
||||
<input id="GMYearMonth" name="GMYearMonth" |
||||
<input id="GMTime" name="GMTime" |
||||
|
||||
|
||||
---->Weekly -> D |
||||
<form id="GW"> |
||||
<input id="GWTitle" name="GWTitle" |
||||
<select id="GWSensor" name="GWSensor" |
||||
<input id="GWYearMonthMonday" name="GWYearMonthMonday" |
||||
<input id="GWTime" name="GWTime" |
||||
|
||||
#################################################33 |
||||
|
||||
HorizonChart - H |
||||
------------ |
||||
|
||||
----> Yearly -> Y |
||||
<form id="HW"> |
||||
<input id="HYTitle" name="HYTitle" |
||||
<select id="HYSensorFamily" name="HYSensorFamily" |
||||
<input id="HYYear" name="HYYear" |
||||
<input id="HYTime" name="HYTime" |
||||
selectedItems1 |
||||
|
||||
|
||||
----> Monthly- M |
||||
<form id="HW"> |
||||
<input id="HMTitle" name="HMTitle" |
||||
<select id="HMSensorFamily" name="HMSensorFamily" |
||||
<select id="HMYearMonth" name="HMYearNonth" |
||||
<input id="HMTime" name="HMTime" |
||||
selectedItems2 |
||||
|
||||
|
||||
----> Weekly -> W |
||||
<form id="HW"> |
||||
<input id="HWTitle" name="HWTitle" |
||||
<select id="HWSensorFamily" name="HWSensorFamily" |
||||
<input id="HWYear" name="HWYear" |
||||
<input id="HWTime" name="HWTime" |
||||
selectedItems3 |
||||
|
||||
################################################# |
||||
#### Short names and definitions of the three techniques used this app. |
||||
|
||||
> Name of the App -> Flexiboard: |
||||
>> is the idea f any dashboard that needs is buided by interacting through web page. |
||||
>> you can biuld and save a customized, always editable, shared. In this first version, any saved flexiboard is accessible if you know its URL. |
||||
The idea is that the user/editor of the App may curate the home page with contents highlighting/presenting. |
||||
|
||||
> Parallel: |
||||
Track Family of sensores |
||||
Track Family of sensores in a parallel coordinate visuall technick, use it as a escale of the real positions and mesures on a time period. |
||||
|
||||
|
||||
----- |
||||
> Grid: |
||||
Track one sensor. |
||||
Track one sensor for outlayer at a glance in a chossen time period |
||||
|
||||
|
||||
-------- |
||||
> Horizon: |
||||
|
@ -1,18 +0,0 @@ |
||||
from flask import Flask, request, jsonify, send_from_directory |
||||
|
||||
app = Flask(__name__) |
||||
|
||||
@app.route("/calculate", methods=["POST"]) |
||||
def calculate(): |
||||
data = request.get_json() |
||||
num1 = data.get("num1") |
||||
num2 = data.get("num2") |
||||
result = num1 + num2 |
||||
return jsonify({"result": result}) |
||||
|
||||
@app.route("/") |
||||
def index(): |
||||
return send_from_directory("static", "index.html") |
||||
|
||||
if __name__ == "__main__": |
||||
app.run(debug=True) |
@ -1,35 +0,0 @@ |
||||
from flask import Flask, request, jsonify, send_from_directory |
||||
|
||||
app = Flask(__name__) |
||||
|
||||
@app.route("/calculate", methods=["POST"]) |
||||
def calculate(): |
||||
data = request.get_json() |
||||
|
||||
# Determine which form was submitted based on a form identifier or name |
||||
form_name = data.get("form_name") |
||||
|
||||
if form_name == "calculatorForm": |
||||
num1 = data.get("num1") |
||||
num2 = data.get("num2") |
||||
result = num1 + num2 |
||||
elif form_name == "anotherForm": |
||||
# Handle data from anotherForm |
||||
pass |
||||
elif form_name == "thirdForm": |
||||
# Handle data from thirdForm |
||||
pass |
||||
elif form_name == "fourthForm": |
||||
# Handle data from fourthForm |
||||
pass |
||||
else: |
||||
return jsonify({"error": "Invalid form_name"}) |
||||
|
||||
return jsonify({"result": result}) |
||||
|
||||
@app.route("/") |
||||
def index(): |
||||
return send_from_directory("static", "forms.html") |
||||
|
||||
if __name__ == "__main__": |
||||
app.run(debug=True) |
@ -1,80 +0,0 @@ |
||||
<!DOCTYPE html> |
||||
<html> |
||||
<head> |
||||
<title>Calculator</title> |
||||
</head> |
||||
<body> |
||||
<h1>'m form.html : Simple Calculator</h1> |
||||
<form id="calculatorForm"> |
||||
<label for="num1">Number 1:</label> |
||||
<input type="number" id="num1" name="num1" required><br> |
||||
|
||||
<label for="num2">Number 2:</label> |
||||
<input type="number" id="num2" name="num2" required><br> |
||||
|
||||
<button type="submit">Calculate</button> |
||||
</form> |
||||
|
||||
<h1>Form 2: Another Form</h1> |
||||
<form id="anotherForm"> |
||||
<!-- Include fields for Form 2 here --> |
||||
<button type="submit">Submit</button> |
||||
</form> |
||||
|
||||
<h1>Form 3: Third Form</h1> |
||||
<form id="thirdForm"> |
||||
<!-- Include fields for Form 3 here --> |
||||
<button type="submit">Submit</button> |
||||
</form> |
||||
|
||||
<h1>Form 4: Fourth Form</h1> |
||||
<form id="fourthForm"> |
||||
<!-- Include fields for Form 4 here --> |
||||
<button type="submit">Submit</button> |
||||
</form> |
||||
|
||||
<h2>Result:</h2> |
||||
<div id="result"></div> |
||||
|
||||
<script> |
||||
function handleSubmit(formId, fieldIds) { |
||||
const form = document.getElementById(formId); |
||||
form.addEventListener("submit", function (e) { |
||||
e.preventDefault(); |
||||
const data = { |
||||
form_name: formId, // Add a form identifier |
||||
}; |
||||
fieldIds.forEach(fieldId => { |
||||
data[fieldId] = parseFloat(form.querySelector(`#${fieldId}`).value); |
||||
}); |
||||
calculate(formId, data); |
||||
}); |
||||
} |
||||
|
||||
function calculate(formId, data) { |
||||
fetch("/calculate", { |
||||
method: "POST", |
||||
headers: { |
||||
"Content-Type": "application/json" |
||||
}, |
||||
body: JSON.stringify(data) |
||||
}) |
||||
.then(response => response.json()) |
||||
.then(data => { |
||||
document.getElementById("result").textContent = `Result for form ${formId}: ${data.result}`; |
||||
}) |
||||
.catch(error => { |
||||
console.error("Error:", error); |
||||
}); |
||||
} |
||||
|
||||
// Call handleSubmit for each form when the DOM is fully loaded |
||||
document.addEventListener("DOMContentLoaded", function () { |
||||
handleSubmit("calculatorForm", ["num1", "num2"]); |
||||
handleSubmit("anotherForm", ["field1", "field2"]); |
||||
handleSubmit("thirdForm", ["field3", "field4"]); |
||||
handleSubmit("fourthForm", ["field5", "field6"]); |
||||
}); |
||||
</script> |
||||
</body> |
||||
</html> |
@ -1,59 +0,0 @@ |
||||
<!DOCTYPE html> |
||||
<html> |
||||
<head> |
||||
<title>Calculator</title> |
||||
</head> |
||||
<body> |
||||
<h1>Simple Calculator</h1> |
||||
<form id="calculatorForm"> |
||||
<label for="num1">Number 1:</label> |
||||
<input type="number" id="num1" name="num1" required><br> |
||||
|
||||
<label for="num2">Number 2:</label> |
||||
<input type="number" id="num2" name="num2" required><br> |
||||
|
||||
<button type="submit">Calculate</button> |
||||
</form> |
||||
|
||||
<h2>Result:</h2> |
||||
<div id="result"></div> |
||||
|
||||
<script> |
||||
function handleSubmit(formId, fieldIds) { |
||||
const form = document.getElementById(formId); |
||||
form.addEventListener("submit", function (e) { |
||||
e.preventDefault(); |
||||
const data = {}; |
||||
fieldIds.forEach(fieldId => { |
||||
data[fieldId] = parseFloat(form.querySelector(`#${fieldId}`).value); |
||||
}); |
||||
calculate(formId, data); |
||||
}); |
||||
} |
||||
|
||||
function calculate(formId, data) { |
||||
fetch("/calculate", { |
||||
method: "POST", |
||||
headers: { |
||||
"Content-Type": "application/json" |
||||
}, |
||||
body: JSON.stringify(data) |
||||
}) |
||||
.then(response => response.json()) |
||||
.then(data => { |
||||
document.getElementById("result").textContent = `Result for form ${formId}: ${data.result}`; |
||||
}) |
||||
.catch(error => { |
||||
console.error("Error:", error); |
||||
}); |
||||
} |
||||
|
||||
// Call handleSubmit when the DOM is fully loaded |
||||
document.addEventListener("DOMContentLoaded", function () { |
||||
handleSubmit("calculatorForm", ["num1", "num2"]); |
||||
// Add more forms and initialize them as needed with their respective field IDs |
||||
// handleSubmit("anotherForm", ["field1", "field2"]); |
||||
}); |
||||
</script> |
||||
</body> |
||||
</html> |
@ -1,155 +0,0 @@ |
||||
///
|
||||
// Data formats needed for each the the three diagrams:
|
||||
|
||||
|
||||
// for all the three cases I include dinamycally JS files that content variables
|
||||
// as arrays. I do this intead of loading CSV values
|
||||
// IS THIS CORRECT OR BETTER WE MOVE TO LOAD csv?
|
||||
|
||||
/////////////////////////////////////////////////////
|
||||
// tHE THREE DIAGRAMS ARE: pARALLEL, gRID AND hORIZON:
|
||||
|
||||
//////////////////////////////////////////
|
||||
/// 1.PARAllel
|
||||
|
||||
// This var is The data. First row gives the positions for the sensors
|
||||
// of the famimlly (wall depth).
|
||||
// Then, the raw data is taked as it is but selecting the grup of columns that represent a familly of sensors.
|
||||
// The example that follows show a sensors-family of 6 sensors at the positions pos_1
|
||||
sample = [ |
||||
["pos1", 5, 10, 25, 35, 42, 45], |
||||
["2023-01-01 00:10:07", 26.2, 33, 49.5, 53.1, 62.9, 87], |
||||
["2023-01-01 00:20:05", 26.5, 33.2, 60.5, 71.3, 78.3, 91.7], |
||||
["2023-01-01 00:30:05", 26.7, 33.7, 49.7, 53.7, 63.5, 86.1], |
||||
["2023-01-01 00:40:05", 26.6, 33.5, 49.6, 53.6, 63.5, 86.3], |
||||
["2023-01-01 00:50:05", 26.6, 33.5, 49.6, 53.5, 63.4, 86.5], |
||||
["2023-01-01 01:00:05", 26.5, 33.4, 49.6, 53.5, 63.3, 86.6], |
||||
["2023-01-01 01:10:05", 26.4, 33.3, 49.6, 53.4, 63.2, 86.6], |
||||
["2023-01-01 01:20:05", 26.3, 33.2, 49.5, 53.3, 63.1, 86.7], |
||||
["2023-01-01 01:30:05", 26.3, 33.1, 49.5, 53.2, 63, 86.8] |
||||
]; |
||||
|
||||
// the xs variables are not depending on the data files.
|
||||
// They just defina the tick points on the x-axis that are
|
||||
// highlighted with a vertical axis. This is: they represent
|
||||
// each sensor belonging to a familly of sensors at the same
|
||||
// wall position but different depth.
|
||||
myxs = { |
||||
'2023-01-01 00:10:07' : 'pos1', |
||||
'2023-01-01 00:20:05' : 'pos1', |
||||
'2023-01-01 00:30:05' : 'pos1', |
||||
'2023-01-01 00:40:05' : 'pos1', |
||||
'2023-01-01 00:50:05' : 'pos1', |
||||
'2023-01-01 01:00:05' : 'pos1', |
||||
'2023-01-01 01:10:05' : 'pos1', |
||||
'2023-01-01 01:20:05' : 'pos1', |
||||
'2023-01-01 01:30:05' : 'pos1' |
||||
} |
||||
|
||||
> Sensors family selection |
||||
|
||||
//Michael Dorn wishes:
|
||||
//--> MD:
|
||||
// Categories:
|
||||
// yearly - with 12 lines
|
||||
// monthly - with 4 lines
|
||||
// weekly - with 7 lines
|
||||
// daily - with 24 lines
|
||||
//
|
||||
// Settings:
|
||||
// yearly: date: 1st of the month; time: 12:00;
|
||||
// allow for chosing a different date/time
|
||||
// monthly: date: choose days 1/8/15/22/29; time; 12:00;
|
||||
// allow for chosing different date/time
|
||||
// daily: time: 0-1-2-3-...-23;
|
||||
// allow for chosing different date/time
|
||||
//
|
||||
// Is it possible to allow to supress a line then (hide it)?
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
//////////////////////////////////////////////////////////////////
|
||||
//////////////////////////////////////////////////////////////////
|
||||
////// 2.GRID
|
||||
// it is just a column of the original raw data. At the moment is saved in a JS file as an array with the var name of the original column
|
||||
// example:
|
||||
|
||||
var Temp_MP1_1_Pos4 = [ |
||||
[11.01, 11.02, 11.01, 11.02, 11.02, 11.01, 11.00, 11.00, 11.02, 11.00, 11.01, 11.00, 11.00, 10.99, 10.99, 10.98, 10.96, 10.97, 10.96, 10.97, 10.96, 10.95, 10.94, 10.94, 10.94, 10.94, 10.94, 10.92, 10.91, 10.90, 10.91, 10.88, 10.88, 10.88, 10.88, 10.86, 10.84, 10.83, 10.82, 10.82, 10.79, 10.78, 10.75, 10.76, 10.74, 10.72, 10.73, 10.71, 10.69, 10.66, 10.66, 10.64, 10.64, 10.60, 10.58, 10.55, 10.52, 10.52, 10.50, 10.48, 10.40, 10.32, 10.28], |
||||
['2023-01-01', '2023-01-02', ...], |
||||
['00:01.34', '01:01', ...] |
||||
] |
||||
|
||||
// IMPORTANT: Just one sensor
|
||||
|
||||
//Michael Dorn wishes:
|
||||
//TIME periods:
|
||||
// - yearly - 365 days; 12 rows with 28-31 days; at 12:00;
|
||||
// - monthly - 28 days; 4 rows with 7 days; at 12:00;
|
||||
// - can this be arranged like in calendar view?
|
||||
// - weekly - 7 days; one per day at ##:00;
|
||||
//
|
||||
// Scale: is it possible here to chose if an actual time is shown or to have the max/min value within a day for the yearly/monthly versions?
|
||||
//
|
||||
//
|
||||
|
||||
|
||||
|
||||
|
||||
//////////////////////////////////////////////////////////////////
|
||||
//////////////////////////////////////////////////////////////////
|
||||
////// 3.HORIZON
|
||||
// The horizon chart has several rows. As it is now, firstly it is defined
|
||||
// an array of columns from the raw DataTransfer, that will become rows at the horizon chart.As
|
||||
// so, a list of rows will be:
|
||||
datas = ["S1:1", "S1:2", "S1:3", "Temp_MP1_1_Pos4", "Temp_MP1_1_Pos5", "Temp_MP1_1_Pos6", "Temp_MP1_2_Pos1", "Temp_MP1_2_Pos2", "Temp_MP1_2_Pos3", "Temp_MP1_2_Pos4", "Temp_MP1_2_Pos5", "Temp_MP1_2_Pos6"]; |
||||
|
||||
// And then the values for each row, that comes directly from the raw data columns
|
||||
// example for the first row "Temp_MP1_1_Pos1"
|
||||
var Temp_MP1_1_Pos1=[18.71, 18.74, 18.75, 18.76, 18.78, 18.77, 18.77, 18.78, 18.76, 18.77, 18.77, 18.78, 18.78, 18.76, 18.75, 18.75, 18.75, 18.76, 18.78, 18.76, 18.74, 18.74] |
||||
// This list can be long. This kind of chart use to represent a big amount og points for each column. Hence, covering a long time period.
|
||||
|
||||
// > (Vertical axis) Select a list of sensors
|
||||
|
||||
//Michael Dorn wishes
|
||||
// Horizontal axis:
|
||||
// Categories:
|
||||
// year 365 days at 0/6/12/18 h --> 1460 points
|
||||
// month 28-31 days at 0/1/2/.../23 h --> 744 points
|
||||
// week 7 days at 0:00/0:15/0:30/... 23:45/24:00 --> 672 points
|
||||
// day 24 hours all datapoints --> up to 288 points
|
||||
// Scale:
|
||||
// it would be good of the width if the browser window is not overflowing sideways
|
||||
//
|
||||
//
|
||||
// vertical axis:
|
||||
// Temperature:
|
||||
// - in what steps in °C are you thinking?
|
||||
// - I expect to have at the most -30°C - +50°C for the weather station
|
||||
// - can the scale be chosen? E.g. there are steps of 10°C or of 5°C or others?
|
||||
|
||||
|
||||
//###################################
|
||||
// From Micheal about Naming:
|
||||
|
||||
// I attach two files:
|
||||
|
||||
// Explanation datafiles.xlsx
|
||||
// The colored rows on top include channel names / families / units / # of column / ...
|
||||
// The first part in the name of the channel gives what type of value is measured:
|
||||
// - temperature (Temp_...)
|
||||
// - humidity (RH_...)
|
||||
// - relative dispalcement (RelDisp_...)
|
||||
// - absolute displacement (AbsDisp)
|
||||
// - air pressure (AirPres_...)
|
||||
// - the weather station has many different values
|
||||
// A row with units is also given.
|
||||
|
||||
// Explanation datafiles.pptx
|
||||
// - Includes information where the sensors and families are located.
|
||||
// - The last slide includes the distance for the sensors in the walls. Measurement start at the inside of the wall.
|
||||
|
||||
// I hope this helps you immediately!
|
||||
|
Loading…
Reference in new issue