Revision 27228
Added by Sandro La Bruzzo almost 10 years ago
modules/dnet40-DSL-job/DSL_Creator.py | ||
---|---|---|
1 |
import os |
|
2 |
import pysvn |
|
3 |
import pystache |
|
4 |
import json |
|
5 |
import shutil |
|
6 |
|
|
7 |
|
|
8 |
class DeployModule(object): |
|
9 |
def __init__(self, name=None, type_source=None, version=None, url=None, mail=None, deploy_repository=None, |
|
10 |
deploy_repository_url=None, goal=None, dict_values=None): |
|
11 |
if not dict_values: |
|
12 |
self.name = name |
|
13 |
self.type_source = type_source |
|
14 |
self.version = version |
|
15 |
self.url = url |
|
16 |
self.mail = mail |
|
17 |
self.goal = goal |
|
18 |
self.deploy_repository = deploy_repository |
|
19 |
self.deploy_repository_url = deploy_repository_url |
|
20 |
else: |
|
21 |
self.name = dict_values['name'] |
|
22 |
self.type_source = dict_values['type_source'] |
|
23 |
self.version = dict_values['version'] |
|
24 |
self.url = dict_values['url'] |
|
25 |
self.mail = dict_values['mail'] |
|
26 |
self.goal = dict_values['goal'] |
|
27 |
self.deploy_repository = dict_values['deploy_repository'] |
|
28 |
self.deploy_repository_url = dict_values['deploy_repository_url'] |
|
29 |
|
|
30 |
|
|
31 |
if os.path.isdir('/tmp/DSL40'): |
|
32 |
shutil.rmtree('/tmp/DSL40') |
|
33 |
print "DELETED Folder" |
|
34 |
os.makedirs('/tmp/DSL40') |
|
35 |
client = pysvn.Client() |
|
36 |
|
|
37 |
entry_list = client.ls("http://svn-public.driver.research-infrastructures.eu/driver/dnet40/build/") |
|
38 |
entry_module_list = client.ls("http://svn-public.driver.research-infrastructures.eu/driver/dnet40/modules/") |
|
39 |
entry_list = entry_list+ entry_module_list |
|
40 |
data_list =[] |
|
41 |
renderer = pystache.Renderer() |
|
42 |
|
|
43 |
f = open("/tmp/DSL40/configuration.xml", "w") |
|
44 |
f.write('<?xml version="1.0"?>') |
|
45 |
f.write("\n") |
|
46 |
f.write("<modules>") |
|
47 |
f.write("\n") |
|
48 |
|
|
49 |
for e in entry_list: |
|
50 |
name = e.name |
|
51 |
try: |
|
52 |
data =json.loads(client.cat(e.name + "/trunk/deploy.info")) |
|
53 |
data_list.append(data) |
|
54 |
d = DeployModule(dict_values=data) |
|
55 |
f.write(renderer.render(d)) |
|
56 |
f.write("\n") |
|
57 |
except Exception as e: |
|
58 |
print "NOT FOUND IN %s "% (name.split('/')[-1]) |
|
59 |
|
|
60 |
f.write("\n") |
|
61 |
f.write("</modules>") |
|
62 |
f.close() |
Also available in: Unified diff
added python script, that generates the new configuration xml starting to scan the dnet40 folder