mirror of
https://github.com/rommapp/romm.git
synced 2026-02-18 00:27:41 +01:00
remove mame from scheduled tasks and embed fixture
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -58,4 +58,3 @@ frontend/dev-dist
|
||||
# outside data
|
||||
switch_titledb.json
|
||||
switch_product_ids.json
|
||||
mame.xml
|
||||
|
||||
@@ -31,7 +31,7 @@ RomM (ROM Manager) allows you to scan, enrich, and browse your game collection w
|
||||
- Supports a large number of **[platforms][platform-support]**
|
||||
- Play games directly from the browser using [EmulatorJS][wiki-emulatorjs-url]
|
||||
- Share your library with friend while [limiting access and permissions][authentication]
|
||||
- Supports [MAME][mame-xml-update], [Nintendo Switch][switch-titledb-update] and PS2 naming schemes
|
||||
- Supports MAME, Nintendo Switch, and Sony Playstation naming schemes
|
||||
- Detects and groups **multifile games** (e.g. PS1 games with multiple CDs)
|
||||
- Can [parse tags][tag-support] in filenames (e.g. (E), (USA), (rev v1), etc.)
|
||||
- View, upload, update, and delete games from any modern web browser
|
||||
@@ -179,8 +179,6 @@ Here are a few projects that we think you might like:
|
||||
[platform-support]: #-platform-support
|
||||
[authentication]: #-authentication
|
||||
[tag-support]: #-tag-support
|
||||
[switch-titledb-update]: #-switch-titledb-update
|
||||
[mame-xml-update]: #-mame-xml-update
|
||||
[configuration-file]: #-configuration-file
|
||||
|
||||
<!-- Files -->
|
||||
|
||||
@@ -79,10 +79,3 @@ SCHEDULED_UPDATE_SWITCH_TITLEDB_CRON: Final = os.environ.get(
|
||||
"SCHEDULED_UPDATE_SWITCH_TITLEDB_CRON",
|
||||
"0 4 * * *", # At 4:00 AM every day
|
||||
)
|
||||
ENABLE_SCHEDULED_UPDATE_MAME_XML: Final = (
|
||||
os.environ.get("ENABLE_SCHEDULED_UPDATE_MAME_XML", "false") == "true"
|
||||
)
|
||||
SCHEDULED_UPDATE_MAME_XML_CRON: Final = os.environ.get(
|
||||
"SCHEDULED_UPDATE_MAME_XML_CRON",
|
||||
"0 5 * * *", # At 5:00 AM every day
|
||||
)
|
||||
|
||||
@@ -1,11 +1,9 @@
|
||||
from config import (
|
||||
ENABLE_RESCAN_ON_FILESYSTEM_CHANGE,
|
||||
ENABLE_SCHEDULED_RESCAN,
|
||||
ENABLE_SCHEDULED_UPDATE_MAME_XML,
|
||||
ENABLE_SCHEDULED_UPDATE_SWITCH_TITLEDB,
|
||||
RESCAN_ON_FILESYSTEM_CHANGE_DELAY,
|
||||
SCHEDULED_RESCAN_CRON,
|
||||
SCHEDULED_UPDATE_MAME_XML_CRON,
|
||||
SCHEDULED_UPDATE_SWITCH_TITLEDB_CRON,
|
||||
)
|
||||
from endpoints.responses.heartbeat import HeartbeatResponse
|
||||
@@ -51,11 +49,5 @@ def heartbeat() -> HeartbeatResponse:
|
||||
"TITLE": "Scheduled Switch TitleDB update",
|
||||
"MESSAGE": "Updates the Nintedo Switch TitleDB file",
|
||||
},
|
||||
"MAME_XML": {
|
||||
"ENABLED": ENABLE_SCHEDULED_UPDATE_MAME_XML,
|
||||
"CRON": SCHEDULED_UPDATE_MAME_XML_CRON,
|
||||
"TITLE": "Scheduled MAME XML update",
|
||||
"MESSAGE": "Updates the MAME XML file",
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,7 +14,6 @@ class TaskDict(WatcherDict):
|
||||
class SchedulerDict(TypedDict):
|
||||
RESCAN: TaskDict
|
||||
SWITCH_TITLEDB: TaskDict
|
||||
MAME_XML: TaskDict
|
||||
|
||||
|
||||
class MetadataSourcesDict(TypedDict):
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
from decorators.auth import protected_route
|
||||
from endpoints.responses import MessageResponse
|
||||
from fastapi import APIRouter, Request
|
||||
from tasks.update_mame_xml import update_mame_xml_task
|
||||
from tasks.update_switch_titledb import update_switch_titledb_task
|
||||
|
||||
router = APIRouter()
|
||||
@@ -33,7 +32,6 @@ async def run_task(request: Request, task: str) -> MessageResponse:
|
||||
"""
|
||||
|
||||
tasks = {
|
||||
"mame": update_mame_xml_task,
|
||||
"switch_titledb": update_switch_titledb_task
|
||||
}
|
||||
|
||||
|
||||
@@ -20,6 +20,3 @@ def test_heartbeat():
|
||||
assert heartbeat.get('SCHEDULER').get('SWITCH_TITLEDB').get('ENABLED')
|
||||
assert heartbeat.get('SCHEDULER').get('SWITCH_TITLEDB').get('CRON') == "0 4 * * *"
|
||||
assert heartbeat.get('SCHEDULER').get('SWITCH_TITLEDB').get('TITLE') == "Scheduled Switch TitleDB update"
|
||||
assert heartbeat.get('SCHEDULER').get('MAME_XML').get('ENABLED')
|
||||
assert heartbeat.get('SCHEDULER').get('MAME_XML').get('CRON') == "0 5 * * *"
|
||||
assert heartbeat.get('SCHEDULER').get('MAME_XML').get('TITLE') == "Scheduled MAME XML update"
|
||||
|
||||
@@ -5,7 +5,6 @@ import re
|
||||
import unicodedata
|
||||
from typing import Final
|
||||
from logger.logger import log
|
||||
from tasks.update_mame_xml import update_mame_xml_task
|
||||
from tasks.update_switch_titledb import update_switch_titledb_task
|
||||
|
||||
|
||||
@@ -183,20 +182,8 @@ class MetadataHandler:
|
||||
async def _mame_format(self, search_term: str) -> str:
|
||||
from handler import fs_rom_handler
|
||||
|
||||
mame_index = {"menu": {"game": []}}
|
||||
|
||||
try:
|
||||
with open(MAME_XML_FILE, "r") as index_xml:
|
||||
mame_index = xmltodict.parse(index_xml.read())
|
||||
except FileNotFoundError:
|
||||
log.warning("Fetching the MAME XML file from Github...")
|
||||
await update_mame_xml_task.run(force=True)
|
||||
try:
|
||||
with open(MAME_XML_FILE, "r") as index_xml:
|
||||
mame_index = xmltodict.parse(index_xml.read())
|
||||
except FileNotFoundError:
|
||||
log.error("Could not fetch the MAME XML file from Github")
|
||||
finally:
|
||||
with open(MAME_XML_FILE, "r") as index_xml:
|
||||
mame_index = xmltodict.parse(index_xml.read())
|
||||
index_entry = [
|
||||
game
|
||||
for game in mame_index["menu"]["game"]
|
||||
|
||||
172879
backend/handler/metadata_handler/fixtures/mame.xml
Normal file
172879
backend/handler/metadata_handler/fixtures/mame.xml
Normal file
File diff suppressed because it is too large
Load Diff
@@ -1,6 +1,5 @@
|
||||
from logger.logger import log
|
||||
from tasks.scan_library import scan_library_task
|
||||
from tasks.update_mame_xml import update_mame_xml_task
|
||||
from tasks.update_switch_titledb import update_switch_titledb_task
|
||||
from tasks.tasks import tasks_scheduler
|
||||
|
||||
@@ -8,7 +7,6 @@ if __name__ == "__main__":
|
||||
# Initialize the tasks
|
||||
scan_library_task.init()
|
||||
update_switch_titledb_task.init()
|
||||
update_mame_xml_task.init()
|
||||
|
||||
log.info("Starting scheduler")
|
||||
|
||||
|
||||
@@ -1,25 +0,0 @@
|
||||
import os
|
||||
from pathlib import Path
|
||||
from typing import Final
|
||||
|
||||
from config import ENABLE_SCHEDULED_UPDATE_MAME_XML, SCHEDULED_UPDATE_MAME_XML_CRON
|
||||
from tasks.tasks import RemoteFilePullTask
|
||||
|
||||
FIXTURE_FILE_PATH: Final = (
|
||||
Path(os.path.dirname(__file__)).parent / "handler" / "metadata_handler" / "fixtures" / "mame.xml"
|
||||
)
|
||||
|
||||
|
||||
class UpdateMAMEXMLTask(RemoteFilePullTask):
|
||||
def __init__(self):
|
||||
super().__init__(
|
||||
func="tasks.update_mame_xml.update_mame_xml_task.run",
|
||||
description="mame xml update",
|
||||
enabled=ENABLE_SCHEDULED_UPDATE_MAME_XML,
|
||||
cron_string=SCHEDULED_UPDATE_MAME_XML_CRON,
|
||||
url="https://gist.githubusercontent.com/gantoine/0e2b9e25962bfd661ad2fe0ba0e72766/raw/gistfile1.txt",
|
||||
file_path=FIXTURE_FILE_PATH,
|
||||
)
|
||||
|
||||
|
||||
update_mame_xml_task = UpdateMAMEXMLTask()
|
||||
@@ -35,5 +35,3 @@ ENABLE_SCHEDULED_RESCAN=true
|
||||
SCHEDULED_RESCAN_CRON=0 3 * * *
|
||||
ENABLE_SCHEDULED_UPDATE_SWITCH_TITLEDB=true
|
||||
SCHEDULED_UPDATE_SWITCH_TITLEDB_CRON=0 4 * * *
|
||||
ENABLE_SCHEDULED_UPDATE_MAME_XML=true
|
||||
SCHEDULED_UPDATE_MAME_XML_CRON=0 5 * * *
|
||||
|
||||
@@ -8,6 +8,5 @@ import type { TaskDict } from './TaskDict';
|
||||
export type SchedulerDict = {
|
||||
RESCAN: TaskDict;
|
||||
SWITCH_TITLEDB: TaskDict;
|
||||
MAME_XML: TaskDict;
|
||||
};
|
||||
|
||||
|
||||
@@ -13,8 +13,6 @@ env =
|
||||
ENABLE_RESCAN_ON_FILESYSTEM_CHANGE=true
|
||||
ENABLE_SCHEDULED_RESCAN=true
|
||||
ENABLE_SCHEDULED_UPDATE_SWITCH_TITLEDB=true
|
||||
ENABLE_SCHEDULED_UPDATE_MAME_XML=true
|
||||
RESCAN_ON_FILESYSTEM_CHANGE_DELAY=5
|
||||
SCHEDULED_RESCAN_CRON=0 3 * * *
|
||||
SCHEDULED_UPDATE_SWITCH_TITLEDB_CRON=0 4 * * *
|
||||
SCHEDULED_UPDATE_MAME_XML_CRON=0 5 * * *
|
||||
|
||||
@@ -49,6 +49,4 @@
|
||||
<Config Name="SCHEDULED_RESCAN_CRON" Target="SCHEDULED_RESCAN_CRON" Default="0 3 * * *" Mode="" Description="Cron expression for scheduled scan" Type="Variable" Display="advanced" Required="false" Mask="false"/>
|
||||
<Config Name="ENABLE_SCHEDULED_UPDATE_SWITCH_TITLEDB" Target="ENABLE_SCHEDULED_UPDATE_SWITCH_TITLEDB" Default="false" Mode="" Description="Update Switch TitleDB on a schedule" Type="Variable" Display="advanced" Required="false" Mask="false"/>
|
||||
<Config Name="SCHEDULED_UPDATE_SWITCH_TITLEDB_CRON" Target="SCHEDULED_UPDATE_SWITCH_TITLEDB_CRON" Default="0 4 * * *" Mode="" Description="Cron expression for scheduled Switch TitleDB update" Type="Variable" Display="advanced" Required="false" Mask="false"/>
|
||||
<Config Name="ENABLE_SCHEDULED_UPDATE_MAME_XML" Target="ENABLE_SCHEDULED_UPDATE_MAME_XML" Default="false" Mode="" Description="Update MAME XML on a schedule" Type="Variable" Display="advanced" Required="false" Mask="false"/>
|
||||
<Config Name="SCHEDULED_UPDATE_MAME_XML_CRON" Target="SCHEDULED_UPDATE_MAME_XML_CRON" Default="0 4 * * *" Mode="" Description="Cron expression for scheduled MAME XML update" Type="Variable" Display="advanced" Required="false" Mask="false"/>
|
||||
</Container>
|
||||
|
||||
Reference in New Issue
Block a user