From bbc55b1790e93973c0fdf7ad5f758f6ff4da2269 Mon Sep 17 00:00:00 2001 From: mickeyl Date: Mon, 08 Dec 2003 18:12:34 +0000 Subject: use a slightly smaller manufacturerdb format, that saves ~100KB and improves parsing speed. Even better would be .gz compressed QDataStream though... --- (limited to 'libopie2') diff --git a/libopie2/opienet/omanufacturerdb.cpp b/libopie2/opienet/omanufacturerdb.cpp index bcce11f..006ae72 100644 --- a/libopie2/opienet/omanufacturerdb.cpp +++ b/libopie2/opienet/omanufacturerdb.cpp @@ -82,33 +82,14 @@ OManufacturerDB::OManufacturerDB() while (!s.atEnd()) { s >> addr; - if ( !addr ) // read nothing!? - { - continue; - } - else - if ( addr[0] == '#' ) - { - continue; - } - s.skipWhiteSpace(); s >> manu; - s.skipWhiteSpace(); s >> extManu; - if ( extManu[0] == '#' ) // we have an extended manufacturer - { - s.skipWhiteSpace(); - extManu = s.readLine(); - odebug << "OManufacturerDB: read " << extManu << " as extended manufacturer string" << oendl; - manufacturersExt.insert( addr, extManu ); - } - else - s.readLine(); - odebug << "OManufacturerDB: read tuple " << addr << ", " << manu << oendl; + manufacturers.insert( addr, manu ); + manufacturersExt.insert( addr, extManu ); + odebug << "OmanufacturerDB: parse '" << addr << "' as '" << manu << "' (" << extManu << ")" << oendl; } } - } diff --git a/libopie2/tools/stripmanuf.py b/libopie2/tools/stripmanuf.py new file mode 100755 index 0000000..28de0f9 --- a/dev/null +++ b/libopie2/tools/stripmanuf.py @@ -0,0 +1,27 @@ +#!/usr/bin/env python + +# +# converts a manufacturer file in ethereal format (taken from their CVS) +# into something smaller and faster parseable +# + +import sys +import os + +i = file( sys.argv[1], "r" ) +o = file( sys.argv[2], "w" ) + +for line in i: + #print line.strip() + entries = line.strip().split() + #print "number of entries =", len( entries ) + #print entries + if len( entries ) < 2: + continue + elif len( entries ) == 2: + print "2-line detected." + print >>o, entries[0], entries[1], entries[1] + elif len( entries ) > 2: + print >>o, entries[0], entries[1], "_".join( entries[3:] ) + else: + assert( false ) \ No newline at end of file -- cgit v0.9.0.2