dimples 1.0.2__tar.gz → 1.0.3__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (143) hide show
  1. {dimples-1.0.2 → dimples-1.0.3}/PKG-INFO +1 -1
  2. {dimples-1.0.2 → dimples-1.0.3}/dimples/client/network/state.py +1 -1
  3. {dimples-1.0.2 → dimples-1.0.3}/dimples/client/terminal.py +1 -1
  4. {dimples-1.0.2 → dimples-1.0.3}/dimples/edge/octopus.py +12 -3
  5. {dimples-1.0.2 → dimples-1.0.3}/dimples/edge/shared.py +6 -5
  6. {dimples-1.0.2 → dimples-1.0.3}/dimples/edge/start.py +1 -0
  7. {dimples-1.0.2 → dimples-1.0.3}/dimples/station/shared.py +6 -5
  8. {dimples-1.0.2 → dimples-1.0.3}/dimples.egg-info/PKG-INFO +1 -1
  9. {dimples-1.0.2 → dimples-1.0.3}/setup.py +1 -1
  10. {dimples-1.0.2 → dimples-1.0.3}/README.md +0 -0
  11. {dimples-1.0.2 → dimples-1.0.3}/dimples/__init__.py +0 -0
  12. {dimples-1.0.2 → dimples-1.0.3}/dimples/client/__init__.py +0 -0
  13. {dimples-1.0.2 → dimples-1.0.3}/dimples/client/archivist.py +0 -0
  14. {dimples-1.0.2 → dimples-1.0.3}/dimples/client/checkpoint.py +0 -0
  15. {dimples-1.0.2 → dimples-1.0.3}/dimples/client/cpu/__init__.py +0 -0
  16. {dimples-1.0.2 → dimples-1.0.3}/dimples/client/cpu/commands.py +0 -0
  17. {dimples-1.0.2 → dimples-1.0.3}/dimples/client/cpu/creator.py +0 -0
  18. {dimples-1.0.2 → dimples-1.0.3}/dimples/client/cpu/group.py +0 -0
  19. {dimples-1.0.2 → dimples-1.0.3}/dimples/client/cpu/grp_expel.py +0 -0
  20. {dimples-1.0.2 → dimples-1.0.3}/dimples/client/cpu/grp_invite.py +0 -0
  21. {dimples-1.0.2 → dimples-1.0.3}/dimples/client/cpu/grp_join.py +0 -0
  22. {dimples-1.0.2 → dimples-1.0.3}/dimples/client/cpu/grp_query.py +0 -0
  23. {dimples-1.0.2 → dimples-1.0.3}/dimples/client/cpu/grp_quit.py +0 -0
  24. {dimples-1.0.2 → dimples-1.0.3}/dimples/client/cpu/grp_reset.py +0 -0
  25. {dimples-1.0.2 → dimples-1.0.3}/dimples/client/cpu/grp_resign.py +0 -0
  26. {dimples-1.0.2 → dimples-1.0.3}/dimples/client/cpu/handshake.py +0 -0
  27. {dimples-1.0.2 → dimples-1.0.3}/dimples/client/facebook.py +0 -0
  28. {dimples-1.0.2 → dimples-1.0.3}/dimples/client/messenger.py +0 -0
  29. {dimples-1.0.2 → dimples-1.0.3}/dimples/client/network/__init__.py +0 -0
  30. {dimples-1.0.2 → dimples-1.0.3}/dimples/client/network/session.py +0 -0
  31. {dimples-1.0.2 → dimples-1.0.3}/dimples/client/network/transition.py +0 -0
  32. {dimples-1.0.2 → dimples-1.0.3}/dimples/client/packer.py +0 -0
  33. {dimples-1.0.2 → dimples-1.0.3}/dimples/client/processor.py +0 -0
  34. {dimples-1.0.2 → dimples-1.0.3}/dimples/common/__init__.py +0 -0
  35. {dimples-1.0.2 → dimples-1.0.3}/dimples/common/anonymous.py +0 -0
  36. {dimples-1.0.2 → dimples-1.0.3}/dimples/common/ans.py +0 -0
  37. {dimples-1.0.2 → dimples-1.0.3}/dimples/common/archivist.py +0 -0
  38. {dimples-1.0.2 → dimples-1.0.3}/dimples/common/compat/__init__.py +0 -0
  39. {dimples-1.0.2 → dimples-1.0.3}/dimples/common/compat/btc.py +0 -0
  40. {dimples-1.0.2 → dimples-1.0.3}/dimples/common/compat/compatible.py +0 -0
  41. {dimples-1.0.2 → dimples-1.0.3}/dimples/common/compat/entity.py +0 -0
  42. {dimples-1.0.2 → dimples-1.0.3}/dimples/common/compat/meta.py +0 -0
  43. {dimples-1.0.2 → dimples-1.0.3}/dimples/common/compat/network.py +0 -0
  44. {dimples-1.0.2 → dimples-1.0.3}/dimples/common/dbi/__init__.py +0 -0
  45. {dimples-1.0.2 → dimples-1.0.3}/dimples/common/dbi/account.py +0 -0
  46. {dimples-1.0.2 → dimples-1.0.3}/dimples/common/dbi/message.py +0 -0
  47. {dimples-1.0.2 → dimples-1.0.3}/dimples/common/dbi/session.py +0 -0
  48. {dimples-1.0.2 → dimples-1.0.3}/dimples/common/facebook.py +0 -0
  49. {dimples-1.0.2 → dimples-1.0.3}/dimples/common/messenger.py +0 -0
  50. {dimples-1.0.2 → dimples-1.0.3}/dimples/common/packer.py +0 -0
  51. {dimples-1.0.2 → dimples-1.0.3}/dimples/common/processer.py +0 -0
  52. {dimples-1.0.2 → dimples-1.0.3}/dimples/common/protocol/__init__.py +0 -0
  53. {dimples-1.0.2 → dimples-1.0.3}/dimples/common/protocol/ans.py +0 -0
  54. {dimples-1.0.2 → dimples-1.0.3}/dimples/common/protocol/block.py +0 -0
  55. {dimples-1.0.2 → dimples-1.0.3}/dimples/common/protocol/handshake.py +0 -0
  56. {dimples-1.0.2 → dimples-1.0.3}/dimples/common/protocol/login.py +0 -0
  57. {dimples-1.0.2 → dimples-1.0.3}/dimples/common/protocol/mute.py +0 -0
  58. {dimples-1.0.2 → dimples-1.0.3}/dimples/common/protocol/report.py +0 -0
  59. {dimples-1.0.2 → dimples-1.0.3}/dimples/common/register.py +0 -0
  60. {dimples-1.0.2 → dimples-1.0.3}/dimples/common/session.py +0 -0
  61. {dimples-1.0.2 → dimples-1.0.3}/dimples/conn/__init__.py +0 -0
  62. {dimples-1.0.2 → dimples-1.0.3}/dimples/conn/flexible.py +0 -0
  63. {dimples-1.0.2 → dimples-1.0.3}/dimples/conn/gate.py +0 -0
  64. {dimples-1.0.2 → dimples-1.0.3}/dimples/conn/gatekeeper.py +0 -0
  65. {dimples-1.0.2 → dimples-1.0.3}/dimples/conn/mars.py +0 -0
  66. {dimples-1.0.2 → dimples-1.0.3}/dimples/conn/mtp.py +0 -0
  67. {dimples-1.0.2 → dimples-1.0.3}/dimples/conn/protocol/__init__.py +0 -0
  68. {dimples-1.0.2 → dimples-1.0.3}/dimples/conn/protocol/mars.py +0 -0
  69. {dimples-1.0.2 → dimples-1.0.3}/dimples/conn/protocol/ws.py +0 -0
  70. {dimples-1.0.2 → dimples-1.0.3}/dimples/conn/queue.py +0 -0
  71. {dimples-1.0.2 → dimples-1.0.3}/dimples/conn/seeker.py +0 -0
  72. {dimples-1.0.2 → dimples-1.0.3}/dimples/conn/session.py +0 -0
  73. {dimples-1.0.2 → dimples-1.0.3}/dimples/conn/ws.py +0 -0
  74. {dimples-1.0.2 → dimples-1.0.3}/dimples/database/__init__.py +0 -0
  75. {dimples-1.0.2 → dimples-1.0.3}/dimples/database/account.py +0 -0
  76. {dimples-1.0.2 → dimples-1.0.3}/dimples/database/dos/__init__.py +0 -0
  77. {dimples-1.0.2 → dimples-1.0.3}/dimples/database/dos/base.py +0 -0
  78. {dimples-1.0.2 → dimples-1.0.3}/dimples/database/dos/document.py +0 -0
  79. {dimples-1.0.2 → dimples-1.0.3}/dimples/database/dos/group.py +0 -0
  80. {dimples-1.0.2 → dimples-1.0.3}/dimples/database/dos/group_history.py +0 -0
  81. {dimples-1.0.2 → dimples-1.0.3}/dimples/database/dos/group_keys.py +0 -0
  82. {dimples-1.0.2 → dimples-1.0.3}/dimples/database/dos/login.py +0 -0
  83. {dimples-1.0.2 → dimples-1.0.3}/dimples/database/dos/meta.py +0 -0
  84. {dimples-1.0.2 → dimples-1.0.3}/dimples/database/dos/private.py +0 -0
  85. {dimples-1.0.2 → dimples-1.0.3}/dimples/database/dos/station.py +0 -0
  86. {dimples-1.0.2 → dimples-1.0.3}/dimples/database/dos/user.py +0 -0
  87. {dimples-1.0.2 → dimples-1.0.3}/dimples/database/message.py +0 -0
  88. {dimples-1.0.2 → dimples-1.0.3}/dimples/database/session.py +0 -0
  89. {dimples-1.0.2 → dimples-1.0.3}/dimples/database/t_cipherkey.py +0 -0
  90. {dimples-1.0.2 → dimples-1.0.3}/dimples/database/t_document.py +0 -0
  91. {dimples-1.0.2 → dimples-1.0.3}/dimples/database/t_group.py +0 -0
  92. {dimples-1.0.2 → dimples-1.0.3}/dimples/database/t_group_history.py +0 -0
  93. {dimples-1.0.2 → dimples-1.0.3}/dimples/database/t_group_keys.py +0 -0
  94. {dimples-1.0.2 → dimples-1.0.3}/dimples/database/t_login.py +0 -0
  95. {dimples-1.0.2 → dimples-1.0.3}/dimples/database/t_message.py +0 -0
  96. {dimples-1.0.2 → dimples-1.0.3}/dimples/database/t_meta.py +0 -0
  97. {dimples-1.0.2 → dimples-1.0.3}/dimples/database/t_private.py +0 -0
  98. {dimples-1.0.2 → dimples-1.0.3}/dimples/database/t_station.py +0 -0
  99. {dimples-1.0.2 → dimples-1.0.3}/dimples/database/t_user.py +0 -0
  100. {dimples-1.0.2 → dimples-1.0.3}/dimples/edge/__init__.py +0 -0
  101. {dimples-1.0.2 → dimples-1.0.3}/dimples/group/__init__.py +0 -0
  102. {dimples-1.0.2 → dimples-1.0.3}/dimples/group/admin.py +0 -0
  103. {dimples-1.0.2 → dimples-1.0.3}/dimples/group/builder.py +0 -0
  104. {dimples-1.0.2 → dimples-1.0.3}/dimples/group/delegate.py +0 -0
  105. {dimples-1.0.2 → dimples-1.0.3}/dimples/group/emitter.py +0 -0
  106. {dimples-1.0.2 → dimples-1.0.3}/dimples/group/helper.py +0 -0
  107. {dimples-1.0.2 → dimples-1.0.3}/dimples/group/manager.py +0 -0
  108. {dimples-1.0.2 → dimples-1.0.3}/dimples/group/packer.py +0 -0
  109. {dimples-1.0.2 → dimples-1.0.3}/dimples/register/__init__.py +0 -0
  110. {dimples-1.0.2 → dimples-1.0.3}/dimples/register/base.py +0 -0
  111. {dimples-1.0.2 → dimples-1.0.3}/dimples/register/ext.py +0 -0
  112. {dimples-1.0.2 → dimples-1.0.3}/dimples/register/run.py +0 -0
  113. {dimples-1.0.2 → dimples-1.0.3}/dimples/register/shared.py +0 -0
  114. {dimples-1.0.2 → dimples-1.0.3}/dimples/server/__init__.py +0 -0
  115. {dimples-1.0.2 → dimples-1.0.3}/dimples/server/archivist.py +0 -0
  116. {dimples-1.0.2 → dimples-1.0.3}/dimples/server/cpu/__init__.py +0 -0
  117. {dimples-1.0.2 → dimples-1.0.3}/dimples/server/cpu/ans.py +0 -0
  118. {dimples-1.0.2 → dimples-1.0.3}/dimples/server/cpu/document.py +0 -0
  119. {dimples-1.0.2 → dimples-1.0.3}/dimples/server/cpu/handshake.py +0 -0
  120. {dimples-1.0.2 → dimples-1.0.3}/dimples/server/cpu/login.py +0 -0
  121. {dimples-1.0.2 → dimples-1.0.3}/dimples/server/cpu/report.py +0 -0
  122. {dimples-1.0.2 → dimples-1.0.3}/dimples/server/dispatcher.py +0 -0
  123. {dimples-1.0.2 → dimples-1.0.3}/dimples/server/messenger.py +0 -0
  124. {dimples-1.0.2 → dimples-1.0.3}/dimples/server/packer.py +0 -0
  125. {dimples-1.0.2 → dimples-1.0.3}/dimples/server/processor.py +0 -0
  126. {dimples-1.0.2 → dimples-1.0.3}/dimples/server/push.py +0 -0
  127. {dimples-1.0.2 → dimples-1.0.3}/dimples/server/session.py +0 -0
  128. {dimples-1.0.2 → dimples-1.0.3}/dimples/server/session_center.py +0 -0
  129. {dimples-1.0.2 → dimples-1.0.3}/dimples/server/trace.py +0 -0
  130. {dimples-1.0.2 → dimples-1.0.3}/dimples/station/__init__.py +0 -0
  131. {dimples-1.0.2 → dimples-1.0.3}/dimples/station/handler.py +0 -0
  132. {dimples-1.0.2 → dimples-1.0.3}/dimples/station/start.py +0 -0
  133. {dimples-1.0.2 → dimples-1.0.3}/dimples/utils/__init__.py +0 -0
  134. {dimples-1.0.2 → dimples-1.0.3}/dimples/utils/cache.py +0 -0
  135. {dimples-1.0.2 → dimples-1.0.3}/dimples/utils/config.py +0 -0
  136. {dimples-1.0.2 → dimples-1.0.3}/dimples/utils/dos.py +0 -0
  137. {dimples-1.0.2 → dimples-1.0.3}/dimples/utils/log.py +0 -0
  138. {dimples-1.0.2 → dimples-1.0.3}/dimples.egg-info/SOURCES.txt +0 -0
  139. {dimples-1.0.2 → dimples-1.0.3}/dimples.egg-info/dependency_links.txt +0 -0
  140. {dimples-1.0.2 → dimples-1.0.3}/dimples.egg-info/entry_points.txt +0 -0
  141. {dimples-1.0.2 → dimples-1.0.3}/dimples.egg-info/requires.txt +0 -0
  142. {dimples-1.0.2 → dimples-1.0.3}/dimples.egg-info/top_level.txt +0 -0
  143. {dimples-1.0.2 → dimples-1.0.3}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: dimples
