import re
from datetime import datetime
def ExtractReleaseYear(title):
rg = re.compile('.*([\[\(]?((?:19[0-9]|20[01])[0-9])[\]\)]?)', re.IGNORECASE|re.DOTALL)
match = rg.search(title) # Using non-greedy match on filler
if match:
releaseYear = match.group(2)
try:
if int(releaseYear) >= 1900 and int(releaseYear) <= int(datetime.now().year) and int(releaseYear) <= 2099: # Film between 1900-2099
return releaseYear
except ValueError:
print("ERROR: The film year in the file name could not be converted to an integer for comparison.")
return ""
print(ExtractReleaseYear('2012.(2009).3D.1080p.BRRip.SBS.x264'))
print(ExtractReleaseYear('Into.The.Storm.2012.1080p.WEB-DL.AAC2.0.H264'))
print(ExtractReleaseYear('2001.A.Space.Odyssey.1968.1080p.WEB-DL.AAC2.0.H264'))
aW1wb3J0IHJlCmZyb20gZGF0ZXRpbWUgaW1wb3J0IGRhdGV0aW1lCgpkZWYgRXh0cmFjdFJlbGVhc2VZZWFyKHRpdGxlKToKICAgIHJnID0gcmUuY29tcGlsZSgnLiooW1xbXChdPygoPzoxOVswLTldfDIwWzAxXSlbMC05XSlbXF1cKV0/KScsIHJlLklHTk9SRUNBU0V8cmUuRE9UQUxMKQogICAgbWF0Y2ggPSByZy5zZWFyY2godGl0bGUpICMgVXNpbmcgbm9uLWdyZWVkeSBtYXRjaCBvbiBmaWxsZXIKICAgIGlmIG1hdGNoOgogICAgICAgIHJlbGVhc2VZZWFyID0gbWF0Y2guZ3JvdXAoMikKICAgICAgICB0cnk6CiAgICAgICAgICAgIGlmIGludChyZWxlYXNlWWVhcikgPj0gMTkwMCBhbmQgaW50KHJlbGVhc2VZZWFyKSA8PSBpbnQoZGF0ZXRpbWUubm93KCkueWVhcikgYW5kIGludChyZWxlYXNlWWVhcikgPD0gMjA5OTogIyBGaWxtIGJldHdlZW4gMTkwMC0yMDk5CiAgICAgICAgICAgICAgICByZXR1cm4gcmVsZWFzZVllYXIKICAgICAgICBleGNlcHQgVmFsdWVFcnJvcjoKICAgICAgICAgICAgcHJpbnQoIkVSUk9SOiBUaGUgZmlsbSB5ZWFyIGluIHRoZSBmaWxlIG5hbWUgY291bGQgbm90IGJlIGNvbnZlcnRlZCB0byBhbiBpbnRlZ2VyIGZvciBjb21wYXJpc29uLiIpCiAgICAgICAgICAgIHJldHVybiAiIgoKcHJpbnQoRXh0cmFjdFJlbGVhc2VZZWFyKCcyMDEyLigyMDA5KS4zRC4xMDgwcC5CUlJpcC5TQlMueDI2NCcpKQpwcmludChFeHRyYWN0UmVsZWFzZVllYXIoJ0ludG8uVGhlLlN0b3JtLjIwMTIuMTA4MHAuV0VCLURMLkFBQzIuMC5IMjY0JykpCnByaW50KEV4dHJhY3RSZWxlYXNlWWVhcignMjAwMS5BLlNwYWNlLk9keXNzZXkuMTk2OC4xMDgwcC5XRUItREwuQUFDMi4wLkgyNjQnKSk=