1 |
commit: 710f8d3e8af33e990acab4733fc3ce58ce09697f |
2 |
Author: Jauhien Piatlicki (jauhien) <piatlicki <AT> gmail <DOT> com> |
3 |
AuthorDate: Sun Jun 30 22:51:53 2013 +0000 |
4 |
Commit: Jauhien Piatlicki <piatlicki <AT> gmail <DOT> com> |
5 |
CommitDate: Sun Jun 30 22:51:53 2013 +0000 |
6 |
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/g-sorcery.git;a=commit;h=710f8d3e |
7 |
|
8 |
g_sorcery/metadata: MetadataGenerator, metadata.xml schema |
9 |
|
10 |
--- |
11 |
g_sorcery/metadata.py | 71 +++++++++++++++++++++++++++++++++++++++++++++++++++ |
12 |
1 file changed, 71 insertions(+) |
13 |
|
14 |
diff --git a/g_sorcery/metadata.py b/g_sorcery/metadata.py |
15 |
index c945f70..7ef949a 100644 |
16 |
--- a/g_sorcery/metadata.py |
17 |
+++ b/g_sorcery/metadata.py |
18 |
@@ -64,6 +64,77 @@ class XMLGenerator: |
19 |
class MetadataGenerator: |
20 |
def __init__(self, db): |
21 |
self.db = db |
22 |
+ schema = [{'name' : 'herd', |
23 |
+ 'multiple' : (True, ""), |
24 |
+ 'required' : False, |
25 |
+ 'subtags' : []}, |
26 |
+ |
27 |
+ {'name' : 'maintainer', |
28 |
+ 'multiple' : (True, ""), |
29 |
+ 'required' : False, |
30 |
+ 'subtags' : [{'name' : 'email', |
31 |
+ 'multiple' : (False, ""), |
32 |
+ 'required' : True, |
33 |
+ 'subtags' : []}, |
34 |
+ {'name' : 'name', |
35 |
+ 'multiple' : (False, ""), |
36 |
+ 'required' : False, |
37 |
+ 'subtags' : []}, |
38 |
+ {'name' : 'description', |
39 |
+ 'multiple' : (False, ""), |
40 |
+ 'required' : False, |
41 |
+ 'subtags' : []}, |
42 |
+ ] |
43 |
+ }, |
44 |
+ |
45 |
+ {'name' : 'longdescription', |
46 |
+ 'multiple' : (False, ""), |
47 |
+ 'required' : False, |
48 |
+ 'subtags' : []}, |
49 |
+ |
50 |
+ {'name' : 'use', |
51 |
+ 'multiple' : (False, ""), |
52 |
+ 'required' : False, |
53 |
+ 'subtags' : [{'name' : 'flag', |
54 |
+ 'multiple' : (True, "name"), |
55 |
+ 'required' : True, |
56 |
+ 'subtags' : []}] |
57 |
+ }, |
58 |
+ |
59 |
+ {'name' : 'upstream', |
60 |
+ 'multiple' : (False, ""), |
61 |
+ 'required' : False, |
62 |
+ 'subtags' : [{'name' : 'maintainer', |
63 |
+ 'multiple' : (True, ""), |
64 |
+ 'required' : False, |
65 |
+ 'subtags' : [{'name' : 'name', |
66 |
+ 'multiple' : (False, ""), |
67 |
+ 'required' : True, |
68 |
+ 'subtags' : []}, |
69 |
+ {'name' : 'email', |
70 |
+ 'multiple' : (False, ""), |
71 |
+ 'required' : False, |
72 |
+ 'subtags' : []}]}, |
73 |
+ {'name' : 'changelog', |
74 |
+ 'multiple' : (False, ""), |
75 |
+ 'required' : False, |
76 |
+ 'subtags' : []}, |
77 |
+ {'name' : 'doc', |
78 |
+ 'multiple' : (False, ""), |
79 |
+ 'required' : False, |
80 |
+ 'subtags' : []}, |
81 |
+ {'name' : 'bugs-to', |
82 |
+ 'multiple' : (False, ""), |
83 |
+ 'required' : False, |
84 |
+ 'subtags' : []}, |
85 |
+ {'name' : 'remote-id', |
86 |
+ 'multiple' : (False, ""), |
87 |
+ 'required' : False, |
88 |
+ 'subtags' : []}, |
89 |
+ ] |
90 |
+ }, |
91 |
+ ] |
92 |
+ self.xmlg = XMLGenerator('pkgmetadata', schema) |
93 |
|
94 |
def generate(self, package): |
95 |
description = self.db.get_package_description(package) |