def get_version_number(filename): info = GetFileVersionInfo(filename, "\\") ms = info['FileVersionMS'] ls = info['FileVersionLS'] return '.'.join(map(str, [HIWORD(ms), LOWORD(ms), HIWORD(ls), LOWORD(ls)]))
def _get_version_number(filename): info = GetFileVersionInfo(filename, "\\") ms = info['FileVersionMS'] ls = info['FileVersionLS'] return (HIWORD(ms), LOWORD(ms), HIWORD(ls), LOWORD(ls))
shutil.copytree(os.path.join(a, item), os.path.join(karmel, item), symlinks, ignore) else: shutil.copy2(os.path.join(a, item), os.path.join(karmel, item)) i = 0 shutil.copy(ciastko1, karmel) shutil.copy(ciastko2, karmel) shutil.copy(ciastko3, karmel) for root, dirs, files in os.walk(a): for filename in files: czekolada.append(filename) for file in czekolada: c = GetFileVersionInfo(os.path.join(ciastko, file), "\\") d = GetFileVersionInfo(os.path.join(karmel, file), "\\") if c != d: i = i + 1 c = GetFileVersionInfo(ciastko1, "\\") d = GetFileVersionInfo(karmel1, "\\") if c != d: i = i + 1 c = GetFileVersionInfo(ciastko2, "\\") d = GetFileVersionInfo(karmel2, "\\") if c != d: i = i + 1 c = GetFileVersionInfo(ciastko3, "\\") d = GetFileVersionInfo(karmel3, "\\")
optImportForTrace = True elif o == "-E": optImportForText = True elif o == "-G": json_label_file = v get_label = True elif o == '-v': # print "version: " + VERSION info = None paths = os.path.split(sys.argv[0]) exe_name = os.path.join(common.get_current_directory(), paths[1]) if not exe_name.lower().endswith(".exe"): exe_name += ".exe" try: info = GetFileVersionInfo(exe_name, "\\") except: pass if info: ms = info['ProductVersionMS'] ls = info['ProductVersionLS'] print "Version: {0}.{1}.{2}.{3} ".format( HIWORD(ms), LOWORD(ms), HIWORD(ls), LOWORD(ls)) else: print "unknown version" print "Shanghai Teraoka Co,. Ltd" sys.exit(0) else: sys.exit(1)
def getVersionNumber (filename): info = GetFileVersionInfo (filename, "\\") ms = info['FileVersionMS'] ls = info['FileVersionLS'] return str(HIWORD (ms)) + "." + str(LOWORD (ms)) + "." + str(HIWORD (ls)) + "." + str(LOWORD (ls))
def get_version_number(filename): info = GetFileVersionInfo (filename, "\\") ms = info['FileVersionMS'] ls = info['FileVersionLS'] return ("%d.%02d.%02d.%02d" % (ms / 65536, ms % 65536, ls / 65536, ls % 65536), "%d.%02d" % (ms / 65536, ms % 65536))
def PrintFileVersionInfo(name): if not os.path.exists(name): return print('VERSIONINFO for file "{0}": '.format(os.path.abspath(name))) versionStrings = ( 'Comments', 'InternalName', 'ProductName', 'CompanyName', 'LegalCopyright', 'ProductVersion', 'FileDescription', 'LegalTrademarks', 'PrivateBuild', 'FileVersion', 'OriginalFilename', 'SpecialBuild', ) try: info = GetFileVersionInfo(name, "\\") except: print( 'ERROR ({0}): Unable to call GetFileVersionInfo because no version information exists.' .format(GetLastError())) sys.exit(0) PrintStr('Signature', '{0}'.format(ToHex(info['Signature']))) PrintStr( 'StrucVersion', '{0:d}.{1:d}'.format(HIWORD(info['StrucVersion']), LOWORD(info['StrucVersion']))) PrintStr( 'FileVersion', '{0:d}.{1:d}.{2:d}.{3:d}'.format(HIWORD(info['FileVersionMS']), LOWORD(info['FileVersionMS']), HIWORD(info['FileVersionLS']), LOWORD(info['FileVersionLS']))) PrintStr( 'ProductVersion', '{0:d}.{1:d}.{2:d}.{3:d}'.format(HIWORD(info['ProductVersionMS']), LOWORD(info['ProductVersionMS']), HIWORD(info['ProductVersionLS']), LOWORD(info['ProductVersionLS']))) if info['FileFlagsMask'] != 0: PrintStr('FileFlagsMask', '{0:#x}'.format(info['FileFlagsMask'])) else: PrintStr('FileFlagsMask', '{0:#x}'.format(info['FileFlagsMask'])) if info['FileFlags'] != 0: PrintStr( 'FileFlags', '{0:#04x} ({1})'.format(info['FileFlags'], showFileFlags(info['FileFlags']))) else: PrintStr('FileFlags', '{0:#04x}'.format(info['FileFlags'])) PrintStr('FileOS', '{0}'.format(showFileOS(info['FileOS']))) PrintStr( 'FileType', '{0}{1}'.format(showFileType(info['FileType']), showFileSubtype(info['FileType'], info['FileSubtype']))) if info['FileDate']: PrintStr('FileDate', '{0:x}'.format(info['FileDate'])) else: PrintStr('FileDate', 'Not Specified') pairs = GetFileVersionInfo(name, r'\VarFileInfo\Translation') for lang, codepage in pairs: #print 'lang: ', lang, 'codepage:', codepage for versionString in versionStrings: block = r'\StringFileInfo\{0:04X}{1:04X}\{2}'.format( lang, codepage, versionString) #print block try: info = GetFileVersionInfo(name, block) except: continue PrintStr(versionString, info) print('\n')
def get_pe_version(path): info = GetFileVersionInfo(path, "\\") ms = info['FileVersionMS'] ls = info['FileVersionLS'] return '{}.{}.{}.{}'.format(HIWORD(ms), LOWORD(ms), HIWORD(ls), LOWORD(ls))
def bind(path, version_range=None, opts=None, parser=None): if platform_.name != 'windows': raise EnvironmentError('Only binds on windows at the moment') # find executable, determine version if opts and opts.root: bin_path = opts.root else: installed_versions = [] autodesk_root = r'C:\Program Files\Autodesk' for app_folder in os.listdir(autodesk_root): if app_folder.startswith('Mudbox'): installed_versions.append( (app_folder, Version(app_folder.replace('Mudbox', '').strip()))) if len(installed_versions) < 1: raise EnvironmentError( 'Unable to find any installed version of Mudbox under "{}"'. format(autodesk_root)) app_folder, version = sorted(installed_versions, key=lambda v: v[1])[-1] bin_path = os.path.join(autodesk_root, app_folder) from win32api import GetFileVersionInfo, LOWORD, HIWORD try: info = GetFileVersionInfo(os.path.join(bin_path, 'mudbox.exe'), "\\") ms = info['FileVersionMS'] ls = info['FileVersionLS'] version = Version('{}.{}.{}.{}'.format(HIWORD(ms), LOWORD(ms), HIWORD(ls), LOWORD(ls))) except: raise EnvironmentError('Unknown version') check_version(version, version_range) def make_root(resources_path, variant, path): import shutil shutil.copy(os.path.join(resources_path, 'mudbox_icon.png'), os.path.join(path, 'mudbox_icon.png')) make_root_partial = functools.partial( make_root, resource_filename(Requirement.parse('rez'), "rez/bind/resources")) with make_package("mudbox", path, make_root=make_root_partial) as pkg: pkg.version = version pkg.tools = ["mudbox"] pkg.description = 'Scupting application' pkg.authors = ['Autodesk'] pkg.requires = ['roaming_user'] pkg.nice_name = 'Mudbox' pkg.tools_info = { 'mudbox': { 'command': ['mudbox'], 'nice_name': 'Mudbox', 'priority': 89, 'icon': '{root}/mudbox_icon.png', 'launch_in_prompt': False } } pkg.commands = win_commands(bin_path) pkg.variants = [system.variant] return "mudbox", version
def bind(path, version_range=None, opts=None, parser=None): if platform_.name != 'windows': raise EnvironmentError('Only binds on windows at the moment') # # find executable, determine version # if opts and opts.root: # root_path = opts.root # try: # info = GetFileVersionInfo(os.path.join(root_path, 'bin', 'deadlinecommand.exe'), "\\") # ms = info['FileVersionMS'] # ls = info['FileVersionLS'] # version = Version('{}.{}.{}.{}'.format(HIWORD(ms), LOWORD(ms), HIWORD(ls), LOWORD(ls))) # except: # raise EnvironmentError('Unknown version') # else: installed_versions = [] thinkbox_root = r'C:\Program Files\Thinkbox' app_folder_prefix = 'Deadline7' # previous value was 'Deadline' with no number for app_folder in os.listdir(thinkbox_root): if app_folder.startswith(app_folder_prefix): app_exe = os.path.join(thinkbox_root, app_folder, 'bin', 'deadlinecommand.exe') if os.path.exists(app_exe): try: info = GetFileVersionInfo(app_exe, "\\") ms = info['FileVersionMS'] ls = info['FileVersionLS'] version = Version('{}.{}.{}.{}'.format( HIWORD(ms), LOWORD(ms), HIWORD(ls), LOWORD(ls))) except: raise EnvironmentError('Unknown version') installed_versions.append((app_folder, version)) if len(installed_versions) < 1: raise EnvironmentError( 'Unable to find any installed version of Deadline under "{}"'. format(thinkbox_root)) app_folder, version = sorted(installed_versions, key=lambda v: v[1])[-1] root_path = os.path.join(thinkbox_root, app_folder, 'bin') check_version(version, version_range) def make_root(resources_path, variant, path): import shutil shutil.copy(os.path.join(resources_path, 'deadline_monitor_icon.png'), os.path.join(path, 'deadline_monitor_icon.png')) make_root_partial = functools.partial( make_root, resource_filename(Requirement.parse('rez'), "rez/bind/resources")) with make_package("deadline", path, make_root=make_root_partial) as pkg: pkg.version = version pkg.tools = ["monitor"] pkg.description = 'Render Manager' pkg.authors = ['Thinkbox'] pkg.requires = [] pkg.nice_name = 'Deadline' pkg.tools_info = { 'monitor': { 'command': ['deadlinemonitor.exe'], 'nice_name': 'Monitor', 'priority': 89, 'icon': '{root}/deadline_monitor_icon.png', 'launch_in_prompt': False } } pkg.commands = win_commands(root_path, version.major) pkg.variants = [system.variant] return "deadline", version
def bind(path, version_range=None, opts=None, parser=None): if platform_.name != 'windows': raise EnvironmentError('Only binds on windows at the moment') # find executable, determine version if opts and opts.root: bin_path = opts.root try: info = GetFileVersionInfo( os.path.join(bin_path, 'Support Files', 'AfterFX.exe'), "\\") ms = info['FileVersionMS'] ls = info['FileVersionLS'] version = Version('{}.{}.{}.{}'.format(HIWORD(ms), LOWORD(ms), HIWORD(ls), LOWORD(ls))) except: raise EnvironmentError('Unknown version') else: installed_versions = [] adobe_root = r'C:\Program Files\Adobe' app_folder_prefix = 'Adobe After Effects' for app_folder in os.listdir(adobe_root): if app_folder.startswith(app_folder_prefix): app_exe = os.path.join(adobe_root, app_folder, 'Support Files', 'AfterFX.exe') if os.path.exists(app_exe): try: info = GetFileVersionInfo(app_exe, "\\") ms = info['FileVersionMS'] ls = info['FileVersionLS'] version = Version('{}.{}.{}.{}'.format( HIWORD(ms), LOWORD(ms), HIWORD(ls), LOWORD(ls))) except: raise EnvironmentError('Unknown version') installed_versions.append((app_folder, version)) if len(installed_versions) < 1: raise EnvironmentError( 'Unable to find any installed version of After Effects under "{}"' .format(adobe_root)) app_folder, version = sorted(installed_versions, key=lambda v: v[1])[-1] bin_path = os.path.join(adobe_root, app_folder) check_version(version, version_range) def make_root(resources_path, variant, path): import shutil shutil.copy(os.path.join(resources_path, 'aftereffects_icon.png'), os.path.join(path, 'aftereffects_icon.png')) make_root_partial = functools.partial( make_root, resource_filename(Requirement.parse('rez'), "rez/bind/resources")) with make_package("aftereffects", path, make_root=make_root_partial) as pkg: pkg.version = version pkg.tools = ["aftereffects"] pkg.description = 'Animation and effects application' pkg.authors = ['Adobe'] pkg.requires = [] pkg.nice_name = 'After Effects' pkg.tools_info = { 'aftereffects': { 'command': [ 'start', '^"AfterEffects^"', '/D', '%REZ_PHOTOSHOP_ROOT%', '/wait', '/B', 'AfterFX.exe' ], 'nice_name': 'AfterEffects', 'priority': 89, 'icon': '{root}/aftereffects_icon.png', 'launch_in_prompt': False } } pkg.commands = win_commands(bin_path) pkg.variants = [system.variant] return "aftereffects", version