Make a lil post on mattermost when we find a new valid report
This commit is contained in:
parent
bbfa219008
commit
a5bbd9462b
3 changed files with 27 additions and 6 deletions
11
src/db.py
11
src/db.py
|
@ -54,10 +54,17 @@ def get_discovered_files() -> List[str]:
|
||||||
return discovered_files
|
return discovered_files
|
||||||
|
|
||||||
|
|
||||||
def add_valid_file(filename, metadata):
|
def add_valid_file(filename, metadata) -> bool:
|
||||||
|
"""
|
||||||
|
Returns: Boolean that indicates if the file is newly identified as valid.
|
||||||
|
"""
|
||||||
db = _load_db()
|
db = _load_db()
|
||||||
valid_files = db.get("valid_files", {})
|
valid_files = db.get("valid_files", {})
|
||||||
|
new_file = False
|
||||||
|
if filename not in valid_files:
|
||||||
|
new_file = True
|
||||||
valid_files[filename] = metadata
|
valid_files[filename] = metadata
|
||||||
db["valid_files"] = valid_files
|
db["valid_files"] = valid_files
|
||||||
_save_db(db)
|
_save_db(db)
|
||||||
return valid_files
|
|
||||||
|
return new_file
|
||||||
|
|
|
@ -12,7 +12,7 @@ from colored import style
|
||||||
from mattermostdriver import Driver
|
from mattermostdriver import Driver
|
||||||
from tabulate import tabulate
|
from tabulate import tabulate
|
||||||
|
|
||||||
from MattermostObjects import MMUser, MMPost, MMChannelPosts
|
from mattermost_objects import MMUser, MMPost, MMChannelPosts
|
||||||
from utils import humanize_date_difference, timer
|
from utils import humanize_date_difference, timer
|
||||||
|
|
||||||
pp = pp.PrettyPrinter(indent=2)
|
pp = pp.PrettyPrinter(indent=2)
|
||||||
|
@ -81,6 +81,7 @@ def merge_dict(a: dict, b: dict) -> dict:
|
||||||
|
|
||||||
class MMApi(Driver):
|
class MMApi(Driver):
|
||||||
def __init__(self, user: User = users["flynn"]):
|
def __init__(self, user: User = users["flynn"]):
|
||||||
|
print(f"Initializing MMApi client for user {user}")
|
||||||
Driver.__init__(
|
Driver.__init__(
|
||||||
self,
|
self,
|
||||||
merge_dict(
|
merge_dict(
|
||||||
|
@ -109,7 +110,7 @@ class MMApi(Driver):
|
||||||
print(f"{style.BOLD}[{log_level.value}]{style.RESET} {text}")
|
print(f"{style.BOLD}[{log_level.value}]{style.RESET} {text}")
|
||||||
|
|
||||||
def get_channel_id(self, channel_name):
|
def get_channel_id(self, channel_name):
|
||||||
resp = self.channels.get_channel_by_name(self.team_id, channel_name, since)
|
resp = self.channels.get_channel_by_name(self.team_id, channel_name)
|
||||||
id = resp["id"]
|
id = resp["id"]
|
||||||
self.log(f"Fetching channel id for {channel_name}: {id}")
|
self.log(f"Fetching channel id for {channel_name}: {id}")
|
||||||
return id
|
return id
|
||||||
|
|
17
src/web.py
17
src/web.py
|
@ -8,7 +8,8 @@ import requests
|
||||||
|
|
||||||
import db
|
import db
|
||||||
import dir_utils
|
import dir_utils
|
||||||
from mattermost import MMApi
|
from mattermost import MMApi, ChannelApi
|
||||||
|
import mattermost
|
||||||
|
|
||||||
|
|
||||||
def find_codimd_files_on_mattermost():
|
def find_codimd_files_on_mattermost():
|
||||||
|
@ -54,6 +55,16 @@ def download_files():
|
||||||
print(f"Downloading url {url}")
|
print(f"Downloading url {url}")
|
||||||
f.write(read_note(url))
|
f.write(read_note(url))
|
||||||
|
|
||||||
|
def filename_to_url(filename):
|
||||||
|
return f"https://codimd.zeus.gent/{filename[5:-3]}"
|
||||||
|
|
||||||
|
def report_newly_found_file(filename):
|
||||||
|
channel = ChannelApi("bestuur-dev", mattermost.users["flynn"])
|
||||||
|
|
||||||
|
channel.create_post(
|
||||||
|
f"I found a new report: {filename_to_url(filename)}! Making work of putting it on gitlab :)"
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
def validate_downloaded_files():
|
def validate_downloaded_files():
|
||||||
path = "data"
|
path = "data"
|
||||||
|
@ -62,7 +73,9 @@ def validate_downloaded_files():
|
||||||
for filename in dir_list:
|
for filename in dir_list:
|
||||||
metadata = dir_utils.find_metadata("data/" + filename)
|
metadata = dir_utils.find_metadata("data/" + filename)
|
||||||
if metadata is not None:
|
if metadata is not None:
|
||||||
db.add_valid_file(filename, metadata)
|
is_new_file = db.add_valid_file(filename, metadata)
|
||||||
|
if is_new_file:
|
||||||
|
report_newly_found_file(filename)
|
||||||
|
|
||||||
return db._load_db()
|
return db._load_db()
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue