mirror of
https://github.com/openstf/stf
synced 2025-10-04 02:09:32 +02:00
Save devices to database.
This commit is contained in:
parent
881996557a
commit
48b4c2fd0e
7 changed files with 165 additions and 40 deletions
|
@ -1,33 +1,68 @@
|
|||
module.exports = {
|
||||
makeIdentity: function(serial, properties) {
|
||||
var model = properties['ro.product.model']
|
||||
, brand = properties['ro.product.brand']
|
||||
, manufacturer = properties['ro.product.manufacturer']
|
||||
, version = properties['ro.build.version.release']
|
||||
, sdk = +properties['ro.build.version.sdk']
|
||||
, abi = properties['ro.product.cpu.abi']
|
||||
var util = require('util')
|
||||
|
||||
// Remove brand prefix for consistency
|
||||
if (model.substr(0, brand.length) === brand) {
|
||||
model = model.substr(brand.length)
|
||||
}
|
||||
var wire = require('../wire')
|
||||
|
||||
// Remove manufacturer prefix for consistency
|
||||
if (model.substr(0, manufacturer.length) === manufacturer) {
|
||||
model = model.substr(manufacturer.length)
|
||||
}
|
||||
var devutil = module.exports = Object.create(null)
|
||||
|
||||
// Clean up remaining model name
|
||||
model = model.replace(/[_ ]/g, '')
|
||||
|
||||
return {
|
||||
platform: 'android'
|
||||
, serial: serial
|
||||
, manufacturer: manufacturer
|
||||
, model: model
|
||||
, version: version
|
||||
, sdk: sdk
|
||||
, abi: abi
|
||||
}
|
||||
devutil.platform = function(platform) {
|
||||
switch (platform) {
|
||||
case 'android':
|
||||
return wire.DevicePlatform.ANDROID
|
||||
default:
|
||||
throw new Error(util.format('Unmapped platform "%s"', platform))
|
||||
}
|
||||
}
|
||||
|
||||
devutil.manufacturer = function(manufacturer) {
|
||||
switch (manufacturer.toUpperCase()) {
|
||||
case 'SONY':
|
||||
case 'SONY ERICSSON':
|
||||
return wire.DeviceManufacturer.SONY
|
||||
case 'FUJITSU':
|
||||
return wire.DeviceManufacturer.FUJITSU
|
||||
case 'HTC':
|
||||
return wire.DeviceManufacturer.HTC
|
||||
case 'SHARP':
|
||||
return wire.DeviceManufacturer.SHARP
|
||||
case 'LGE':
|
||||
return wire.DeviceManufacturer.LG
|
||||
case 'SAMSUNG':
|
||||
return wire.DeviceManufacturer.SAMSUNG
|
||||
case 'ASUS':
|
||||
return wire.DeviceManufacturer.ASUS
|
||||
default:
|
||||
throw new Error(util.format('Unmapped manufacturer "%s"', manufacturer))
|
||||
}
|
||||
}
|
||||
|
||||
devutil.makeIdentity = function(serial, properties) {
|
||||
var model = properties['ro.product.model']
|
||||
, brand = properties['ro.product.brand']
|
||||
, manufacturer = properties['ro.product.manufacturer']
|
||||
, version = properties['ro.build.version.release']
|
||||
, sdk = properties['ro.build.version.sdk']
|
||||
, abi = properties['ro.product.cpu.abi']
|
||||
|
||||
// Remove brand prefix for consistency
|
||||
if (model.substr(0, brand.length) === brand) {
|
||||
model = model.substr(brand.length)
|
||||
}
|
||||
|
||||
// Remove manufacturer prefix for consistency
|
||||
if (model.substr(0, manufacturer.length) === manufacturer) {
|
||||
model = model.substr(manufacturer.length)
|
||||
}
|
||||
|
||||
// Clean up remaining model name
|
||||
// model = model.replace(/[_ ]/g, '')
|
||||
|
||||
return {
|
||||
serial: serial
|
||||
, platform: devutil.platform('android')
|
||||
, manufacturer: devutil.manufacturer(manufacturer)
|
||||
, model: model
|
||||
, version: version
|
||||
, abi: abi
|
||||
, sdk: sdk
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue