Mercurial > hg > orthanc-databases
comparison Resources/SyncOrthancFolder.py @ 569:f18e46d7dbf8 attach-custom-data
merged find-refactoring -> attach-custom-data
author | Alain Mazy <am@orthanc.team> |
---|---|
date | Tue, 24 Sep 2024 15:04:21 +0200 |
parents | 9ed9a91bde33 |
children |
comparison
equal
deleted
inserted
replaced
368:82f73188b58d | 569:f18e46d7dbf8 |
---|---|
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 sys |
12 | |
13 if sys.version_info[0] < 3: | |
14 from urllib2 import urlopen | |
15 else: | |
16 from urllib.request import urlopen | |
12 | 17 |
13 TARGET = os.path.join(os.path.dirname(__file__), 'Orthanc') | 18 TARGET = os.path.join(os.path.dirname(__file__), 'Orthanc') |
14 PLUGIN_SDK_VERSION_OLD = [ '0.9.5', '1.4.0', '1.5.2', '1.5.4' ] | 19 PLUGIN_SDK_VERSION_OLD = [ '0.9.5', '1.4.0', '1.5.2', '1.5.4' ] |
15 PLUGIN_SDK_VERSION_NEW = [ '1.9.2' ] | 20 PLUGIN_SDK_VERSION_NEW = [ '1.9.2', '1.12.0', '1.12.3', '1.12.4' ] |
16 REPOSITORY = 'https://hg.orthanc-server.com/orthanc/raw-file' | 21 HAS_PROTOCOL_BUFFERS = [ '1.12.0', '1.12.3', '1.12.4' ] |
22 REPOSITORY = 'https://orthanc.uclouvain.be/hg/orthanc/raw-file' | |
17 | 23 |
18 FILES = [ | 24 FILES = [ |
19 ('default', 'OrthancFramework/Resources/CMake/AutoGeneratedCode.cmake', 'CMake'), | 25 ('default', 'OrthancFramework/Resources/CMake/AutoGeneratedCode.cmake', 'CMake'), |
20 ('default', 'OrthancFramework/Resources/CMake/Compiler.cmake', 'CMake'), | 26 ('default', 'OrthancFramework/Resources/CMake/Compiler.cmake', 'CMake'), |
21 ('default', 'OrthancFramework/Resources/CMake/DownloadOrthancFramework.cmake', 'CMake'), | 27 ('default', 'OrthancFramework/Resources/CMake/DownloadOrthancFramework.cmake', 'CMake'), |
22 ('default', 'OrthancFramework/Resources/CMake/DownloadPackage.cmake', 'CMake'), | 28 ('default', 'OrthancFramework/Resources/CMake/DownloadPackage.cmake', 'CMake'), |
23 ('default', 'OrthancFramework/Resources/CMake/GoogleTestConfiguration.cmake', 'CMake'), | 29 ('default', 'OrthancFramework/Resources/CMake/GoogleTestConfiguration.cmake', 'CMake'), |
30 ('default', 'OrthancFramework/Resources/CMake/OpenSslConfiguration.cmake', 'CMake'), | |
31 ('default', 'OrthancFramework/Resources/CMake/ProtobufConfiguration.cmake', 'CMake'), | |
24 ('default', 'OrthancFramework/Resources/EmbedResources.py', '.'), | 32 ('default', 'OrthancFramework/Resources/EmbedResources.py', '.'), |
25 ('default', 'OrthancFramework/Resources/Toolchains/LinuxStandardBaseToolchain.cmake', '.'), | 33 ('default', 'OrthancFramework/Resources/Toolchains/LinuxStandardBaseToolchain.cmake', '.'), |
26 ('default', 'OrthancFramework/Resources/Toolchains/MinGW-W64-Toolchain32.cmake', '.'), | 34 ('default', 'OrthancFramework/Resources/Toolchains/MinGW-W64-Toolchain32.cmake', '.'), |
27 ('default', 'OrthancFramework/Resources/Toolchains/MinGW-W64-Toolchain64.cmake', '.'), | 35 ('default', 'OrthancFramework/Resources/Toolchains/MinGW-W64-Toolchain64.cmake', '.'), |
28 ('default', 'OrthancFramework/Resources/Toolchains/MinGWToolchain.cmake', '.'), | 36 ('default', 'OrthancFramework/Resources/Toolchains/MinGWToolchain.cmake', '.'), |
29 | 37 ('default', 'OrthancServer/Plugins/Samples/Common/ExportedSymbolsPlugins.list', 'Plugins'), |
30 # TODO - Replace branch "openssl-3.x" by "default" once it is reintegrated into mainline | 38 ('default', 'OrthancServer/Plugins/Samples/Common/OrthancPluginCppWrapper.cpp', 'Plugins'), |
31 ('openssl-3.x', 'OrthancServer/Plugins/Samples/Common/ExportedSymbolsPlugins.list', 'Plugins'), | 39 ('default', 'OrthancServer/Plugins/Samples/Common/OrthancPluginCppWrapper.h', 'Plugins'), |
32 ('openssl-3.x', 'OrthancServer/Plugins/Samples/Common/OrthancPluginCppWrapper.cpp', 'Plugins'), | 40 ('default', 'OrthancServer/Plugins/Samples/Common/OrthancPluginException.h', 'Plugins'), |
33 ('openssl-3.x', 'OrthancServer/Plugins/Samples/Common/OrthancPluginCppWrapper.h', 'Plugins'), | 41 ('default', 'OrthancServer/Plugins/Samples/Common/OrthancPluginsExports.cmake', 'Plugins'), |
34 ('openssl-3.x', 'OrthancServer/Plugins/Samples/Common/OrthancPluginException.h', 'Plugins'), | 42 ('default', 'OrthancServer/Plugins/Samples/Common/VersionScriptPlugins.map', 'Plugins'), |
35 ('openssl-3.x', 'OrthancServer/Plugins/Samples/Common/OrthancPluginsExports.cmake', 'Plugins'), | |
36 ('openssl-3.x', 'OrthancServer/Plugins/Samples/Common/VersionScriptPlugins.map', 'Plugins'), | |
37 ('openssl-3.x', 'OrthancServer/Sources/Search/DatabaseConstraint.cpp', 'Databases'), | |
38 ('openssl-3.x', 'OrthancServer/Sources/Search/DatabaseConstraint.h', 'Databases'), | |
39 ('openssl-3.x', 'OrthancServer/Sources/Search/ISqlLookupFormatter.cpp', 'Databases'), | |
40 ('openssl-3.x', 'OrthancServer/Sources/Search/ISqlLookupFormatter.h', 'Databases'), | |
41 ] | 43 ] |
42 | 44 |
43 SDK = [ | 45 SDK = [ |
44 'orthanc/OrthancCPlugin.h', | 46 'orthanc/OrthancCPlugin.h', |
45 'orthanc/OrthancCDatabasePlugin.h', | 47 'orthanc/OrthancCDatabasePlugin.h', |
46 ] | 48 ] |
47 | 49 |
50 SDK_PROTOCOL_BUFFERS = [ | |
51 'orthanc/OrthancCPlugin.h', | |
52 'orthanc/OrthancCDatabasePlugin.h', | |
53 'orthanc/OrthancDatabasePlugin.proto', | |
54 ] | |
55 | |
48 | 56 |
49 def Download(x): | 57 def Download(x): |
50 branch = x[0] | 58 branch = x[0] |
51 source = x[1] | 59 source = x[1] |
52 target = os.path.join(TARGET, x[2]) | 60 target = os.path.join(TARGET, x[2]) |
53 print target | 61 print(target) |
54 | 62 |
55 try: | 63 try: |
56 os.makedirs(os.path.dirname(target)) | 64 os.makedirs(os.path.dirname(target)) |
57 except: | 65 except: |
58 pass | 66 pass |
59 | 67 |
60 url = '%s/%s/%s' % (REPOSITORY, branch, source) | 68 url = '%s/%s/%s' % (REPOSITORY, branch, source) |
61 | 69 |
62 try: | 70 try: |
63 with open(target, 'w') as f: | 71 with open(target, 'wb') as f: |
64 f.write(urllib2.urlopen(url).read()) | 72 f.write(urlopen(url).read()) |
65 except Exception as e: | 73 except Exception as e: |
66 raise Exception('Cannot download: %s' % url) | 74 raise Exception('Cannot download: %s' % url) |
67 | 75 |
68 | 76 |
69 commands = [] | 77 commands = [] |
80 'Plugins/Include/%s' % f, | 88 'Plugins/Include/%s' % f, |
81 'Sdk-%s/%s' % (version, f) | 89 'Sdk-%s/%s' % (version, f) |
82 ]) | 90 ]) |
83 | 91 |
84 for version in PLUGIN_SDK_VERSION_NEW: | 92 for version in PLUGIN_SDK_VERSION_NEW: |
85 for f in SDK: | 93 if version in HAS_PROTOCOL_BUFFERS: |
94 files = SDK_PROTOCOL_BUFFERS | |
95 else: | |
96 files = SDK | |
97 | |
98 for f in files: | |
86 commands.append([ | 99 commands.append([ |
87 'Orthanc-%s' % version, | 100 'Orthanc-%s' % version, |
88 'OrthancServer/Plugins/Include/%s' % f, | 101 'OrthancServer/Plugins/Include/%s' % f, |
89 'Sdk-%s/%s' % (version, f) | 102 'Sdk-%s/%s' % (version, f) |
90 ]) | 103 ]) |