Initial import of ephy (rev# 7126) from svn
[ephy-soc.git] / data / check-mime.py
blob56a133af817a205bea789fc663b2dd4835a486a9
1 #!/usr/bin/env python
3 from xml.dom.minidom import parse, Node, Document, parseString
4 import xml.parsers.expat
6 import os
7 import sys
9 try:
10 base = sys.argv[1]
11 except IndexError:
12 print "\nYou shoud give the full path to freedesktop.org.xml file"
13 print "e.g /usr/share/mime/packages/freedesktop.org.xml\n"
14 sys.exit (1)
16 dbfile = os.path.join(os.path.dirname(base), "freedesktop.org.xml")
17 permissionfile = "mime-types-permissions.xml"
19 def PrintIfAbsent(elements, elem):
20 for elem2 in elements:
21 if (elem.attributes["type"].value == elem2.attributes["type"].value):
22 return;
23 print ("<mime-type type=\"" + elem.attributes["type"].value + "\"/>");
25 def ExtractTypes():
26 dbdom = parse(dbfile)
27 permissiondom = parse(permissionfile);
28 dbelements = dbdom.getElementsByTagName("mime-type") + dbdom.getElementsByTagName("alias")
29 permissionelements = permissiondom.getElementsByTagName("mime-type");
30 print ("New types:");
31 print ("----------\n");
32 for elem in dbelements:
33 PrintIfAbsent(permissionelements, elem)
34 print ("\nTypes removed:");
35 print ("--------------\n");
36 for elem in permissionelements:
37 PrintIfAbsent(dbelements, elem)
38 dbdom.unlink();
39 permissiondom.unlink();
41 ExtractTypes();