{"id":21539119,"url":"https://github.com/profan/kodi-regexulon","last_synced_at":"2026-01-04T12:03:04.224Z","repository":{"id":25181414,"uuid":"28604667","full_name":"profan/kodi-regexulon","owner":"profan","description":"Utility made to move/link and rename data so that kodi's TVDB parser can interpret it properly.","archived":false,"fork":false,"pushed_at":"2015-01-13T03:20:39.000Z","size":383,"stargazers_count":0,"open_issues_count":9,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-15T08:31:32.945Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"MoonScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/profan.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-12-29T20:06:07.000Z","updated_at":"2015-01-13T03:20:39.000Z","dependencies_parsed_at":"2022-08-23T18:00:48.606Z","dependency_job_id":null,"html_url":"https://github.com/profan/kodi-regexulon","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/profan%2Fkodi-regexulon","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/profan%2Fkodi-regexulon/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/profan%2Fkodi-regexulon/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/profan%2Fkodi-regexulon/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/profan","download_url":"https://codeload.github.com/profan/kodi-regexulon/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244115068,"owners_count":20400505,"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-24T04:14:08.628Z","updated_at":"2026-01-04T12:03:04.162Z","avatar_url":"https://github.com/profan.png","language":"MoonScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"regexulon\n=================================\n\nUtility made to reorganize media library of disorganized files into a collection which XBMC/Kodi's TVDB parser can read and make a library out of.\n\nLets you either move and rename the files, copy and rename, or accomplish it with symlinks/hardlinks.\n\nStill needs a lot of work to be of use to anyone.\n\n## Usage Area\nCreated for absolutely ordered episodes, already in their correct subfolders, attempts to filter out most of the noise which normally prevents the various scrapers from parsing the information.\n\nCurrently catches cases where a show folder is named like `[stuff](things) show name (otherstuff)[woo]` with episodes inside which are similar, the last number in the filename is treated as the episode number and appended with `ep` to help the scraper.\n\nAlso uses a [bk-tree](https://github.com/profan/lua-bk-tree) loaded with information from a [list](https://raw.github.com/ScudLee/anime-lists/master/anime-list-full.xml) of names to match episodes towards the list of names, currently only handles anime, but intended to become more generic.\n\n## Example\n\n\t//Example run: ./regexulon --debug testdata target\n\tSimilarity Search Max Distance: -1 (-1 to set the max edit distance to length of string)\n\tSkip: Show Name Folder? (Y/N): N \n\t----------------------------\n\tOriginal String: Show Name Folder \n\t#1 Votoms Finder \n\t#2 Rhea Gall Force \n\tEnter number to pick (blank to keep original):\n\t//listed by closest match, in this case it's contrived since it's a fake name.\n\t//picking a number would make the target folder name the name of the number picked\n\n\nRequirements\n------------\n\n* Lua \u003e= 5.1\n* LuaRocks (not required, but makes it easier to get the dependencies)\n* MoonScript\n* LuaFileSystem\n* lua\\_cliargs\n* bk-tree\n\n\nDownloading the source\n------------\nEither with git clone as below or by downloading a zipball of the [latest...](https://github.com/profan/kodi-regexulon/archive/master.zip)\n\t\t\n\tgit clone https://github.com/profan/kodi-regexulon.git\n\nBuilding\n------------\n\n\tluarocks make rockspecs/regexulon-1.0-1.rockspec\n\nUsage\n------------\n\n\tUsage: regexulon [OPTIONS]  DIR  TARGET  [IGNORED]\n\t\n\tARGUMENTS: \n\t  DIR                 directory to scan (required)\n\t  TARGET              target directory (required)\n\t  IGNORED             ignored files/directories (optional, default: )\n\t\n\tOPTIONS: \n\t  -a, --action=ACTION action to take: cp, mv, symlink, hardlink\n\t                      (default: hardlink)\n\t  -n, --noprompt      don't prompt when asking for new directory names,\n\t                      pick closest option.\n\t  -e, --existing      skip creating previously existing target\n\t                      directories.\n\t  -d, --debug         script will simulate execution.\n\t  -V, --version       prints the program version\n\t  -v, --verbose       verbose output\n\n\nTODO\n------------\n\n - [ ] ... write tests?\n\nCredits\n------------\n\n\t...\n\nLicense\n------------\nSee attached LICENSE file.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprofan%2Fkodi-regexulon","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fprofan%2Fkodi-regexulon","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprofan%2Fkodi-regexulon/lists"}