few more adjustments

This commit is contained in:
Cyberes 2024-04-04 00:15:34 -06:00
parent 62d6e4c2a2
commit f2bf43ca84
1 changed files with 16 additions and 3 deletions

View File

@ -2,6 +2,7 @@ import copy
import json
import logging
import os
import re
import shutil
import tempfile
import time
@ -15,6 +16,8 @@ from nio import (AsyncClient, InviteMemberEvent, JoinError, MatrixRoom, RoomMess
from exporter.export import download_mxc, zip_directory, upload_to_r2, trim_filename, fetch_events
CLEAN_ROOM_NAME_RE = re.compile('[^a-zA-Z0-9]')
class RoomExport:
def __init__(self, room_id: str, allowed_again: datetime):
@ -82,7 +85,8 @@ class MatrixBotCallbacks:
if event.sender == self.client.user_id:
return
self.logger.info(f"Export for {room.room_id} requested by {event.sender}")
requestor = event.sender
self.logger.info(f'Export for "{room.name}" ({room.room_id}) requested by {requestor}')
await self.client.room_read_markers(room.room_id, event.event_id, event.event_id)
if not self.exports.check_allowed(room.room_id):
@ -103,11 +107,15 @@ class MatrixBotCallbacks:
'm.room.message',
content
)
self.logger.info(f"Rejected export in {room.room_id}, {minutes_until_future} minutes remaining.")
self.logger.info(f'Rejected export in {room.room_id}, {minutes_until_future} minutes remaining.')
return
export_created = int(time.time())
zipfile_name = f'{room.room_id.replace(":", "_").replace("!", "").replace(".", "")}-{int(time.time())}.zip'
clean_room_name_str = ''
if room.name:
clean_room_name = CLEAN_ROOM_NAME_RE.sub('', room.name)
clean_room_name_str = f'{clean_room_name}-'
zipfile_name = f'{clean_room_name_str}{room.room_id.replace(":", "_").replace("!", "").replace(".", "")}-{int(time.time())}.zip'
zipfile_path = None
temp_dir = None
@ -144,6 +152,11 @@ class MatrixBotCallbacks:
exported_events.append(event.source)
exported_data = {
'room': {
'id': room.room_id,
'name': room.name
},
'requesting_user': requestor,
'exporting_user': self.client.user_id,
'created': export_created,
'events': sorted(exported_events, key=lambda x: x['origin_server_ts'])