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")
}