From 68bcfadd42bb168f2c02f64f275faec1b57ad6b4 Mon Sep 17 00:00:00 2001 From: ben Date: Fri, 16 Dec 2022 12:38:14 +0000 Subject: [PATCH] Added servers to check --- lnbits/extensions/gerty/helpers.py | 201 ++++++++++-------- lnbits/extensions/gerty/migrations.py | 3 +- lnbits/extensions/gerty/models.py | 2 +- .../gerty/templates/gerty/_api_docs.html | 2 +- .../gerty/templates/gerty/gerty.html | 55 ++++- .../gerty/templates/gerty/index.html | 52 +++-- 6 files changed, 203 insertions(+), 112 deletions(-) diff --git a/lnbits/extensions/gerty/helpers.py b/lnbits/extensions/gerty/helpers.py index dd87ef5c..3debab8e 100644 --- a/lnbits/extensions/gerty/helpers.py +++ b/lnbits/extensions/gerty/helpers.py @@ -79,101 +79,98 @@ def format_number(number, precision=None): async def get_mining_dashboard(gerty): areas = [] if isinstance(gerty.mempool_endpoint, str): - async with httpx.AsyncClient() as client: - # current hashrate - r = await get_mempool_info("hashrate_1w", gerty) - data = r - hashrateNow = data["currentHashrate"] - hashrateOneWeekAgo = data["hashrates"][6]["avgHashrate"] + # current hashrate + r = await get_mempool_info("hashrate_1w", gerty) + data = r + hashrateNow = data["currentHashrate"] + hashrateOneWeekAgo = data["hashrates"][6]["avgHashrate"] - text = [] - text.append( - get_text_item_dict( - text="Current mining hashrate", font_size=12, gerty_type=gerty.type - ) + text = [] + text.append( + get_text_item_dict( + text="Current mining hashrate", font_size=12, gerty_type=gerty.type ) - text.append( - get_text_item_dict( - text="{0}hash".format(si_format(hashrateNow, 6, True, " ")), - font_size=20, - gerty_type=gerty.type, - ) + ) + text.append( + get_text_item_dict( + text="{0}hash".format(si_format(hashrateNow, 6, True, " ")), + font_size=20, + gerty_type=gerty.type, ) - text.append( - get_text_item_dict( - text="{0} vs 7 days ago".format( - get_percent_difference(hashrateNow, hashrateOneWeekAgo, 3) - ), - font_size=12, - gerty_type=gerty.type, - ) + ) + text.append( + get_text_item_dict( + text="{0} vs 7 days ago".format( + get_percent_difference(hashrateNow, hashrateOneWeekAgo, 3) + ), + font_size=12, + gerty_type=gerty.type, ) - areas.append(text) + ) + areas.append(text) - r = await get_mempool_info("difficulty_adjustment", gerty) + r = await get_mempool_info("difficulty_adjustment", gerty) - # timeAvg - text = [] - progress = "{0}%".format(round(r["progressPercent"], 2)) - text.append( - get_text_item_dict( - text="Progress through current epoch", - font_size=12, - gerty_type=gerty.type, - ) + # timeAvg + text = [] + progress = "{0}%".format(round(r["progressPercent"], 2)) + text.append( + get_text_item_dict( + text="Progress through current epoch", + font_size=12, + gerty_type=gerty.type, ) - text.append( - get_text_item_dict(text=progress, font_size=60, gerty_type=gerty.type) - ) - areas.append(text) + ) + text.append( + get_text_item_dict(text=progress, font_size=60, gerty_type=gerty.type) + ) + areas.append(text) - # difficulty adjustment - text = [] - stat = r["remainingTime"] - text.append( - get_text_item_dict( - text="Time to next difficulty adjustment", - font_size=12, - gerty_type=gerty.type, - ) + # difficulty adjustment + text = [] + stat = r["remainingTime"] + text.append( + get_text_item_dict( + text="Time to next difficulty adjustment", + font_size=12, + gerty_type=gerty.type, ) - text.append( - get_text_item_dict( - text=get_time_remaining(stat / 1000, 3), - font_size=12, - gerty_type=gerty.type, - ) + ) + text.append( + get_text_item_dict( + text=get_time_remaining(stat / 1000, 3), + font_size=12, + gerty_type=gerty.type, ) - areas.append(text) + ) + areas.append(text) - # difficultyChange - text = [] - difficultyChange = round(r["difficultyChange"], 2) - text.append( - get_text_item_dict( - text="Estimated difficulty change", - font_size=12, - gerty_type=gerty.type, - ) + # difficultyChange + text = [] + difficultyChange = round(r["difficultyChange"], 2) + text.append( + get_text_item_dict( + text="Estimated difficulty change", + font_size=12, + gerty_type=gerty.type, ) - text.append( - get_text_item_dict( - text="{0}{1}%".format( - "+" if difficultyChange > 0 else "", round(difficultyChange, 2) - ), - font_size=60, - gerty_type=gerty.type, - ) + ) + text.append( + get_text_item_dict( + text="{0}{1}%".format( + "+" if difficultyChange > 0 else "", round(difficultyChange, 2) + ), + font_size=60, + gerty_type=gerty.type, ) - areas.append(text) + ) + areas.append(text) - r = await get_mempool_info("hashrate_1m", gerty) - data = r - stat = {} - stat["current"] = data["currentDifficulty"] - stat["previous"] = data["difficulty"][len(data["difficulty"]) - 2][ - "difficulty" - ] + r = await get_mempool_info("hashrate_1m", gerty) + data = r + stat = {} + stat["current"] = data["currentDifficulty"] + stat["previous"] = data["difficulty"][len(data["difficulty"]) - 2]["difficulty"] return areas @@ -456,6 +453,43 @@ async def get_screen_data(screen_num: int, screens_list: dict, gerty): ) ) areas.append(text) + elif screen_slug == "url_checker": + for url in json.loads(gerty.urls): + async with httpx.AsyncClient() as client: + text = [] + try: + response = await client.get(url) + text.append( + get_text_item_dict( + text=url, + font_size=20, + gerty_type=gerty.type, + ) + ) + text.append( + get_text_item_dict( + text=str(response.status_code), + font_size=40, + gerty_type=gerty.type, + ) + ) + except: + text = [] + text.append( + get_text_item_dict( + text=url, + font_size=20, + gerty_type=gerty.type, + ) + ) + text.append( + get_text_item_dict( + text=str("DOWN"), + font_size=40, + gerty_type=gerty.type, + ) + ) + areas.append(text) elif screen_slug == "fun_satoshi_quotes": areas.append(await get_satoshi_quotes(gerty)) elif screen_slug == "fun_exchange_market_rate": @@ -940,8 +974,3 @@ def get_time_remaining(seconds, granularity=2): name = name.rstrip("s") result.append("{} {}".format(round(value), name)) return ", ".join(result[:granularity]) - - -async def get_urls_to_watch(gerty): - gerty = await get_gerty(gerty) - return json.loads(gerty.urls) \ No newline at end of file diff --git a/lnbits/extensions/gerty/migrations.py b/lnbits/extensions/gerty/migrations.py index 2e441c18..654dfcbf 100644 --- a/lnbits/extensions/gerty/migrations.py +++ b/lnbits/extensions/gerty/migrations.py @@ -51,8 +51,9 @@ async def m004_initial(db): """ ) + async def m005_add_gerty_model_col(db): """ support for Gerty model col """ - await db.execute("ALTER TABLE gerty.gertys ADD COLUMN urls TEXT DEFAULT '';") \ No newline at end of file + await db.execute("ALTER TABLE gerty.gertys ADD COLUMN urls TEXT;") diff --git a/lnbits/extensions/gerty/models.py b/lnbits/extensions/gerty/models.py index 07c1f41a..9ff29bda 100644 --- a/lnbits/extensions/gerty/models.py +++ b/lnbits/extensions/gerty/models.py @@ -45,4 +45,4 @@ class Mempool(BaseModel): mempool_endpoint: str = Query(None) endpoint: str = Query(None) data: str = Query(None) - time: int = Query(None) \ No newline at end of file + time: int = Query(None) diff --git a/lnbits/extensions/gerty/templates/gerty/_api_docs.html b/lnbits/extensions/gerty/templates/gerty/_api_docs.html index 27029028..0cea6693 100644 --- a/lnbits/extensions/gerty/templates/gerty/_api_docs.html +++ b/lnbits/extensions/gerty/templates/gerty/_api_docs.html @@ -12,6 +12,6 @@ >

