time_series_list_simple.py
#!/usr/bin/env python
# ruff: noqa: T201
import json
from http import HTTPStatus
import requests
API_BASE_URL = "https://5.179.11.244/api/internal/v1/"
EMAIL = "a@a.lv"
PASSWORD = "password" # noqa: S105
API_AUTH_URL = f"{API_BASE_URL}auth-eternal-token/"
API_TIME_SERIES_URL = f"{API_BASE_URL}time_series/"
token = None
auth_data = {
"username": EMAIL,
"password": PASSWORD,
}
auth_response = requests.post(API_AUTH_URL, json=auth_data, timeout=10, verify=False)
if auth_response.status_code == HTTPStatus.OK:
token = auth_response.json().get("token")
# Jūs varat pierakstīt token un lietot tikai talāk sekojošo kodu
headers = {
"Content-type": "application/json",
"Authorization": f"Token {token}",
}
list_response = requests.get(API_TIME_SERIES_URL, headers=headers, timeout=120, verify=False)
print()
print("#" * 30)
print(json.dumps(list_response.json(), indent=4))
time_series_list_simple_curl.sh
#!/bin/bash
API_BASE_URL=https://5.179.11.244/api/internal/v1/
API_TIME_SERIES_URL=${API_BASE_URL}time_series/
API_TOKEN="mytoken"
curl --insecure -H "Authorization: Token $API_TOKEN" -H "Content-Type: application/json" $API_TIME_SERIES_URL
series_list_simple.py
#!/usr/bin/env python
# ruff: noqa: T201
from http import HTTPStatus
from pathlib import Path
import requests
TIME_SERIE_IDS = [85780]
MODEL_RUN_IDS = ["none"]
START = "2024-02-01T00:00:00Z"
STOP = "2024-02-02T00:00:00Z"
OUTPUT_FILENAME = "series.csv"
API_BASE_URL = "https://5.179.11.244/api/internal/v1/"
EMAIL = "a@a.lv"
PASSWORD = "password" # noqa: S105
API_AUTH_URL = f"{API_BASE_URL}auth-eternal-token/"
API_SERIES_URL = f"{API_BASE_URL}series/tables_csv"
token = None
auth_data = {
"username": EMAIL,
"password": PASSWORD,
}
auth_response = requests.post(API_AUTH_URL, json=auth_data, timeout=10, verify=False)
if auth_response.status_code == HTTPStatus.OK:
token = auth_response.json().get("token")
# Jūs varat pierakstīt token un lietot tikai talāk sekojošo kodu
headers = {
"Content-type": "application/json",
"Authorization": f"Token {token}",
}
data = {
"time_serie_ids": TIME_SERIE_IDS,
"start": START,
"stop": STOP,
"model_run_ids": MODEL_RUN_IDS,
}
list_response = requests.get(
API_SERIES_URL, data, headers=headers, timeout=120, verify=False
)
print()
print("#" * 30)
print(list_response.content)
if list_response.status_code == HTTPStatus.BAD_REQUEST:
print(list_response.json())
elif list_response.status_code == HTTPStatus.OK:
print("write to file ", OUTPUT_FILENAME)
with Path(OUTPUT_FILENAME).open("wb") as file:
file.write(list_response.content)
series_list_simple_curl.sh
#!/bin/bash
API_BASE_URL=https://5.179.11.244/api/internal/v1/
API_SERIES_URL=${API_BASE_URL}series/tables_csv/
API_TOKEN="mytoken"
TIME_SERIE_IDS="time_serie_ids=85780&time_serie_ids=85781"
MODEL_RUN_IDS="model_run_ids=none"
START="2024-02-01T00:00:00Z"
STOP="2024-02-02T00:00:00Z"
OUTPUT_FILENAME='series.csv'
URL="$API_SERIES_URL?start=$START&stop=$STOP&$TIME_SERIE_IDS&$MODEL_RUN_IDS"
curl --insecure -H "Authorization: Token $API_TOKEN" -H "Content-Type: application/json" $URL -o $OUTPUT_FILENAME
series_list_simple.r
library(httr)
library(jsonlite)
# Konstantes
API_BASE_URL <- "https://5.179.11.244/api/internal/v1/"
EMAIL <- "a@a.lv"
PASSWORD <- "password"
OUTPUT_FILENAME <- "series-r.csv"
API_AUTH_URL <- paste0(API_BASE_URL, "auth-eternal-token/")
API_SERIES_URL <- paste0(API_BASE_URL, "series/tables_csv")
TIME_SERIE_IDS <- list(85789, 86429, 86430)
MODEL_RUN_IDS <- list()
START <- "2025-01-01T00:00:00Z"
STOP <- "2025-04-01T00:00:00Z"
# Autentifikācija
set_config(config(ssl_verifypeer = 0))
auth_data <- list(username = EMAIL, password = PASSWORD)
auth_response <- POST(API_AUTH_URL, body = auth_data, encode = "json")
token <- NULL
if (status_code(auth_response) == 200) {
token <- content(auth_response, "parsed")$token
}
if (!is.null(token)) {
# API pieprasījums datiem
headers <- add_headers("Authorization" = paste("Token", token), "Content-Type" = "application/json")
query <- list(start = START, stop = STOP)
for (id in TIME_SERIE_IDS) {
query <- c(query, list(time_serie_ids = id))
}
for (id in MODEL_RUN_IDS) {
query <- c(query, list(model_run_ids = id))
}
response <- GET(API_SERIES_URL, query = query, headers)
if (status_code(response) == 200) {
writeBin(content(response, "raw"), OUTPUT_FILENAME)
print(paste("Failā saglabāts:", OUTPUT_FILENAME))
} else {
print("API pieprasījums neizdevās")
print(content(response, "text"))
}
} else {
print("Autentifikācija neizdevās")
}