3
- Version: 1.0.2
3
+ Version: 1.0.3
4
4
  Summary: DIMP Library for Edges and Stations
5
5
  Home-page: https://github.com/dimchat/demo-py
6
6
  Author: Albert Moky
@@ -107,7 +107,7 @@ class StateMachine(AutoMachine, Context):
107
107
 
108
108
 
109
109
  class StateOrder(IntEnum):
110
- """ Connection State Order """
110
+ """ Session State Order """
111
111
  INIT = 0 # default
112
112
  CONNECTING = 1
113
113
  CONNECTED = 2
@@ -125,7 +125,7 @@ class Terminal(DaemonRunner, DeviceMixin, Logging, StateDelegate):
125
125
  async def exit_state(self, state: SessionState, ctx: StateMachine, now: float):
126
126
  # called after state changed
127
127
  current = ctx.current_state
128
- self.info(msg='server state changed: %s -> %s' % (state, current))
128
+ self.info(msg='server state changed: %s -> %s, %s' % (state, current, self.session.station))
129
129
  if isinstance(current, SessionState):
130
130
  index = current.index
131
131
  else:
@@ -380,13 +380,22 @@ def create_messenger(facebook: ClientFacebook, database: MessageDBI,
380
380
  def create_terminal(messenger: OctopusMessenger) -> Terminal:
381
381
  terminal = Terminal(messenger=messenger)
382
382
  messenger.terminal = terminal
383
- thr = threading.Thread(target=_start_terminal, args=(terminal,))
383
+ thr = threading.Thread(target=__start_terminal, args=(terminal,), daemon=True)
384
384
  thr.start()
385
385
  return terminal
386
386
 
387
387
 
388
- def _start_terminal(terminal: Terminal):
389
- Runner.sync_run(main=terminal.start())
388
+ def __start_terminal(terminal: Terminal):
389
+ Runner.sync_run(main=__run_terminal(terminal=terminal))
390
+
391
+
392
+ async def __run_terminal(terminal: Terminal):
393
+ await terminal.start()
394
+ while True:
395
+ await Runner.sleep(seconds=2.0)
396
+ if not terminal.running:
397
+ break
398
+ Log.warning(msg='terminal stopped: %s' % terminal)
390
399
 
391
400
 
392
401
  async def update_station(station: Station, database: SessionDBI):
@@ -110,13 +110,14 @@ async def create_database(config: Config) -> Tuple[AccountDBI, MessageDBI, Sessi
110
110
  adb.show_info()
111
111
  mdb.show_info()
112
112
  sdb.show_info()
113
- # default provider
113
+ # update neighbor stations (default provider)
114
114
  provider = ProviderInfo.GSP
115
- # add neighbors
116
115
  neighbors = config.neighbors
117
- for node in neighbors:
118
- print('adding neighbor node: %s' % node)
119
- await sdb.add_station(identifier=None, host=node.host, port=node.port, provider=provider)
116
+ if len(neighbors) > 0:
117
+ await sdb.remove_stations(provider=provider)
118
+ for node in neighbors:
119
+ print('adding neighbor node: %s' % node)
120
+ await sdb.add_station(identifier=None, host=node.host, port=node.port, provider=provider)
120
121
  return adb, mdb, sdb
121
122
 
122
123
 
@@ -77,6 +77,7 @@ async def main():
77
77
  await octopus.start()
78
78
  while octopus.running:
79
79
  await Runner.sleep(seconds=1.0)
80
+ Log.warning(msg='bot stopped: %s' % octopus)
80
81
 
81
82
 
82
83
  if __name__ == '__main__':
@@ -117,13 +117,14 @@ async def create_database(config: Config) -> Tuple[AccountDBI, MessageDBI, Sessi
117
117
  adb.show_info()
118
118
  mdb.show_info()
119
119
  sdb.show_info()
120
- # default provider
120
+ # update neighbor stations (default provider)
121
121
  provider = ProviderInfo.GSP
122
- # add neighbors
123
122
  neighbors = config.neighbors
124
- for node in neighbors:
125
- print('adding neighbor node: %s' % node)
126
- await sdb.add_station(identifier=None, host=node.host, port=node.port, provider=provider)
123
+ if len(neighbors) > 0:
124
+ await sdb.remove_stations(provider=provider)
125
+ for node in neighbors:
126
+ print('adding neighbor node: %s' % node)
127
+ await sdb.add_station(identifier=None, host=node.host, port=node.port, provider=provider)
127
128
  return adb, mdb, sdb
128
129
 
129
130
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: dimples
3
- Version: 1.0.2
3
+ Version: 1.0.3
4
4
  Summary: DIMP Library for Edges and Stations
5
5
  Home-page: https://github.com/dimchat/demo-py
6
6
  Author: Albert Moky
@@ -14,7 +14,7 @@ import io
14
14
 
15
15
  from setuptools import setup, find_packages
16
16
 
17
- __version__ = '1.0.2'
17
+ __version__ = '1.0.3'
18
18
  __author__ = 'Albert Moky'
19
19
  __contact__ = 'albert.moky@gmail.com'
20
20
 
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes