Пример #1
0
def main():
    QtCore.QCoreApplication(sys.argv)

    fileName = ''
    className = ''
    encoding = ''
    i = 1
    while i < len(sys.argv):
        if sys.argv[i] == '--name':
            i += 1
            className = sys.argv[i]

        elif sys.argv[i] == '--encoding':
            i += 1
            encoding = sys.argv[i]

        elif i == len(sys.argv) - 1:
            fileName = sys.argv[i]

        i += 1

    parser = Soprano.PluginManager.instance().discoverParserForSerialization(
        Soprano.mimeTypeToSerialization(encoding), encoding)
    it = parser.parseFile(fileName, QtCore.QUrl("http://dummybaseuri.org"),
                          Soprano.mimeTypeToSerialization(encoding), encoding)
    graph = Soprano.Graph()
    while it.next():
        graph.addStatement(it.current())

    sourceFile = open(className + '.py', 'w')

    allResources = extractRelevantResources(graph)
    normalizedResources = {}
    done = []
    for resource in allResources:
        uri = resource.uri().toString()
        if not uri in normalizedResources:
            name = resource.uri().fragment()
        if not len(name) == 0 and not name in done:
            normalizedResources[uri] = name

    namespaceUri = QtCore.QUrl(normalizedResources.keys()[0])
    namespaceUri.setFragment('')
    ontoNamespace = namespaceUri
    print 'Namespace: %s' % namespaceUri
    print dir(sourceFile)

    print >> sourceFile, 'from PyQt4 import QtCore'
    for uri, name in normalizedResources.iteritems():
        print >> sourceFile, "%s = QtCore.QUrl('%s')" % (normalizeName(name),
                                                         uri)