diff --git a/lnbits/extensions/gerty/templates/gerty/gerty.html b/lnbits/extensions/gerty/templates/gerty/gerty.html index 2aad6104..7efb6c91 100644 --- a/lnbits/extensions/gerty/templates/gerty/gerty.html +++ b/lnbits/extensions/gerty/templates/gerty/gerty.html @@ -13,12 +13,14 @@ gertyname }}{% endraw %}{% endblock %}{% block page %} {% raw %} > {{fun_exchange_market_rate["amount"]}} - {{fun_exchange_market_rate["unit"]}} + {{fun_exchange_market_rate["unit"].split(" ")[1]}} - +
Onchain
@@ -81,6 +88,44 @@ gertyname }}{% endraw %}{% endblock %}{% block page %} {% raw %}

+ + + +
Servers to check
+
+ +

+ {{item[0].value.slice(0, 20)}}...: + + {{item[1].value}} + + + {{item[1].value}} + + + {{item[1].value}} + +

+
+
{% endraw %} {% endblock %} {% block scripts %} @@ -137,6 +182,10 @@ gertyname }}{% endraw %}{% endblock %}{% block page %} {% raw %} this.gertyname = this.gerty[i].settings.name } } + if (this.gerty[i].screen.group == 'url_checker') { + this.url_checker = this.gerty[i].screen.areas + this.gertyname = this.gerty[i].settings.name + } if (this.gerty[i].screen.group == 'dashboard_onchain') { this.dashboard_onchain = this.gerty[i].screen.areas this.gertyname = this.gerty[i].settings.name diff --git a/lnbits/extensions/gerty/templates/gerty/index.html b/lnbits/extensions/gerty/templates/gerty/index.html index 3eb02dfc..0c7155e0 100644 --- a/lnbits/extensions/gerty/templates/gerty/index.html +++ b/lnbits/extensions/gerty/templates/gerty/index.html @@ -192,6 +192,7 @@ val="xs" label="URL Checker" > +
- Hit enter to add values - - + v-if="formDialog.data.display_preferences.url_checker" + filled + multiple + dense + emit-value + v-model="formDialog.data.urls" + use-input + use-chips + multiple + hide-dropdown-icon + new-value-mode="add-unique" + label="Urls to watch." + > + Hit enter to add values + +