Move log and database files to their own folders

This commit is contained in:
jesopo 2018-09-24 15:26:31 +01:00
parent ecb9d7cb3f
commit bb641b0870
5 changed files with 9 additions and 6 deletions

0
databases/.keep Normal file
View file

0
logs/.keep Normal file
View file

View file

@ -15,14 +15,15 @@ class Module(object):
next_due=time.time()+until_next_hour)
def backup(self, event):
files = glob.glob("%s.*" % self.bot.args.database)
full_location = self.bot.database.full_location
files = glob.glob("%s.*" % full_location)
files = sorted(files)
if len(files) == 5:
os.remove(files[0])
suffix = datetime.datetime.now().strftime("%y-%m-%d.%H:%M:%S")
backup_file = "%s.%s" % (self.bot.args.database, suffix)
shutil.copy2(self.bot.args.database, backup_file)
backup_file = "%s.%s" % (full_location, suffix)
shutil.copy2(fulllocation, backup_file)
event["timer"].redo()

View file

@ -239,7 +239,7 @@ class UserChannelSettings(Table):
[user_id, channel_id, setting.lower()])
class Database(object):
def __init__(self, bot, directory, filename="bot.db"):
def __init__(self, bot, directory, filename):
self.bot = bot
self.filename = filename
self.full_location = os.path.join(directory, filename)

View file

@ -12,8 +12,10 @@ arg_parser = argparse.ArgumentParser(
description="Python3 event-driven asynchronous modular IRC bot")
arg_parser.add_argument("--config", "-c", default="bot.conf",
help="Location of the JSON config file")
arg_parser.add_argument("--database", "-d", default="bot.db",
arg_parser.add_argument("--database", "-d", default="databases/bot.db",
help="Location of the sqlite3 database file")
arg_parser.add_argument("--log", "-l", default="logs/bot.log",
help="Location of the main log file")
arg_parser.add_argument("--verbose", "-v", action="store_true")
args = arg_parser.parse_args()
@ -27,7 +29,7 @@ bot._exports = exports = Exports.Exports()
bot.modules = modules = ModuleManager.ModuleManager(bot, events, exports,
os.path.join(directory, "modules"))
bot.line_handler = IRCLineHandler.LineHandler(bot, bot._events)
bot.log = Logging.Log(bot, directory, "bot.log")
bot.log = Logging.Log(bot, directory, args.log)
bot.database = Database.Database(bot, directory, args.database)
bot.config = Config.Config(bot, directory, args.config).load_config()
bot.args = args