Mercurial > hg > orthanc
comparison Resources/EmbedResources.py @ 323:052dede32761
list files in resource directories
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Mon, 07 Jan 2013 16:48:35 +0100 |
parents | f1aeec53795b |
children | 71d30b9ce801 |
comparison
equal
deleted
inserted
replaced
322:7233461e2f61 | 323:052dede32761 |
---|---|
121 | 121 |
122 header.write(""" | 122 header.write(""" |
123 #pragma once | 123 #pragma once |
124 | 124 |
125 #include <string> | 125 #include <string> |
126 #include <list> | |
126 | 127 |
127 namespace Orthanc | 128 namespace Orthanc |
128 { | 129 { |
129 namespace EmbeddedResources | 130 namespace EmbeddedResources |
130 { | 131 { |
165 void GetFileResource(std::string& result, FileResourceId id); | 166 void GetFileResource(std::string& result, FileResourceId id); |
166 | 167 |
167 const void* GetDirectoryResourceBuffer(DirectoryResourceId id, const char* path); | 168 const void* GetDirectoryResourceBuffer(DirectoryResourceId id, const char* path); |
168 size_t GetDirectoryResourceSize(DirectoryResourceId id, const char* path); | 169 size_t GetDirectoryResourceSize(DirectoryResourceId id, const char* path); |
169 void GetDirectoryResource(std::string& result, DirectoryResourceId id, const char* path); | 170 void GetDirectoryResource(std::string& result, DirectoryResourceId id, const char* path); |
171 | |
172 void ListResources(std::list<std::string>& result, DirectoryResourceId id); | |
170 } | 173 } |
171 } | 174 } |
172 """) | 175 """) |
173 header.close() | 176 header.close() |
174 | 177 |
326 | 329 |
327 | 330 |
328 | 331 |
329 | 332 |
330 ##################################################################### | 333 ##################################################################### |
334 ## List the resources in a directory | |
335 ##################################################################### | |
336 | |
337 cpp.write(""" | |
338 void ListResources(std::list<std::string>& result, DirectoryResourceId id) | |
339 { | |
340 result.clear(); | |
341 | |
342 switch (id) | |
343 { | |
344 """) | |
345 | |
346 for name in resources: | |
347 if resources[name]['Type'] == 'Directory': | |
348 cpp.write(' case %s:\n' % name) | |
349 for path in sorted(resources[name]['Files']): | |
350 cpp.write(' result.push_back("%s");\n' % path) | |
351 cpp.write(' break;\n\n') | |
352 | |
353 cpp.write(""" default: | |
354 throw OrthancException(ErrorCode_ParameterOutOfRange); | |
355 } | |
356 } | |
357 """) | |
358 | |
359 | |
360 | |
361 | |
362 ##################################################################### | |
331 ## Write the convenience wrappers in .cpp | 363 ## Write the convenience wrappers in .cpp |
332 ##################################################################### | 364 ##################################################################### |
333 | 365 |
334 cpp.write(""" | 366 cpp.write(""" |
335 void GetFileResource(std::string& result, FileResourceId id) | 367 void GetFileResource(std::string& result, FileResourceId id) |