Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
S
SpiderMQTT
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package Registry
Container Registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
fxk8y
SpiderMQTT
Compare revisions
8934c895fbfcbf3aee792a18cce6d505d197837e to 97fac1db8deb4364d1123327f96463a570636ab2
Compare revisions
Changes are shown as if the
source
revision was being merged into the
target
revision.
Learn more about comparing revisions.
Source
fxk8y/SpiderMQTT
Select target project
No results found
97fac1db8deb4364d1123327f96463a570636ab2
Select Git revision
Branches
feature/KISS
master
Swap
Target
fxk8y/SpiderMQTT
Select target project
fxk8y/SpiderMQTT
1 result
8934c895fbfcbf3aee792a18cce6d505d197837e
Select Git revision
Branches
feature/KISS
master
Show changes
Only incoming changes from source
Include changes to target since source was created
Compare
Commits on Source (2)
Type level improvements; Name mangling for private stuff
· 6e157f79
fxk8y
authored
2 years ago
6e157f79
Merge branch 'feature/KISS' of git.c3pb.de:fxk8y/SpiderMQTT into feature/KISS
· 97fac1db
fxk8y
authored
2 years ago
97fac1db
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
SpiderMQTT.py
+21
-21
21 additions, 21 deletions
SpiderMQTT.py
with
21 additions
and
21 deletions
SpiderMQTT.py
View file @
97fac1db
...
...
@@ -111,17 +111,17 @@ class Message:
"""
Marker object for caching failed conversions
"""
pass
def
__init__
(
self
,
topic
:
str
,
payload
:
byte
array
):
self
.
cache
=
{}
self
.
topic
=
topic
self
.
payload
=
payload
def
__init__
(
self
,
topic
:
str
,
payload
:
byte
s
):
self
.
cache
=
{}
self
.
topic
=
str
(
topic
)
self
.
payload
=
bytes
(
payload
)
def
raw
(
self
):
"""
Get the raw payload as byte
array
"""
def
raw
(
self
)
->
bytes
:
"""
Get the raw payload as byte
s
"""
return
self
.
payload
def
bool
(
self
,
default
=
False
):
def
bool
(
self
,
default
=
False
)
->
bool
:
"""
Coerce payload to bool
'
true
'
,
'
yes
'
,
'
ja
'
, and
'
1
'
are treated as True.
...
...
@@ -138,9 +138,9 @@ class Message:
else
:
return
Message
.
DEFAULT
return
self
.
_getOrElseUpdate
(
bool
,
convert
,
default
)
return
self
.
_
_
getOrElseUpdate
(
bool
,
convert
,
default
)
def
int
(
self
,
default
=
0
):
def
int
(
self
,
default
=
0
)
->
int
:
"""
Coerce payload to int
"""
def
convert
():
...
...
@@ -149,9 +149,9 @@ class Message:
except
:
return
Message
.
DEFAULT
return
self
.
_getOrElseUpdate
(
int
,
convert
,
default
)
return
self
.
_
_
getOrElseUpdate
(
int
,
convert
,
default
)
def
float
(
self
,
default
=
0.0
):
def
float
(
self
,
default
=
0.0
)
->
float
:
"""
Coerce payload to float
"""
def
convert
():
...
...
@@ -160,9 +160,9 @@ class Message:
except
:
return
Message
.
DEFAULT
return
self
.
_getOrElseUpdate
(
float
,
convert
,
default
)
return
self
.
_
_
getOrElseUpdate
(
float
,
convert
,
default
)
def
complex
(
self
,
default
=
0j
):
def
complex
(
self
,
default
=
0j
)
->
complex
:
"""
Coerce payload to complex
"""
def
convert
():
...
...
@@ -171,9 +171,9 @@ class Message:
except
:
return
Message
.
DEFAULT
return
self
.
_getOrElseUpdate
(
complex
,
convert
,
default
)
return
self
.
_
_
getOrElseUpdate
(
complex
,
convert
,
default
)
def
str
(
self
,
default
=
''
):
def
str
(
self
,
default
=
''
)
->
str
:
"""
Decodes the payload as UTF-8
"""
def
convert
():
...
...
@@ -182,9 +182,9 @@ class Message:
except
:
return
Message
.
DEFAULT
return
self
.
_getOrElseUpdate
(
str
,
convert
,
default
)
return
self
.
_
_
getOrElseUpdate
(
str
,
convert
,
default
)
def
json
(
self
,
default
=
{})
:
def
json
(
self
,
default
=
{})
->
dict
:
# TODO: Use frozendict…?
"""
Parses the payload as a JSON object
"""
def
convert
():
...
...
@@ -193,9 +193,9 @@ class Message:
except
:
return
Message
.
DEFAULT
return
self
.
_getOrElseUpdate
(
"
json
"
,
convert
,
default
)
return
self
.
_
_
getOrElseUpdate
(
"
json
"
,
convert
,
default
)
def
yaml
(
self
,
default
=
{})
:
def
yaml
(
self
,
default
=
{})
->
dict
:
# TODO: Use frozendict…?
"""
Parses the payload as a YAML document
"""
def
convert
():
...
...
@@ -204,9 +204,9 @@ class Message:
except
:
return
Message
.
DEFAULT
return
self
.
_getOrElseUpdate
(
"
yaml
"
,
convert
,
default
)
return
self
.
_
_
getOrElseUpdate
(
"
yaml
"
,
convert
,
default
)
def
_getOrElseUpdate
(
self
,
key
,
f
,
default
):
def
_
_getOrElseUpdate
(
self
,
key
,
f
,
default
):
if
key
in
self
.
cache
:
out
=
self
.
cache
[
key
]
...
...
This diff is collapsed.
Click to expand it.