From 53791435e3418ed5efe72899bceab4c344bec348 Mon Sep 17 00:00:00 2001 From: "hikari.ftg" Date: Tue, 22 Mar 2022 17:51:55 +0000 Subject: [PATCH] Remove redundant backuper as it is available in classic repo, add okteto badge in info --- hikka/modules/backuper.py | 144 ------------------------------------ hikka/modules/hikka_info.py | 30 ++++---- web-resources/root.jinja2 | 7 ++ 3 files changed, 21 insertions(+), 160 deletions(-) delete mode 100755 hikka/modules/backuper.py diff --git a/hikka/modules/backuper.py b/hikka/modules/backuper.py deleted file mode 100755 index f44a154..0000000 --- a/hikka/modules/backuper.py +++ /dev/null @@ -1,144 +0,0 @@ -""" - █ █ ▀ █▄▀ ▄▀█ █▀█ ▀ ▄▀█ ▀█▀ ▄▀█ █▀▄▀█ ▄▀█ - █▀█ █ █ █ █▀█ █▀▄ █ ▄ █▀█ █ █▀█ █ ▀ █ █▀█ - - Copyright 2022 t.me/hikariatama - Licensed under the GNU GPLv3 -""" - -# meta pic: https://img.icons8.com/fluency/48/000000/sync-settings.png - -from .. import loader, utils -import asyncio -import datetime -import io -import json - -from telethon.tl.types import Message - - -@loader.tds -class BackuperMod(loader.Module): - """Backup everything and anything""" - - strings = { - "name": "Backuper", - "backup_caption": "☝️ This is your database backup. Do not give it to anyone, it contains personal info.", - "reply_to_file": "🚫 Reply to .{} file", - "db_restored": "🔄 Database updated, restarting...", - "modules_backup": "🗃 Backup mods ({})", - "notes_backup": "🗃 Backup notes ({})", - "mods_restored": "✅ Modes restored, restarting", - "notes_restored": "✅ Notes restored", - } - - async def client_ready(self, client, db): - self._db = db - self._client = client - - async def backupdbcmd(self, message: Message) -> None: - """Create database backup [will be sent in pm]""" - txt = io.BytesIO(json.dumps(self._db).encode("utf-8")) - txt.name = f"ftg-db-backup-{getattr(datetime, 'datetime', datetime).now().strftime('%d-%m-%Y-%H-%M')}.db" - await self._client.send_file("me", txt, caption=self.strings("backup_caption")) - await message.delete() - - async def restoredbcmd(self, message: Message) -> None: - """Restore database from file""" - reply = await message.get_reply_message() - if not reply or not reply.media: - await utils.answer( - message, self.strings("reply_to_file", message).format("db") - ) - await asyncio.sleep(3) - await message.delete() - return - - file = await message.client.download_file(reply.media) - decoded_text = json.loads(file.decode("utf-8")) - self._db.clear() - self._db.update(**decoded_text) - self._db.save() - await utils.answer(message, self.strings("db_restored", message)) - await self.allmodules.commands["restart"](await message.respond("_")) - - async def backupmodscmd(self, message: Message) -> None: - """Create backup of mods""" - data = json.dumps( - { - "loaded": self._db.get( - "friendly-telegram.modules.loader", "loaded_modules", [] - ), - "unloaded": [], - } - ) - txt = io.BytesIO(data.encode("utf-8")) - txt.name = f"ftg-mods-{getattr(datetime, 'datetime', datetime).now().strftime('%d-%m-%Y-%H-%M')}.mods" - await self._client.send_file( - utils.get_chat_id(message), - txt, - caption=self.strings("modules_backup", message).format( - len( - self._db.get( - "friendly-telegram.modules.loader", "loaded_modules", [] - ) - ) - ), - ) - await message.delete() - - async def restoremodscmd(self, message: Message) -> None: - """ - Restore mods from backup""" - reply = await message.get_reply_message() - if not reply or not reply.media: - await utils.answer( - message, self.strings("reply_to_file", message).format("mods") - ) - await asyncio.sleep(3) - await message.delete() - return - - file = await message.client.download_file(reply.media) - decoded_text = json.loads(file.decode("utf-8")) - self._db.set( - "friendly-telegram.modules.loader", "loaded_modules", decoded_text["loaded"] - ) - self._db.set( - "friendly-telegram.modules.loader", - "unloaded_modules", - decoded_text["unloaded"], - ) - self._db.save() - await utils.answer(message, self.strings("mods_restored", message)) - await self.allmodules.commands["restart"](await message.respond("_")) - - async def backupnotescmd(self, message: Message) -> None: - """Create the backup of notes""" - data = json.dumps(self._db.get("friendly-telegram.modules.notes", "notes", [])) - txt = io.BytesIO(data.encode("utf-8")) - txt.name = f"ftg-notes-{getattr(datetime, 'datetime', datetime).now().strftime('%d-%m-%Y-%H-%M')}.notes" - await self._client.send_file( - utils.get_chat_id(message), - txt, - caption=self.strings("notes_backup", message).format( - len(self._db.get("friendly-telegram.modules.notes", "notes", [])) - ), - ) - await message.delete() - - async def restorenotescmd(self, message: Message) -> None: - """ - Restore notes from backup""" - reply = await message.get_reply_message() - if not reply or not reply.media: - await utils.answer( - message, self.strings("reply_to_file", message).format("notes") - ) - await asyncio.sleep(3) - await message.delete() - return - - file = await message.client.download_file(reply.media) - decoded_text = json.loads(file.decode("utf-8")) - self._db.set("friendly-telegram.modules.notes", "notes", decoded_text) - self._db.save() - await utils.answer(message, self.strings("notes_restored", message)) diff --git a/hikka/modules/hikka_info.py b/hikka/modules/hikka_info.py index b2d2473..535175c 100755 --- a/hikka/modules/hikka_info.py +++ b/hikka/modules/hikka_info.py @@ -53,7 +53,10 @@ class HikkaInfoMod(loader.Module): try: repo = git.Repo() ver = repo.heads[0].commit.hexsha + except Exception: + ver = "unknown" + try: diff = repo.git.log(["HEAD..origin/alpha", "--oneline"]) upd = ( "⚠️ Update required .update" @@ -61,25 +64,20 @@ class HikkaInfoMod(loader.Module): else "✅ Up-to-date" ) except Exception: - ver = "unknown" upd = "" - termux = bool(os.popen('echo $PREFIX | grep -o "com.termux"').read()) # skipcq: BAN-B605, BAN-B607 - heroku = os.environ.get("DYNO", False) + is_termux = bool(os.popen('echo $PREFIX | grep -o "com.termux"').read()) # skipcq: BAN-B605, BAN-B607 + is_okteto = "OKTETO" in os.environ + is_lavhost = "LAVHOST" in os.environ - platform = ( - "🕶 Termux" - if termux - else ( - "⛎ Heroku" - if heroku - else ( - f"✌️ lavHost {os.environ['LAVHOST']}" - if "LAVHOST" in os.environ - else "📻 VDS" - ) - ) - ) + if is_termux: + platform = "🕶 Termux" + elif is_okteto: + platform = "☁️ Okteto" + elif is_lavhost: + platform = f"✌️ lavHost {os.environ['LAVHOST']}" + else: + platform = "📻 VDS" await query.answer( [ diff --git a/web-resources/root.jinja2 b/web-resources/root.jinja2 index 531446e..04d9c04 100755 --- a/web-resources/root.jinja2 +++ b/web-resources/root.jinja2 @@ -14,6 +14,13 @@ + + {% endblock %} {% block content %}