Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
21db658575
|
||
|
|
909b85b2b7
|
||
|
|
2f9663a8f8
|
||
|
|
637ead1a38
|
@@ -1,3 +1,5 @@
|
|||||||
|
* 0.4.8
|
||||||
|
- Add unlock action description to info loglevel for unlock tool
|
||||||
* 0.4.7
|
* 0.4.7
|
||||||
- Upgrade shep to avoid sync in persist set
|
- Upgrade shep to avoid sync in persist set
|
||||||
* 0.4.6
|
* 0.4.6
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ def process_flags(argparser, flags):
|
|||||||
if flags & SyncFlag.RANGE > 0:
|
if flags & SyncFlag.RANGE > 0:
|
||||||
argparser.add_argument('--offset', type=int, help='Block to start sync from. Default is start of history (0).')
|
argparser.add_argument('--offset', type=int, help='Block to start sync from. Default is start of history (0).')
|
||||||
argparser.add_argument('--until', type=int, default=-1, help='Block to stop sync on. Default is stop at block height of first run.')
|
argparser.add_argument('--until', type=int, default=-1, help='Block to stop sync on. Default is stop at block height of first run.')
|
||||||
|
argparser.add_argument('--single', action='store_true', help='Execute a single sync, regardless of previous states')
|
||||||
if flags & SyncFlag.HEAD > 0:
|
if flags & SyncFlag.HEAD > 0:
|
||||||
argparser.add_argument('--head', action='store_true', help='Start from latest block as offset')
|
argparser.add_argument('--head', action='store_true', help='Start from latest block as offset')
|
||||||
argparser.add_argument('--keep-alive', action='store_true', help='Do not stop syncing when caught up')
|
argparser.add_argument('--keep-alive', action='store_true', help='Do not stop syncing when caught up')
|
||||||
|
|||||||
@@ -17,4 +17,6 @@ def process_config(config, args, flags):
|
|||||||
config.add(getattr(args, 'keep_alive'), '_KEEP_ALIVE')
|
config.add(getattr(args, 'keep_alive'), '_KEEP_ALIVE')
|
||||||
config.add(getattr(args, 'head'), '_HEAD')
|
config.add(getattr(args, 'head'), '_HEAD')
|
||||||
|
|
||||||
|
config.add(getattr(args, 'single'), '_SINGLE')
|
||||||
|
|
||||||
return config
|
return config
|
||||||
|
|||||||
@@ -329,7 +329,8 @@ class SyncStore:
|
|||||||
if locked_item_key == None:
|
if locked_item_key == None:
|
||||||
return False
|
return False
|
||||||
locked_item = self.get(locked_item_key)
|
locked_item = self.get(locked_item_key)
|
||||||
locked_state = self.filter_state.state(locked_item_key) - self.filter_state.state_store.LOCK
|
state = self.filter_state.state(locked_item_key)
|
||||||
|
locked_state = state - self.filter_state.state_store.LOCK
|
||||||
locked_state_name = self.filter_state.name(locked_state)
|
locked_state_name = self.filter_state.name(locked_state)
|
||||||
|
|
||||||
logg.debug('found locked item {} in state {}'.format(locked_item, locked_state))
|
logg.debug('found locked item {} in state {}'.format(locked_item, locked_state))
|
||||||
@@ -339,10 +340,17 @@ class SyncStore:
|
|||||||
if i == -1:
|
if i == -1:
|
||||||
raise FilterInitializationError('locked state {} ({}) found for item {}, but matching filter has not been registered'.format(locked_state_name, locked_state, locked_item))
|
raise FilterInitializationError('locked state {} ({}) found for item {}, but matching filter has not been registered'.format(locked_state_name, locked_state, locked_item))
|
||||||
|
|
||||||
|
direction = None
|
||||||
if revert:
|
if revert:
|
||||||
self.__unlock_previous(locked_item, fltrs, i)
|
self.__unlock_previous(locked_item, fltrs, i)
|
||||||
|
new_state = self.filter_state.state(locked_item_key)
|
||||||
|
direction = 'previous'
|
||||||
else:
|
else:
|
||||||
self.__unlock_next(locked_item, fltrs, i)
|
self.__unlock_next(locked_item, fltrs, i)
|
||||||
|
new_state = self.filter_state.state(locked_item_key)
|
||||||
|
direction = 'next'
|
||||||
|
|
||||||
|
logg.info('chainstate unlock to {} {} ({}) -> {} ({})'.format(direction, self.filter_state.name(state), state, self.filter_state.name(new_state), new_state))
|
||||||
|
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
|||||||
@@ -24,7 +24,8 @@ class SyncFsStore(SyncStore):
|
|||||||
create_path = True
|
create_path = True
|
||||||
|
|
||||||
if create_path:
|
if create_path:
|
||||||
self.__create_path(base_path, self.default_path, session_id=session_id)
|
#self.__create_path(base_path, self.default_path, session_id=session_id)
|
||||||
|
os.makedirs(self.session_path)
|
||||||
|
|
||||||
self.session_id = os.path.basename(self.session_path)
|
self.session_id = os.path.basename(self.session_path)
|
||||||
logg.info('session id {} resolved {} path {}'.format(session_id, self.session_id, self.session_path))
|
logg.info('session id {} resolved {} path {}'.format(session_id, self.session_id, self.session_path))
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
confini~=0.6.0
|
confini~=0.6.0
|
||||||
semver==2.13.0
|
semver==2.13.0
|
||||||
hexathon~=0.1.6
|
hexathon~=0.1.6
|
||||||
chainlib~=0.1.2
|
chainlib~=0.2.0
|
||||||
shep~=0.2.8
|
shep~=0.2.9
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
[metadata]
|
[metadata]
|
||||||
name = chainsyncer
|
name = chainsyncer
|
||||||
version = 0.4.7
|
version = 0.4.9
|
||||||
description = Generic blockchain syncer driver
|
description = Generic blockchain syncer driver
|
||||||
author = Louis Holbrook
|
author = Louis Holbrook
|
||||||
author_email = dev@holbrook.no
|
author_email = dev@holbrook.no
|
||||||
|
|||||||
Reference in New Issue
Block a user