Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Platypush
platypush
Commits
0d0995d7
Verified
Commit
0d0995d7
authored
Jun 02, 2022
by
Fabio Manganiello
Browse files
Merge branch 'master' into 191-support-for-general-entities-backend-and-plugin
parents
2898a337
cb702115
Pipeline
#248
failed with stages
in 1 minute and 27 seconds
Changes
2
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
platypush/plugins/lastfm/__init__.py
View file @
0d0995d7
import
time
from
typing
import
Optional
,
List
from
platypush.plugins
import
Plugin
,
action
...
...
@@ -29,6 +30,7 @@ class LastfmPlugin(Plugin):
"""
import
pylast
super
().
__init__
()
self
.
api_key
=
api_key
...
...
@@ -40,7 +42,8 @@ class LastfmPlugin(Plugin):
api_key
=
self
.
api_key
,
api_secret
=
self
.
api_secret
,
username
=
self
.
username
,
password_hash
=
pylast
.
md5
(
self
.
password
))
password_hash
=
pylast
.
md5
(
self
.
password
),
)
@
action
def
scrobble
(
self
,
artist
,
title
,
album
=
None
):
...
...
@@ -81,4 +84,58 @@ class LastfmPlugin(Plugin):
album
=
album
,
)
@
action
def
get_recent_tracks
(
self
,
username
:
Optional
[
str
]
=
None
,
limit
:
int
=
10
,
time_from
:
Optional
[
int
]
=
None
,
time_to
:
Optional
[
int
]
=
None
,
)
->
List
[
dict
]:
"""
Get a list of recently played tracks.
:param username: Target username (default: the one registered to this
plugin).
:param limit: Maximum number of tracks to be returned (default: 10).
:param time_from: Return tracks starting from this time
(as a UNIX timestamp).
:param time_to: Return tracks starting up to this time
(as a UNIX timestamp).
:return: Example:
.. code-block:: json
[
{
"artist": "Led Zeppelin",
"title": "Stairway to Heaven",
"album": "IV",
"timestamp": 1654196137
}
]
"""
return
[
{
'title'
:
track
.
track
.
title
,
'album'
:
track
.
album
,
'timestamp'
:
int
(
track
.
timestamp
or
0
),
**
(
{
'artist'
:
track
.
track
.
artist
.
name
}
if
track
.
track
.
artist
else
{
'artist'
:
None
}
),
}
for
track
in
self
.
lastfm
.
get_user
(
username
or
self
.
username
).
get_recent_tracks
(
limit
=
limit
,
time_from
=
time_from
,
time_to
=
time_to
,
)
]
# vim:sw=4:ts=4:et:
platypush/plugins/ntfy/__init__.py
View file @
0d0995d7
...
...
@@ -226,6 +226,7 @@ class NtfyPlugin(RunnablePlugin):
"""
method
=
requests
.
post
click_url
=
url
url
=
server_url
or
self
.
_server_url
args
=
{}
if
username
and
password
:
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment