mirror of
				https://github.com/pagefaultgames/pokerogue.git
				synced 2025-10-31 08:25:58 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			55 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			55 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| import re
 | |
| 
 | |
| filenames = [['src/data/enums/moves.ts', 'move'], ['src/data/enums/abilities.ts', 'ability'], ['src/data/enums/species.ts', 'Pokémon']]
 | |
| 
 | |
| commentBlockStart   = re.compile('\/\*[^\*].*')     # Regex for the start of a comment block
 | |
| commentBlockEnd     = re.compile('.*,\*\/')         # Regex for the end of a comment block 
 | |
| 
 | |
| commentExp  = re.compile('(?:\/\*\*.*\*\/)')    # Regex for a url comment that already existed in the file
 | |
| enumExp     = re.compile('.*,')                 # Regex for a regular enum line
 | |
| 
 | |
| numberExp = re.compile(' +\= +\d+,')
 | |
| 
 | |
| replaceList = ['ALOLA', 'ETERNAL', 'GALAR', 'HISUI', 'PALDEA', 'BLOODMOON']
 | |
| 
 | |
| for args in filenames:
 | |
| 
 | |
|     output = ''
 | |
| 
 | |
|     skip = False # True when we should completely stop adding url comments for any reason
 | |
|     blockComment = False # True when currently reading a comment block
 | |
| 
 | |
|     file = open(args[0], 'r')
 | |
|     line = file.readline()
 | |
| 
 | |
|     while line:
 | |
|         if(skip): # Appends the next line in the file and moves on if we already hit the end of the enum
 | |
|             output += line
 | |
|             line = file.readline()
 | |
|             continue
 | |
| 
 | |
|         skip = line.find('};') != -1 # True if we reached the end of an enum definition
 | |
| 
 | |
|         # Determines when a comment block has started and we should stop adding url comments
 | |
|         if (commentBlockStart.findall(line)):
 | |
|             blockComment = True
 | |
| 
 | |
|         if(not commentExp.findall(line)):
 | |
|             urlInsert = numberExp.sub('', line).strip().rstrip('\n').rstrip(',').title() # Clean up the enum line to only the enum
 | |
|             for replace in replaceList:
 | |
|                 urlInsert = urlInsert.replace(replace.title() + '_', '')
 | |
|             if (not blockComment and enumExp.findall(line)):
 | |
|                 output += '  /**{@link https://bulbapedia.bulbagarden.net/wiki/' + urlInsert + '_(' + args[1] + ') | Source} */\n'
 | |
|             output += line # Add the line to output since it isn't an existing url comment
 | |
| 
 | |
|         # Determines if we're at the end of a comment block and can resume adding url comments
 | |
|         if (blockComment):
 | |
|             blockComment = not commentBlockEnd.findall(line)
 | |
| 
 | |
|         line = file.readline()
 | |
| 
 | |
|     file.close()
 | |
| 
 | |
|     file = open(args[0], 'w', encoding='utf-8')
 | |
|     file.write(output,)
 | |
|     file.close |