{"id":19263724,"url":"https://github.com/trapd00r/beets-tcp","last_synced_at":"2025-02-23T19:14:08.079Z","repository":{"id":48651272,"uuid":"383717858","full_name":"trapd00r/beets-tcp","owner":"trapd00r","description":"adds a better %title{} template function to beets","archived":false,"fork":false,"pushed_at":"2024-06-08T08:06:06.000Z","size":8,"stargazers_count":2,"open_issues_count":1,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-05T10:42:51.476Z","etag":null,"topics":["beets","beets-plugin"],"latest_commit_sha":null,"homepage":"","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/trapd00r.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":"2021-07-07T07:51:46.000Z","updated_at":"2024-11-16T13:58:30.000Z","dependencies_parsed_at":"2024-11-09T19:47:39.336Z","dependency_job_id":null,"html_url":"https://github.com/trapd00r/beets-tcp","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/trapd00r%2Fbeets-tcp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trapd00r%2Fbeets-tcp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trapd00r%2Fbeets-tcp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trapd00r%2Fbeets-tcp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/trapd00r","download_url":"https://codeload.github.com/trapd00r/beets-tcp/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240364364,"owners_count":19789760,"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":["beets","beets-plugin"],"created_at":"2024-11-09T19:36:39.767Z","updated_at":"2025-02-23T19:14:08.046Z","avatar_url":"https://github.com/trapd00r.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"beets-tcp / titlecase-proper\n----------------------\n\nAdds a template function `%tcp{}` that titlecases\nstrings better.\n\nWhy?\n----------------------\n\nThe beets builtin template function `%title{}` uses `str.capwords()`.\n\nThis causes issues with strings that begin with a character that can't\nbe titlecased:\n\n\n\u003e It's Raining Men (instrumental Version).flac\n\n\n`str.title()` does a better job but causes issues with strings like\n\"It's\" instead:\n\n\n\u003e It'S Raining Men (Instrumental Version).flac\n\n\nThis plugin takes care of both issues.\n\nAdditionally, custom words can be added to the plugin section in\nbeets/config.yaml that will be returned as-is:\n\n```yaml\ntcp:\n  asis: [\n    'PhD',\n    'DJ',\n    'TCP',\n    'YodA',\n  ]\n```\n\nwhich can render:\n\n- **DJ Madfist the Invincible TCP Guru │2024│ Got Myself an PhD in the 313 (Deluxe YodA Edition) [MP3]**\n\n\nInstallation\n------------\n```bash\n$ pip3 install titlecase\n```\n\nReplace all `%title{}` functions with the shiny new one:\n\n```bash\nperl -i.old -pe 's/%title{(\\$[A-Za-z_-]+)}/%tcp{$1}/g' config.yaml\n```\n\nAdd this script to the beets pluginpath:\n\n```yaml\npluginpath: ['/usr/lib/python3.9/site-packages/beetsplug/',\n             '/home/scp1/dev/beets-tcp',\n            ]\n```\n\nAdd the plugin to the plugin list and configure it:\n\n```yaml\nplugins: [\n  'tcp'\n]\n\ntcp:\n  asis: ['foo', 'Bar', 'TCP']\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftrapd00r%2Fbeets-tcp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftrapd00r%2Fbeets-tcp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftrapd00r%2Fbeets-tcp/lists"}