From b7e3d3d018f8c047301a02bda9461b0b2020fa10 Mon Sep 17 00:00:00 2001 From: lifegpc Date: Sun, 17 Jan 2021 21:15:57 +0800 Subject: [PATCH] add support to change database location --- README.md | 7 +++++-- database.py | 4 ++-- readset.py | 1 + rssbot.py | 2 +- 4 files changed, 9 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index a3652e4..af1c44f 100644 --- a/README.md +++ b/README.md @@ -21,6 +21,7 @@ rssbotLib=rssbot.dll - [downloadMediaFile](#downloadmediafile) - [sendFileURLScheme](#sendfileurlscheme) - [rssbotLib](#rssbotlib) +- [databaseLocation](#databaselocation) ### token 必填参数。Telegram Bot API Token。向[@BotFather](https://t.me/BotFather)请求新建Bot,即可得到。 ### maxCount @@ -34,9 +35,11 @@ rssbotLib=rssbot.dll ### telegramBotApiServer 可选参数。Telegram Bot API Server地址,例如`http://localhost:8081`。设置自建服务器地址后可以启用部分功能。[有关自建Telegram Bot API Server的信息。](https://core.telegram.org/bots/api#using-a-local-bot-api-server) ### downloadMediaFile -可选参数。在发送媒体文件前是否先下载。如果使用官方API地址,使用该方式最大可以发送50M的视频/文件和10M的图片。默认值为否(0)。 +可选参数。在发送媒体文件前是否先下载。如果使用官方API地址,使用该方式最大可以发送50M的视频/文件和10M的图片。默认值为否(`0`)。 ### sendFileURLScheme -可选参数。是否使用本地文件(`file:///`)协议发送媒体。需要确保启用`downloadMediaFile`并且使用的是本地的Telegram Bot API Server(`telegramBotApiServer`)。默认值为否(0)。 +可选参数。是否使用本地文件(`file:///`)协议发送媒体。需要确保启用`downloadMediaFile`并且使用的是本地的Telegram Bot API Server(`telegramBotApiServer`)。默认值为否(`0`)。 ### rssbotLib 可选参数。[RSSBotLib](https://github.com/lifegpc/rssbotlib)的共享库位置。设置并且成功加载共享库后,默认启用以下功能: - 发送视频时附带时长,视频分辨率大小信息(在视频文件大于10MB时非常有用)。 +### databaseLocation +可选参数。数据库位置。默认值为`data.db`。 diff --git a/database.py b/database.py index 65b2c69..5967c44 100644 --- a/database.py +++ b/database.py @@ -85,10 +85,10 @@ PRIMARY KEY (hash) )''') self._db.commit() - def __init__(self, m): + def __init__(self, m, loc: str): self._version = [1, 0, 0, 0] self._value_lock = Lock() - self._db = sqlite3.connect('data.db', check_same_thread=False) + self._db = sqlite3.connect(loc, check_same_thread=False) ok = self.__check_database() if not ok: self.__create_table() diff --git a/readset.py b/readset.py index 5066137..f639bc4 100644 --- a/readset.py +++ b/readset.py @@ -45,6 +45,7 @@ class settings: self._sendFileURLScheme = bool(int( d['sendFileURLScheme'])) if 'sendFileURLScheme' in d and d['sendFileURLScheme'].isnumeric() else False self._rssbotLib = d['rssbotLib'] if 'rssbotLib' in d and d['rssbotLib'] != '' else None + self._databaseLocation = d['databaseLocation'] if 'databaseLocation' in d and d['databaseLocation'] != '' else 'data.db' class commandline: diff --git a/rssbot.py b/rssbot.py index ea88dd9..c145759 100644 --- a/rssbot.py +++ b/rssbot.py @@ -428,7 +428,7 @@ class main: if len(sys.argv) > 1: self._commandLine.parse(sys.argv[1:]) self._telegramBotApiServer = self._setting._telegramBotApiServer - self._db = database(self) + self._db = database(self, self._setting._databaseLocation) if not exists('settings.txt'): print('找不到settings.txt') return -1