This repository has been archived on 2026-04-06. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
LiveCartaMeta/update.py
Egor Svitin ecb3166dfe update run
2023-02-21 10:04:51 +03:00

53 lines
1.4 KiB
Python

import argparse
from configs.config import config
from sources.BaseSource import BaseSource
class Updater:
def __init__(self):
parser = argparse.ArgumentParser(description="Source parser.")
parser.add_argument("--config", help='Update config action', action='store_true')
parser.add_argument("--source", type=str)
self.args = parser.parse_args()
def is_source_exists(self, source):
try:
config.get_source_by_name(source)
except ValueError:
return False
return True
def parse_source(self, source):
source_config = config.get_source_by_name(source)
source_model = BaseSource(**source_config)
if not source_model.check_is_update_needed():
print('Nothing to update')
return
else:
updated = source_model.update_data()
print('Rows added: ' + str(updated))
def update_config(self):
config.update_sources()
def do_action(self):
print("Start Updater");
print("Start Configure")
self.update_config()
if self.is_source_exists(self.args.source):
print("Start source update" + self.args.source)
self.parse_source(self.args.source)
return
for source in self.args.source:
print("Start source update" + source)
self.parse_source(source)
updater = Updater()
updater.do_action()