{"id":19272316,"url":"https://github.com/sdslabs/muzi-scanner","last_synced_at":"2025-10-15T04:29:16.438Z","repository":{"id":141690270,"uuid":"72007899","full_name":"sdslabs/muzi-scanner","owner":"sdslabs","description":null,"archived":false,"fork":false,"pushed_at":"2017-12-17T14:13:24.000Z","size":64,"stargazers_count":2,"open_issues_count":2,"forks_count":0,"subscribers_count":37,"default_branch":"master","last_synced_at":"2025-01-05T13:42:07.528Z","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/sdslabs.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-10-26T13:50:18.000Z","updated_at":"2017-11-13T14:06:05.000Z","dependencies_parsed_at":null,"dependency_job_id":"620093a9-93fb-4f94-9b96-7ab0c6a56437","html_url":"https://github.com/sdslabs/muzi-scanner","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/sdslabs%2Fmuzi-scanner","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdslabs%2Fmuzi-scanner/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdslabs%2Fmuzi-scanner/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdslabs%2Fmuzi-scanner/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sdslabs","download_url":"https://codeload.github.com/sdslabs/muzi-scanner/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240374042,"owners_count":19791332,"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-09T20:36:15.844Z","updated_at":"2025-10-15T04:29:11.385Z","avatar_url":"https://github.com/sdslabs.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Muzi Scanner\n\nThis project aims to populate a database with attributes of various songs, given the path to songs root directory.\nThe songs can be of either mp3 or mp4 or m4a format.\n\nSongs are placed in a hierarchical directory structure inside the songs root directory as follows: \n\n- Artist Name \u003e AlbumName \u003e SongName\n\nSo, a song \"Problem\" by Ariana Grande will be in the folder as \"Arian Grande \u003e My Everything \u003e Problem.mp3\" with rest of \"My Everything\" album's songs in it. \n\n\n## Prerequisites\n\nInstall following prerequisites:\n\n- `apt-get install libmysqlclient-dev python-dev python-setuptools`\n\n## Libraries used:\nSpecified in [requirements.txt]\n\n```sh\n$ pip install -r requirements.txt\n```\n\nCreate a data.json file in the project root. It should look something like below:\n\n```json\n{\n    \"DEFAULT\": {\n        \"lastfm_api_key\": \"api_key\",\n        \"lastfm_api_secret\": \"api_secret\",\n        \"db_backend\": \"mysql\",\n        \"db_name\": \"test\",\n        \"db_user_name\": \"test\",\n        \"db_password\": \"password\",\n        \"db_host\": \"local\"\n    },\n    \"PRODUCTION\":{\n    }\n}\n```\n## Usage\n\n###Note:\nThe below command is for development purpose only\n\n```sh\n$ python createdb.py\n```\n\nScanner Usage Examples\n```sh\n$ python scan.py PATH/to/songs/root/ ~/artist_cover_image_directory/ ~/artist_thumbnail_directory/ ~/albums_thumb_image_directory/\n```\nTo fix missing thumbnails/coverpics:\n```sh\n$ python fixmissing.py ~/artist_cover_image_directory/ ~/artist_thumbnail_directory/ ~/albums_thumb_image_directory/\n```\n\n\n[//]: # (These are reference links used in the body of this note and get stripped out when the markdown processor does it's job. There is no need to format nicely because it shouldn't be seen. Thanks SO - http://stackoverflow.com/questions/4823468/store-comments-in-markdown-syntax)\n\n   [requirements.txt]: \u003chttps://raw.githubusercontent.com/GauthamGoli/nefarious-octo-lamp/master/requirements.txt\u003e\n   \n   \n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsdslabs%2Fmuzi-scanner","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsdslabs%2Fmuzi-scanner","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsdslabs%2Fmuzi-scanner/lists"}