Exemple #1
0
def make_objects(url, element, list_elems={}, ign_elems={}, rep_field={}):
    dh = DocHandler(element, list_elems, ign_elems, rep_field)
    eh = saxutils.ErrorPrinter()

    parser = saxexts.make_parser()
    parser.setDocumentHandler(dh)
    parser.setErrorHandler(eh)
    parser.parse(url)

    return dh.get_objects()
Exemple #2
0
        if name == None:
            raise RunTimeError, " BadFile"
        if type(name) == unicode:
            name = name.encode('UTF-8')
        common_name = attrs.get('common_name', None)
        if common_name != None:
            if type(common_name) == unicode:
                name = common_name.encode('UTF-8')
            else:
                name = common_name
        self.ofile.write(code + '\t' + name + '\n')


##
## MAIN
##

ofile = sys.stdout
p = make_parser()
p.setErrorHandler(saxutils.ErrorPrinter())
try:
    dh = printLines(ofile)
    p.setContentHandler(dh)
    p.parse(sys.argv[1])
except IOError, e:
    print in_sysID + ": " + str(e)
except saxlib.SAXException, e:
    print str(e)

ofile.close()
def main(argv):

    # test the arguments
    path = os.path.normpath(argv[1])
    if len(argv)!=3 or not os.path.isdir(path) \
            or int(argv[2]) not in range(1,10):
        sys.stderr.write(__doc__ % \
            {"version": __version__, "progname": argv[0]} )
        sys.exit(1)

    filename = os.path.join(path, overviewfilename)

    # which snipplet file are we talking about
    dirname, enddirname = os.path.split(path)
    snippletfilename = os.path.join(dirname, enddirname + "_html.blk")

    # do we have to work?
    if not os.path.isfile(filename) or (os.path.isfile(snippletfilename) \
        and getmtime(snippletfilename) > getmtime(filename)):
        # nothing to be done
        #        sys.stderr.write("Nothing to be done.")
        return 0

    # check what filename, we have to leave in the URL
    predir = enddirname
    for t in range(1, int(argv[2]), 1):
        dirname, head = os.path.split(dirname)
        predir = os.path.join(head, predir)

    # parse the overview file

    #p=saxexts.make_parser()   # this is the normal parser coming with python
    p = drv_xmlproc_val.create_parser()  # validating xmlproc parser

    dh = SimpleDocHandler()
    p.setErrorHandler(saxutils.ErrorPrinter())
    p.setDocumentHandler(dh)

    p.parse(filename)

    #    sys.stderr.write("the indices: " + repr(dh.indices) + "\n")
    #    sys.stderr.write("found %d mails\n" % len(dh.maillist))

    # write snipplet
    f = open(snippletfilename, "w")
    write = f.write

    def writetablefield(index, name, dh, write, predir):
        if dh.indices.has_key(index + "index"):
            write("    <td><a href=\"%s/%s\">%s</a></td>\n" \
                     %(predir,dh.indices[index+"index"],name))
        else:
            write("<td></td>\n")

    write("  <td>%s</td>\n" % (enddirname))
    writetablefield("thread", "Threads", dh, write, predir)
    writetablefield("date", "Dates", dh, write, predir)
    writetablefield("subject", "Subjects", dh, write, predir)
    writetablefield("author", "Authors", dh, write, predir)
    write("  <td>%d</td>\n" % len(dh.maillist))

    f.close()