summaryrefslogtreecommitdiff
path: root/libopie2
authormickeyl <mickeyl>2003-12-08 18:12:34 (UTC)
committer mickeyl <mickeyl>2003-12-08 18:12:34 (UTC)
commitbbc55b1790e93973c0fdf7ad5f758f6ff4da2269 (patch) (side-by-side diff)
tree1ed235702c8c5b62ca31e11795e3a83194f97987 /libopie2
parentac49d8a09fe739ed451c632e154a409f142cefcd (diff)
downloadopie-bbc55b1790e93973c0fdf7ad5f758f6ff4da2269.zip
opie-bbc55b1790e93973c0fdf7ad5f758f6ff4da2269.tar.gz
opie-bbc55b1790e93973c0fdf7ad5f758f6ff4da2269.tar.bz2
use a slightly smaller manufacturerdb format, that saves ~100KB and
improves parsing speed. Even better would be .gz compressed QDataStream though...
Diffstat (limited to 'libopie2') (more/less context) (ignore whitespace changes)
-rw-r--r--libopie2/opienet/omanufacturerdb.cpp25
-rwxr-xr-xlibopie2/tools/stripmanuf.py27
2 files changed, 30 insertions, 22 deletions
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