Update mac database build script and README.md

pull/432/head
Simon Stürz 2021-06-06 02:00:18 +02:00
parent dea195045a
commit caed213cb7
2 changed files with 5 additions and 4 deletions

View File

@ -8,5 +8,5 @@ The generated database is read performance optimized and tried to keep as small
The final database will be named `mac-addresses.db`.
In nymea the `MacAddressDatabase` will search for this database file in `/usr/share/nymea/mac-addresses.db` and provides an asynch mechanism to get the company name for a given MAC address.
In nymea the `MacAddressDatabase` will search by default for this database file in `/usr/share/nymea/mac-addresses.db` and provides an asynch threaded mechanism to get the company name for a given MAC address.

View File

@ -40,7 +40,7 @@ downloadUrl='https://macaddress.io/database/macaddress.io-db.json'
jsonDataFileName = 'macaddress.io-db.json'
databaseFileName = 'mac-addresses.db'
print('Downloading', jsonDataFileName, '...')
print('Downloading', downloadUrl, '...')
downloadRequest = requests.get(downloadUrl)
open(jsonDataFileName, 'wb').write(downloadRequest.content)
@ -55,9 +55,10 @@ for line in lines:
jsonDataFile.close()
if os.path.exists(databaseFileName):
print('Delete old db file and create a new one', databaseFileName)
print('Delete old db file', databaseFileName)
os.remove(databaseFileName)
print('Build up database', databaseFileName)
connection = sqlite3.connect(databaseFileName)
cursor = connection.cursor()
cursor.execute('CREATE TABLE companyNames (companyName TEXT PRIMARY KEY, UNIQUE(companyName));')
@ -78,7 +79,7 @@ for vendorInfo in sortedVendorHash:
connection.commit()
# Insert all oui with reference to company name
print('Writing company names into database...')
print('Writing OUI into database with company name refference...')
# Sort by oui for good binary search in the db
sortedOuiHash = sorted(vendorInfoHash.items(), key=lambda x: x[0], reverse=False)
ouiCount = 0