Difference between revisions of "Scripts:RomCenter CRC renamer"
Jump to navigation
Jump to search
(Created page with "== About == == Usage == # Save the script below to <filename>.py # Download a screenshot pack from the [http://no-intro.dlgsoftware.net/ No-Intro Screenshot Archive] # Download t...") |
(→Linux) |
||
(2 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
== About == | == About == | ||
+ | This script will take a RomCenter dat as input, scan the file renaming all external files or *.<ext> which match the CRC.<ext> result to GAMENAME.<ext> | ||
+ | |||
+ | The script itself is very much in an alpha state, use at your own risk. The script will run over a single directory while reading a RomCenter dat file (it does not recurse directories). | ||
+ | |||
+ | The result will be a set of files named to match the GAMENAME as listed within the dat file input. | ||
+ | |||
== Usage == | == Usage == | ||
# Save the script below to <filename>.py | # Save the script below to <filename>.py | ||
− | # | + | # Have a directory of CRC32.ext filenames |
− | # Download the corresponding dat file for the | + | # Download the corresponding dat file for the files in step 2 |
− | |||
# Run the script with ''python <scriptname> <dat file> <working path> <file extension>'' | # Run the script with ''python <scriptname> <dat file> <working path> <file extension>'' | ||
== Batch Example == | == Batch Example == | ||
=== Linux === | === Linux === | ||
− | To run this script as a batch process you could attach the script to a find command | + | To run this script as a batch process you could attach the script to a find command, use at your own risk |
'''find . -type d -exec''' ''python <scriptname> <dat file> {} <file extension>'' '''\;''' | '''find . -type d -exec''' ''python <scriptname> <dat file> {} <file extension>'' '''\;''' |
Latest revision as of 04:22, 31 December 2010
About
This script will take a RomCenter dat as input, scan the file renaming all external files or *.<ext> which match the CRC.<ext> result to GAMENAME.<ext>
The script itself is very much in an alpha state, use at your own risk. The script will run over a single directory while reading a RomCenter dat file (it does not recurse directories).
The result will be a set of files named to match the GAMENAME as listed within the dat file input.
Usage
- Save the script below to <filename>.py
- Have a directory of CRC32.ext filenames
- Download the corresponding dat file for the files in step 2
- Run the script with python <scriptname> <dat file> <working path> <file extension>
Batch Example
Linux
To run this script as a batch process you could attach the script to a find command, use at your own risk
find . -type d -exec python <scriptname> <dat file> {} <file extension> \;
Python Script
#!/usr/bin/python # -*- coding=iso-8859-15 -*- ##### Rom Center Archive Renamer # author: sairuk # released: 20101231 # # Rename CRC named files to the romname using a # romcenter dat as input # import re import os import sys for arg in sys.argv: if len(sys.argv[1:]) == 3: wrkfile = sys.argv[1] wrkdir = sys.argv[2] wrkext = sys.argv[3] if not os.path.exists(wrkfile) and os.path.isfile(wrkfile): print wrkdir + " not found" exit(0) if not os.path.exists(wrkdir) and os.path.isdir(wrkdir): print wrkdir + " not found" exit(0) if len(wrkext) < 1: print "File extension error" exit(0) else: print "Usage: " + sys.argv[0] + " <dat file> <working path> <file extension>" print " Example: " + sys.argv[0] + " " + chr(34) + "Atari 5200 (20050104_RC).dat" + chr(34) + " " + chr(34) + "Atari 5200/CRC_Snaps/" + chr(34) + " " + chr(34) + "png" + chr(34) exit(0) with open(wrkfile) as ifile: for record in ifile: result = re.split('\xac',record) # defaults imgext = "." + wrkext romname = "" romfile = "" romcrc = "" i = 1 for x in result: #clear rom details if i == 2: romname = str(x) if i == 6: romfile = str(x) if i == 7: romcrc = str.upper(x) # Print Results to screen if romname and romfile and romcrc: if os.path.exists(wrkdir + romcrc + imgext): print "Renaming " + romcrc + imgext + " to " + romname + imgext + " in " + wrkdir os.rename(wrkdir + romcrc + imgext, wrkdir + romname + imgext) romname = "" romfile = "" romcrc = "" else: print romcrc + imgext + " requested but not found in " + wrkdir # Move Next i = i + 1