diff Resources/SyncOrthancFolder.py @ 13:a07ee8b6946e

cleanup
author Sebastien Jodogne <s.jodogne@gmail.com>
date Mon, 04 Jan 2016 14:04:43 +0100
parents 2531a6a6c053
children f7379096e014
line wrap: on
line diff
--- a/Resources/SyncOrthancFolder.py	Mon Jan 04 13:58:29 2016 +0100
+++ b/Resources/SyncOrthancFolder.py	Mon Jan 04 14:04:43 2016 +0100
@@ -5,11 +5,13 @@
 # to match the latest version of the Orthanc source code.
 #
 
+import multiprocessing
+import urllib2
 import os
 import shutil
 
-SOURCE = '/home/jodogne/Subversion/Orthanc'
 TARGET = os.path.join(os.path.dirname(__file__), '..', 'Orthanc')
+REPOSITORY = 'https://bitbucket.org/sjodogne/orthanc/raw'
 
 FILES = [
     'Core/ChunkedBuffer.cpp',
@@ -19,13 +21,12 @@
     'Core/HttpClient.h',
     'Core/ICommand.h',
     'Core/IDynamicObject.h',
-    'Core/ImageFormats/ImageAccessor.cpp',
-    'Core/ImageFormats/ImageAccessor.h',
-    'Core/ImageFormats/PngReader.cpp',
-    'Core/ImageFormats/PngReader.h',
+    'Core/Images/ImageAccessor.cpp',
+    'Core/Images/ImageAccessor.h',
+    'Core/Images/PngReader.cpp',
+    'Core/Images/PngReader.h',
     'Core/MultiThreading/SharedMessageQueue.cpp',
     'Core/MultiThreading/SharedMessageQueue.h',
-    'Core/OrthancException.cpp',
     'Core/OrthancException.h',
     'Core/PrecompiledHeaders.h',
     'Core/Toolbox.cpp',
@@ -55,12 +56,35 @@
     'Core/Enumerations.h',
 ]
 
-for f in FILES:
-    source = os.path.join(SOURCE, f)
-    target = os.path.join(TARGET, f)
+EXE = [ ]
+
+
+def Download(x):
+    branch = x[0]
+    source = x[1]
+    target = os.path.join(TARGET, x[2])
+    print target
+
     try:
         os.makedirs(os.path.dirname(target))
     except:
         pass
 
-    shutil.copy(source, target)
+    url = '%s/%s/%s' % (REPOSITORY, branch, source)
+
+    with open(target, 'w') as f:
+        f.write(urllib2.urlopen(url).read())
+
+
+commands = []
+
+for f in FILES:
+    commands.append([ 'default', f, f ])
+
+pool = multiprocessing.Pool(10)  # simultaneous downloads
+pool.map(Download, commands)
+
+for exe in EXE:
+    path = os.path.join(TARGET, exe)
+    st = os.stat(path)
+    os.chmod(path, st.st_mode | stat.S_IEXEC)