Mercurial > hg > orthanc-transfers
comparison Resources/SyncOrthancFolder.py @ 64:5fb01c588287
updated to Orthanc Framework 1.12.1
author | Alain Mazy <am@osimis.io> |
---|---|
date | Wed, 11 Oct 2023 15:58:27 +0200 |
parents | 5915547fa6f2 |
children | 1078942460cc |
comparison
equal
deleted
inserted
replaced
63:9789c6003e9d | 64:5fb01c588287 |
---|---|
1 #!/usr/bin/python | 1 #!/usr/bin/python3 |
2 | 2 |
3 # | 3 # |
4 # This maintenance script updates the content of the "Orthanc" folder | 4 # This maintenance script updates the content of the "Orthanc" folder |
5 # to match the latest version of the Orthanc source code. | 5 # to match the latest version of the Orthanc source code. |
6 # | 6 # |
7 | 7 |
8 import multiprocessing | 8 import multiprocessing |
9 import os | 9 import os |
10 import stat | 10 import stat |
11 import urllib2 | 11 import urllib.request |
12 | 12 |
13 TARGET = os.path.join(os.path.dirname(__file__), 'Orthanc') | 13 TARGET = os.path.join(os.path.dirname(__file__), 'Orthanc') |
14 PLUGIN_SDK_VERSION = [ '1.11.3' ] | 14 PLUGIN_SDK_VERSION = '1.12.1' |
15 REPOSITORY = 'https://hg.orthanc-server.com/orthanc/raw-file' | 15 REPOSITORY = 'https://hg.orthanc-server.com/orthanc/raw-file' |
16 | 16 |
17 FILES = [ | 17 FILES = [ |
18 ('OrthancFramework/Resources/CMake/AutoGeneratedCode.cmake', 'CMake'), | 18 ('OrthancFramework/Resources/CMake/AutoGeneratedCode.cmake', 'CMake'), |
19 ('OrthancFramework/Resources/CMake/Compiler.cmake', 'CMake'), | 19 ('OrthancFramework/Resources/CMake/Compiler.cmake', 'CMake'), |
20 ('OrthancFramework/Resources/CMake/DownloadOrthancFramework.cmake', 'CMake'), | 20 ('OrthancFramework/Resources/CMake/DownloadOrthancFramework.cmake', 'CMake'), |
21 ('OrthancFramework/Resources/CMake/DownloadPackage.cmake', 'CMake'), | 21 ('OrthancFramework/Resources/CMake/DownloadPackage.cmake', 'CMake'), |
22 ('OrthancFramework/Resources/CMake/GoogleTestConfiguration.cmake', 'CMake'), | 22 ('OrthancFramework/Resources/CMake/GoogleTestConfiguration.cmake', 'CMake'), |
23 ('OrthancFramework/Resources/EmbedResources.py', 'CMake'), | 23 ('OrthancFramework/Resources/EmbedResources.py', 'CMake'), |
24 | 24 ('OrthancFramework/Resources/Toolchains/LinuxStandardBaseToolchain.cmake', 'Toolchains'), |
25 ('OrthancFramework/Resources/Toolchains/LinuxStandardBaseToolchain.cmake', '.'), | 25 ('OrthancFramework/Resources/Toolchains/MinGW-W64-Toolchain32.cmake', 'Toolchains'), |
26 ('OrthancFramework/Resources/Toolchains/MinGW-W64-Toolchain32.cmake', '.'), | 26 ('OrthancFramework/Resources/Toolchains/MinGW-W64-Toolchain64.cmake', 'Toolchains'), |
27 ('OrthancFramework/Resources/Toolchains/MinGW-W64-Toolchain64.cmake', '.'), | 27 ('OrthancFramework/Resources/Toolchains/MinGWToolchain.cmake', 'Toolchains'), |
28 ('OrthancFramework/Resources/Toolchains/MinGWToolchain.cmake', '.'), | |
29 | |
30 ('OrthancServer/Plugins/Samples/Common/ExportedSymbolsPlugins.list', 'Plugins'), | 28 ('OrthancServer/Plugins/Samples/Common/ExportedSymbolsPlugins.list', 'Plugins'), |
31 ('OrthancServer/Plugins/Samples/Common/OrthancPluginCppWrapper.cpp', 'Plugins'), | 29 ('OrthancServer/Plugins/Samples/Common/OrthancPluginCppWrapper.cpp', 'Plugins'), |
32 ('OrthancServer/Plugins/Samples/Common/OrthancPluginCppWrapper.h', 'Plugins'), | 30 ('OrthancServer/Plugins/Samples/Common/OrthancPluginCppWrapper.h', 'Plugins'), |
33 ('OrthancServer/Plugins/Samples/Common/OrthancPluginException.h', 'Plugins'), | 31 ('OrthancServer/Plugins/Samples/Common/OrthancPluginException.h', 'Plugins'), |
34 ('OrthancServer/Plugins/Samples/Common/OrthancPluginsExports.cmake', 'Plugins'), | 32 ('OrthancServer/Plugins/Samples/Common/OrthancPluginsExports.cmake', 'Plugins'), |
35 ('OrthancServer/Plugins/Samples/Common/VersionScriptPlugins.map', 'Plugins'), | 33 ('OrthancServer/Plugins/Samples/Common/VersionScriptPlugins.map', 'Plugins'), |
34 | |
35 # Specific to DICOMweb plugin | |
36 ('OrthancServer/Resources/OrthancLogo.png', '.'), | |
36 ] | 37 ] |
37 | 38 |
38 SDK = [ | 39 SDK = [ |
39 'orthanc/OrthancCPlugin.h', | 40 'orthanc/OrthancCPlugin.h', |
40 ] | 41 ] |
42 | 43 |
43 def Download(x): | 44 def Download(x): |
44 branch = x[0] | 45 branch = x[0] |
45 source = x[1] | 46 source = x[1] |
46 target = os.path.join(TARGET, x[2]) | 47 target = os.path.join(TARGET, x[2]) |
47 print target | 48 print(target) |
48 | 49 |
49 try: | 50 try: |
50 os.makedirs(os.path.dirname(target)) | 51 os.makedirs(os.path.dirname(target)) |
51 except: | 52 except: |
52 pass | 53 pass |
53 | 54 |
54 url = '%s/%s/%s' % (REPOSITORY, branch, source) | 55 url = '%s/%s/%s' % (REPOSITORY, branch, source) |
55 | 56 |
56 with open(target, 'w') as f: | 57 with open(target, 'wb') as f: |
57 f.write(urllib2.urlopen(url).read()) | 58 try: |
59 f.write(urllib.request.urlopen(url).read()) | |
60 except: | |
61 print('ERROR %s' % url) | |
62 raise | |
58 | 63 |
59 | 64 |
60 commands = [] | 65 commands = [] |
61 | 66 |
62 for f in FILES: | 67 for f in FILES: |
63 commands.append([ 'default', | 68 commands.append([ 'default', |
64 f[0], | 69 f[0], |
65 os.path.join(f[1], os.path.basename(f[0])) ]) | 70 os.path.join(f[1], os.path.basename(f[0])) ]) |
66 | 71 |
67 for version in PLUGIN_SDK_VERSION: | 72 for f in SDK: |
68 for f in SDK: | 73 commands.append([ |
69 commands.append([ | 74 'Orthanc-%s' % PLUGIN_SDK_VERSION, |
70 'Orthanc-%s' % version, | 75 'OrthancServer/Plugins/Include/%s' % f, |
71 'Plugins/Include/%s' % f, | 76 'Sdk-%s/%s' % (PLUGIN_SDK_VERSION, f) |
72 'Sdk-%s/%s' % (version, f) | 77 ]) |
73 ]) | |
74 | 78 |
75 | 79 |
76 pool = multiprocessing.Pool(10) # simultaneous downloads | 80 pool = multiprocessing.Pool(10) # simultaneous downloads |
77 pool.map(Download, commands) | 81 pool.map(Download, commands) |