Skip to content

Commit 0aa671a

Browse files
committed
update
1 parent 8c34b2f commit 0aa671a

File tree

3 files changed

+9
-6
lines changed

3 files changed

+9
-6
lines changed

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
setup(
44
name='talkops',
5-
version='1.0.15',
5+
version='1.1.0',
66
author='PicoUX',
77
description="TalkOps SDK",
88
long_description=open('README.md',encoding='utf-8').read(),

talkops/extension.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,11 +25,16 @@ def __init__(self, token=None):
2525
self._instructions = None
2626
self._name = None
2727
self._parameters = []
28+
self._publisher = None
2829
self._software_version = None
30+
self._started = False
2931
self._token = token or os.environ.get('TALKOPS_TOKEN')
3032
self._website = None
3133

3234
async def _setup(self):
35+
if self._started:
36+
return
37+
self._started = True
3338
await asyncio.sleep(0.5)
3439
if self._token:
3540
mercure = json.loads(base64.b64decode(self._token).decode())

talkops/publisher.py

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,16 @@
1+
from urllib.parse import urlencode
12
import json
23
import requests
34
import time
45
import sys
56
import threading
6-
from urllib.parse import urlencode
77

88
class Publisher:
99
def __init__(self, use_config, use_state):
1010
self._use_config = use_config
1111
self._use_state = use_state
1212
self._last_event_state = None
1313
self._last_ping_at = None
14-
threading.Timer(0.4, lambda: self._publish_data(json.dumps({'type': 'init'}))).start()
15-
threading.Timer(0.5, self._publish_state).start()
1614
self._original_stdout_write = sys.stdout.write
1715
self._original_stderr_write = sys.stderr.write
1816
def stdout_wrapper(chunk):
@@ -21,17 +19,17 @@ def stdout_wrapper(chunk):
2119
'data': chunk.strip()
2220
})
2321
return self._original_stdout_write(chunk)
24-
2522
def stderr_wrapper(chunk):
2623
if b"KeyboardInterrupt" not in chunk:
2724
self.publish_event({
2825
'type': 'stderr',
2926
'data': chunk.strip()
3027
})
3128
return self._original_stderr_write(chunk)
32-
3329
sys.stdout.write = stdout_wrapper
3430
sys.stderr.write = stderr_wrapper
31+
self._publish_data(json.dumps({'type': 'init'}))
32+
threading.Timer(0.1, self._publish_state).start()
3533

3634
def publish_state(self):
3735
event = {'type': 'state', 'state': self._use_state()}

0 commit comments

Comments
 (0)