{"id":21991170,"url":"https://github.com/atlasacademy/capy-drop-parser","last_synced_at":"2025-10-28T01:39:06.894Z","repository":{"id":53705582,"uuid":"160015781","full_name":"atlasacademy/capy-drop-parser","owner":"atlasacademy","description":null,"archived":false,"fork":false,"pushed_at":"2021-03-18T23:11:54.000Z","size":35145,"stargazers_count":5,"open_issues_count":1,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-22T02:38:16.953Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/atlasacademy.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-12-02T05:13:07.000Z","updated_at":"2022-05-10T01:28:42.000Z","dependencies_parsed_at":"2022-08-21T02:40:45.669Z","dependency_job_id":null,"html_url":"https://github.com/atlasacademy/capy-drop-parser","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atlasacademy%2Fcapy-drop-parser","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atlasacademy%2Fcapy-drop-parser/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atlasacademy%2Fcapy-drop-parser/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atlasacademy%2Fcapy-drop-parser/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/atlasacademy","download_url":"https://codeload.github.com/atlasacademy/capy-drop-parser/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251714718,"owners_count":21631777,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-29T20:07:18.718Z","updated_at":"2025-10-28T01:39:06.778Z","avatar_url":"https://github.com/atlasacademy.png","language":"Python","readme":"## FGO drop screen parser\n\n[![Discord server invite](https://discordapp.com/api/guilds/502554574423457812/embed.png)](https://discord.gg/TKJmuCR)\n\n#### Settings and ref files layout\n```\n├── input\n    ├── quest_1\n        ├── files\n            ├── material_ref_1\n            ├── material_ref_2\n            ├── currency_ref_1\n            ├── ...\n        ├── settings.json\n        ├── quest_1_drop_screen_1.png\n        ├── quest_1_drop_screen_2.jpg\n        ├── ...\n    ├── quest_2\n        ├── ...\n    ├── ...\n```\n\n#### Manually parse files\n\n```\n\u003e python fgo_mat_counter.py -h\nusage: fgo_mat_counter.py [-h] [-v] [-d] [-nc] [-i IMAGE]\n\nHelper Script that uses basic image recognition via opencv to count mat drops in FGO Screenshots\n\noptional arguments:\n  -h, --help            show this help message and exit\n  -v, --verbose         Enables printing info level messages\n  -d, --debug           Enables printing debug level messages and creation of temporary images useful for debug\n  -nc, --nocharSearch   Disable search and labeling for characters in images (improves performance outside events)\n  -i IMAGE, --image IMAGE\n                        Path to image to process\n```\nIf you have the layout above, the script will use the `settings.json` and `files` ref folder. If the script can not find the `files` ref folder at the same level as the `--image`, the script will use the default refs and settings at `ref/` and `ref/settings.json`.\n\nExample:\n```\n\u003e python fgo_mat_counter.py -v -i input/quest_1/quest_1_drop_screen_1.png\n``` \n\n\n#### Continously monitor the input folder\n```\n\u003e python frontend.py -h\nusage: frontend.py [-h] [-j NUM_PROCESSES] [-p POLLING_FREQUENCY]\n\noptional arguments:\n  -h, --help            show this help message and exit\n  -j NUM_PROCESSES, --num_processes NUM_PROCESSES\n                        Number of processes to allocate in the process pool\n  -p POLLING_FREQUENCY, --polling_frequency POLLING_FREQUENCY\n                        how often to check for new images in seconds\n```\nYou can either run this script manually or you can run the Dockerfile. The script will monitor the `/input` folder, parse, move the parsed images and write the output jsons to `/output`. `/input` must have the layout above.\n\n#### Development\n- Use black to format Python code\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fatlasacademy%2Fcapy-drop-parser","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fatlasacademy%2Fcapy-drop-parser","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fatlasacademy%2Fcapy-drop-parser/lists"}