parent
08484d8806
commit
c6ea71901d
@ -0,0 +1 @@
|
||||
../../vendor/norcow/norcow.c
|
@ -0,0 +1 @@
|
||||
../../vendor/norcow/norcow.h
|
@ -0,0 +1,10 @@
|
||||
#ifdef UNIX
|
||||
#define NORCOW_UNIX 1
|
||||
#define NORCOW_FILE "/var/tmp/trezor.config"
|
||||
#endif
|
||||
|
||||
#ifdef STM32_HAL_H
|
||||
// TODO: switch to native implementation when finished
|
||||
#define NORCOW_UNIX 1
|
||||
#define NORCOW_FILE "/sd/trezor.config"
|
||||
#endif
|
@ -1,52 +1,13 @@
|
||||
import sys
|
||||
import ustruct
|
||||
from TrezorConfig import Config
|
||||
|
||||
# mock implementation using binary file
|
||||
_config = Config()
|
||||
|
||||
_mock = {}
|
||||
def get(app, key, default=None):
|
||||
v = _config.get(app, key)
|
||||
return v if v else default
|
||||
|
||||
if sys.platform in ['trezor', 'pyboard']: # stmhal
|
||||
_file = '/flash/trezor.config'
|
||||
else:
|
||||
_file = '/var/tmp/trezor.config'
|
||||
|
||||
|
||||
def _load():
|
||||
global _mock
|
||||
try:
|
||||
with open(_file, 'rb') as f:
|
||||
while True:
|
||||
d = f.read(4)
|
||||
if len(d) != 4:
|
||||
break
|
||||
k, l = ustruct.unpack('<HH', d)
|
||||
v = f.read(l)
|
||||
_mock[k] = v
|
||||
except OSError:
|
||||
pass
|
||||
|
||||
|
||||
def _save():
|
||||
global _mock
|
||||
with open(_file, 'wb') as f:
|
||||
for k, v in _mock.items():
|
||||
f.write(ustruct.pack('<HH', k, len(v)))
|
||||
f.write(v)
|
||||
|
||||
_load()
|
||||
|
||||
|
||||
def get(app_id, key, default=None):
|
||||
global _mock
|
||||
return _mock.get((app_id << 8) | key, default)
|
||||
|
||||
|
||||
def set(app_id, key, value):
|
||||
global _mock
|
||||
_mock[(app_id << 8) | key] = value
|
||||
_save()
|
||||
def set(app, key, value):
|
||||
return _config.set(app, key, value)
|
||||
|
||||
def wipe():
|
||||
global _mock
|
||||
_mock = {}
|
||||
_save()
|
||||
return _config.wipe()
|
||||
|
@ -1,13 +0,0 @@
|
||||
from TrezorConfig import Config
|
||||
|
||||
_config = Config()
|
||||
|
||||
def get(app, key, default=None):
|
||||
v = _config.get(app, key)
|
||||
return v if v else default
|
||||
|
||||
def set(app, key, value):
|
||||
return _config.set(app, key, value)
|
||||
|
||||
def wipe():
|
||||
return _config.wipe()
|
@ -1 +1 @@
|
||||
Subproject commit 81e11673b3b3f8b4cdc5c69585c9c61bf6dc808a
|
||||
Subproject commit de483fcc9876fac6aaa98bfd916e5797b13ce7a8
|
@ -0,0 +1 @@
|
||||
Subproject commit 934b3cd1fbef79fd6b079b787e6e3225bbe5684c
|
Loading…
Reference in new issue