blob: 13649c075567403c2aee89d4f5791ce2dd20a7b0 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
|
#!/usr/bin/env python
# Copyright (C) 2009 Sebastian Pipping <sebastian@pipping.org>
# Licensed under GPL 2 or later
import xml.etree.ElementTree as ET
from sharedutils import * # local
a = ET.parse(open('repositories.xml'))
repositories = a.getroot()
for repo in repositories:
# Transform 'repo' tag
repo.tag = 'overlay'
# Transform 'homepage' tag
homepage = repo.find('homepage')
if homepage != None:
homepage.tag = 'link'
# Move 'link' tag first
repo.remove(homepage)
repo.insert(0, homepage)
# Transform 'owner' tag
owner = repo.find('owner')
repo.attrib['contact'] = owner.find('email').text
repo.remove(owner)
# Kill 'feed' tags
for o in repo.findall('feed'):
repo.remove(o)
first_source = repo.find('source')
repo.attrib['src'] = first_source.text
repo.attrib['type'] = first_source.attrib['type']
repo.remove(first_source)
# Kill unsupported attributes
for att_name in ('quality', ):
if att_name in repo.attrib:
del repo.attrib[att_name]
# Transform 'description' tags
descriptions_kept = 0
for description in repo.findall('description'):
if 'lang' in description.attrib.keys():
if description.attrib['lang'] not in ('C', 'en') or \
descriptions_kept > 0:
repo.remove(description)
else:
del description.attrib['lang']
descriptions_kept = descriptions_kept + 1
# Transform 'name' tag
name = repo.find('name')
repo.attrib['name'] = name.text
repo.remove(name)
# Kill unsupported tags
for tag_name in ('feed', 'source', 'longdescription'):
for o in repo.findall(tag_name):
repo.remove(o)
# Add note on file being a generated one
repo.insert(0, ET.Comment('NOTE: This file is generated, do not edit.'))
# Kill unsupported attributes
for att_name in ('version', ):
if att_name in repositories.attrib:
del repositories.attrib[att_name]
# Transform 'repositories' tag
repositories.tag = 'overlays'
recurse_print(repositories)
indent(repositories)
a.write('layman-global.txt')
|