some updates (mostly by comparison with opensourcegameclones)
This commit is contained in:
		| @@ -10,7 +10,7 @@ valid_fields = ('Home', 'Media', 'State', 'Play', 'Download', 'Platform', 'Keywo | ||||
| 'Code license', 'Code dependencies', 'Assets license', 'Build system', 'Build instructions') | ||||
| valid_platforms = ('Windows', 'Linux', 'macOS', 'Android', 'Browser') | ||||
| recommended_keywords = ('action', 'arcade', 'adventure', 'visual novel', 'sports', 'platform', 'puzzle', 'role playing', 'simulation', 'strategy', 'card game', 'board game', 'music', 'educational', 'tool', 'game engine', 'framework', 'library') | ||||
|  | ||||
| regex_sanitze_name = re.compile(r"[^A-Za-z -0-9]+") | ||||
|  | ||||
| def entry_iterator(games_path): | ||||
|     """ | ||||
| @@ -32,6 +32,17 @@ def entry_iterator(games_path): | ||||
|         yield entry, entry_path, content | ||||
|  | ||||
|  | ||||
| def derive_canonical_file_name(name): | ||||
|     """ | ||||
|     Derives a canonical file name from a game name | ||||
|     """ | ||||
|     name = regex_sanitze_name.sub('', name) | ||||
|     name = name.replace(' ', '_') | ||||
|     name = name.casefold() | ||||
|     name = name + '.md' | ||||
|     return name | ||||
|  | ||||
|  | ||||
| def parse_entry(content): | ||||
|     """ | ||||
|     Returns a dictionary of the features of the content | ||||
| @@ -185,6 +196,15 @@ def assemble_infos(games_path): | ||||
|         # add file information | ||||
|         info['file'] = entry | ||||
|  | ||||
|         # check canonical file name | ||||
|         canonical_file_name = derive_canonical_file_name(info['name']) | ||||
|         if canonical_file_name != entry: | ||||
|             print('file {} should be {}'.format(entry, canonical_file_name)) | ||||
|             source_file = os.path.join(games_path, entry) | ||||
|             target_file = os.path.join(games_path, canonical_file_name) | ||||
|             if not os.path.isfile(target_file): | ||||
|                 os.rename(source_file, target_file) | ||||
|  | ||||
|         # add to list | ||||
|         infos.append(info) | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user