add dashbord information in xlsx

This commit is contained in:
2022-10-28 15:59:05 -04:00
parent d40eea6eab
commit 1f037e9251
16 changed files with 335 additions and 82 deletions
+53 -26
View File
@@ -9,7 +9,8 @@
import xlsx # read dashbord.xlsx
import jester
import joplin_utils
import strutils
import std/asyncdispatch
# --==--==--==--==--==--==--==--==--==--==-- #
# TYPE : Selected Option for master web page
@@ -20,6 +21,26 @@ type
notes = "Notes", notebooks = "Notesbooks", tags = "Tags",
notes_selectednote = "Notes-SelectedNote", dashbord = "Dashboard"
# --==--==--==--==--==--==--==--==--==--==-- #
# TYPE : Dashbord information
# --==--==--==--==--==--==--==--==--==--==-- #
type DashbordData* = object
position*: seq[int]
ext_link*: seq[string]
int_link*: seq[string]
ip_link*: seq[string]
title*: seq[string]
description*: seq[string]
server*: seq[string]
ip*: seq[string]
port*: seq[int]
ssl*: seq[bool]
category*: seq[string]
icon*: seq[string]
open_method*: seq[string]
tag*: seq[string]
hotkey*: seq[string]
color*: seq[string]
# --==--==--==--==--==--==--==--==--==--==-- #
# TYPE : Data Informations for Left Colomn
@@ -33,6 +54,7 @@ type ColomnLeftData* = ref object of RootObj
j_notebooks_nb*: int
j_tags*: joplin_tags
j_tags_nb*: int
dashbord*: DashbordData
req*: Request
# --==--==--==--==--==--==--==--==--==--==-- #
@@ -47,36 +69,41 @@ type ColomnRightData* = ref object of RootObj
req*: Request
# --==--==--==--==--==--==--==--==--==--==-- #
# TYPE : Dashbord information
# --==--==--==--==--==--==--==--==--==--==-- #
type DashbordData* = ref object of RootObj
position*: seq[int]
ext_link*: seq[string]
int_link*: seq[string]
title*: seq[string]
category*: seq[string]
icon*: seq[string]
open_method*: seq[string]
tag*: seq[string]
hotkey*: seq[string]
color*: seq[string]
req*: Request
# --==--==--==--==--==--==--==--==--==--==--==--==--==--==-- #
# PROC :
# PROC : get data from dashbord file
# --==--==--==--==--==--==--==--==--==--==--==--==--==--==-- #
proc getDashbordData(ddata: var DashbordData) =
proc getDashbordData*(): Future[DashbordData] {.async.} =
var ddata: DashbordData
let
data = parseExcel("data/dashbord.xlsx", header = true)
sheetName = "dashbord"
echo data[sheetName]
#echo data[sheetName]
let rows = data[sheetName].toSeq(true)
echo rows.len()
# for i in 0 ..data[sheetName]:
# ddata.position[i] = row[i]
for row in rows:
echo "position: " & row[0]
echo "URL externe: " & row[1]
for i in 0..(rows.len()-1):
ddata.position.add(parseInt(rows[i][0]))
ddata.ext_link.add(rows[i][1])
ddata.int_link.add(rows[i][2])
ddata.ip_link.add(rows[i][3])
ddata.title.add(rows[i][4])
ddata.description.add(rows[i][5])
ddata.server.add(rows[i][6])
ddata.ip.add(rows[i][7])
ddata.port.add(parseInt(rows[i][8]))
if rows[i][9] == "OUI":
ddata.ssl.add(true)
else:
ddata.ssl.add(false)
ddata.category.add(rows[i][10])
ddata.icon.add(rows[i][11])
ddata.open_method.add(rows[i][12])
ddata.tag.add(rows[i][13])
ddata.hotkey.add(rows[i][14])
ddata.color.add(rows[i][15])
echo ddata
return ddata