1 Commits

Author SHA1 Message Date
8b53aed18b feat(easel): add api provider 2026-06-17 21:15:01 +03:00
6 changed files with 5309 additions and 5319 deletions

View File

@@ -39,11 +39,14 @@ class DateParser(RowParser[datetime.datetime]):
KEY = "date" KEY = "date"
def parse_row(self, tag: Tag) -> Iterable[datetime.datetime]: def parse_row(self, tag: Tag) -> Iterable[datetime.datetime]:
datetime_time_row = tag.select_one(".widget-row.widget-row-datetime-time") datetime_date_tag = tag.select_one(".widget-row.widget-row-datetime-date > .row-item")
if datetime_time_row: if datetime_date_tag:
for item in datetime_time_row.select(".row-item > time-value"): date_str = datetime_date_tag.find(text=True, recursive=False).text
timestamp = int(item.attrs["timestamp"]) date = dateparser.parse(date_str, languages=["ru"])
time = datetime.datetime.fromtimestamp(timestamp) for item in tag.select(".widget-row.widget-row-datetime-time > .row-item"):
time_str = item.text
time = dateparser.parse(time_str, languages=["ru"])
time = time.replace(year=date.year, month=date.month, day=date.day)
yield time yield time
else: else:
for item in tag.select(".widget-row.widget-row-date > .row-item"): for item in tag.select(".widget-row.widget-row-date > .row-item"):
@@ -171,7 +174,7 @@ class PrecipitationParser(RowParser[float]):
def parse_row(self, tag: Tag) -> Iterable[float]: def parse_row(self, tag: Tag) -> Iterable[float]:
for item in tag.select(".widget-row[data-row=precipitation-bars] > .row-item > .item-unit"): for item in tag.select(".widget-row[data-row=precipitation-bars] > .row-item > .item-unit"):
yield float(item.text.replace(",", ".").replace("< ", "")) yield float(item.text.replace(",", "."))
class PressureParser(RowParser[list[int]]): class PressureParser(RowParser[list[int]]):

View File

@@ -1,6 +1,6 @@
[tool.poetry] [tool.poetry]
name = "gallery" name = "gallery"
version = "0.3.3" version = "0.3.1"
description = "" description = ""
authors = ["shmyga <shmyga.z@gmail.com>"] authors = ["shmyga <shmyga.z@gmail.com>"]
readme = "README.md" readme = "README.md"

View File

@@ -1,12 +1,12 @@
{ {
"name": "gallery", "name": "gallery",
"version": "0.3.3", "version": "0.3.1",
"lockfileVersion": 3, "lockfileVersion": 3,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "gallery", "name": "gallery",
"version": "0.3.3", "version": "0.3.1",
"license": "ISC", "license": "ISC",
"dependencies": { "dependencies": {
"@popperjs/core": "^2.11.8", "@popperjs/core": "^2.11.8",

View File

@@ -1,6 +1,6 @@
{ {
"name": "gallery", "name": "gallery",
"version": "0.3.3", "version": "0.3.1",
"scripts": { "scripts": {
"build": "vite build", "build": "vite build",
"dev": "vite build --watch" "dev": "vite build --watch"

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long