[sysadmin-bin: 121/168] Fix GitRepository properties



commit ae9d812e2275736298c0124809594e69a55c4374
Author: Owen W. Taylor <otaylor fishsoup net>
Date:   Wed Jul 29 16:43:13 2009 -0400

    Fix GitRepository properties
    
    The DOAP schema wants:
    
     <repository>
       <GitRepository>
          <location rdf:resource="..."/>
       </GitRepository>
     </repository>
    
    Not:
    
     <GitRepository rdf:resource="..."/>
    
    Fix generation of repositories.doap to generate the former RDF.

 build-repo-list |   22 ++++++++++++++++++----
 1 files changed, 18 insertions(+), 4 deletions(-)
---
diff --git a/build-repo-list b/build-repo-list
index 7c181d7..1697a64 100755
--- a/build-repo-list
+++ b/build-repo-list
@@ -117,17 +117,31 @@ elif options.output == 'doap':
             file_nodes = semi_rdf.read_rdf(f)
             f.close()
 
+            repository_node = semi_rdf.Node((DOAP, "GitRepository"))
+            repository_node.add_property((DOAP, "location"),
+                                         None,
+                                         semi_rdf.UrlResource("git://git.gnome.org/%s" % repo.shortname))
+            repository_node.add_property((DOAP, "browse"),
+                                       None,
+                                       semi_rdf.UrlResource("http://git.gnome.org/cgit/%s"; % repo.shortname))
+            old_repository_node = None
+
             for node in file_nodes:
                 if node.name != (DOAP, "Project"):
                     continue
 
-                node.remove_property((GNOME, "GitRepository"))
-                node.remove_property((DOAP, "GitRepository"))
-                node.add_property((DOAP, "GitRepository"),
+                old_repository_node = node.find_property((DOAP, "repository"))
+                node.remove_property((DOAP, "repository"))
+                node.add_property((DOAP, "repository"),
                                   None,
-                                  semi_rdf.UrlResource("git://git.gnome.org/%s" % repo.shortname))
+                                  repository_node)
+
+            # Don't want the old repository emitted as a toplevel node
+            if old_repository_node:
+                file_nodes.remove(old_repository_node)
 
             nodes.extend(file_nodes)
+            nodes.append(repository_node)
 
     iter_repos(paths, add_file)
     semi_rdf.dump_rdf(nodes, sys.stdout)



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]