musicmanager.calls — Music Manager API call classes¶
Example of making an HTTP request using the requests library:
# Assuming an authenticated session called 'session'.
>>> from google_music_proto.musicmanager.calls import ExportIds
>>> call = ExportIds(<uploader_id>)
>>> response = session.request(
call.method, call.url, params=call.params, headers=call.headers,
data=call.body, allow_redirects=call.follow_redirects
)
Attributes¶
Call classes have the following attributes:
-
body¶
Binary-encoded body of the HTTP request.
-
follow_redirects¶
Boolean to enable/disable request redirects.
-
headers¶
Headers to send with the HTTP request.
-
method¶
Method for the HTTP request.
-
params¶
Dict of parameters to send in the query string of the HTTP request.
-
url¶
URL for the HTTP request.
Classes¶
-
class
ClientState(uploader_id)[source]¶ Get information about the state of a Google Music account.
Note
This provides things like the quota for uploaded songs.
- Parameters
uploader_id (str) – A unique ID given as a MAC address. Only one Music Manager client may use a given uploader ID.
-
class
ExportIDs(uploader_id, continuation_token=None, export_type=1, updated_min=-1)[source]¶ Get a listing of uploaded and purchased library tracks.
Note
The track list is paged. Getting all tracks will require looping through all pages.
- Parameters
uploader_id (str) – A unique ID given as a MAC address. Only one Music Manager client may use a given uploader ID.
continuation_token (str, Optional) – The token of the page to return. Default: Not sent to get first page.
export_type (int, Optional) – The type of tracks to return: 1 for all tracks, 2 for promotional and purchased. Default:
1updated_min (int, Optional) – List changes since the given Unix epoch time in microseconds. Default lists all changes.
-
class
GetJobs(uploader_id)[source]¶ Get a listing of pending upload jobs.
- Parameters
uploader_id (str) – A unique ID given as a MAC address. Only one Music Manager client may use a given uploader ID.
-
class
Metadata(uploader_id, tracks)[source]¶ Send upload track metadata to Google Music.
- Parameters
uploader_id (str) – A unique ID given as a MAC address. Only one Music Manager client may use a given uploader ID.
tracks (list) – A list of tracks in the form of
locker_pb2.Track. UseMetadata.get_track_infoto generate locker tracks from audio files.
-
static
get_track_info(song)[source]¶ Create a locker track from an audio file.
- Parameters
song (os.PathLike or str or audio_metadata.Format) – The path to an audio file or an instance of
audio_metadata.Format.- Returns
A locker track of the given audio file.
- Return type
locker_pb2.Track
-
class
Sample(uploader_id, track_samples)[source]¶ Send samples of audio files to Google Music.
- Parameters
uploader_id (str) – A unique ID given as a MAC address. Only one Music Manager client may use a given uploader ID.
track_samples (list) – A list of track samples in the form of
upload_pb2.TrackSample. UseSample.generate_sampleto generate a track sample from an audio file.
-
static
generate_sample(song, track, sample_request, *, external_art=None, no_sample=False)[source]¶ Generate a track sample from an audio file.
- Parameters
track (locker_pb2.Track) – A locker track of the audio file as created by
Metadata.get_track_info.sample_request (upload_pb2.SignedChallengeInfo) – The
'signed_challenge_info'portion for the audio file from theMetadataresponse.external_art (bytes, Optional) – The binary data of an external album art image. If not provided, embedded album art will be used, if present.
no_sample (bool, Optional) – Don’t generate an audio sample from song; send empty audio sample. Default: Create an audio sample using ffmpeg/avconv.
-
class
ScottyAgentPost(uploader_id, server_track_id, track, song, external_art=None, total_song_count=1, total_uploaded_count=0)[source]¶ Request an upload URL for a track from Google Music.
- Parameters
uploader_id (str) – A unique ID given as a MAC address. Only one Music Manager client may use a given uploader ID.
server_track_id (str) – The server ID of the audio file to upload as given in the response of
MetadataorSample.track (locker_pb2.Track) – A locker track of the audio file as created by
Metadata.get_track_info.song (os.PathLike or str or audio_metadata.Format) – The path to an audio file or an instance of
audio_metadata.Format.external_art (bytes, Optional) – The binary data of an external album art image. If not provided, embedded album art will be used, if present.
total_song_count (int, Optional) – Total number of songs to be uploaded in this session. Default: 1
total_uploaded_count (int, Optional) – Number of songs uploaded in this session. Default: 0
-
class
ScottyAgentPut(upload_url, audio_file, content_type='audio/mpeg')[source]¶ Upload a file to a Google Music library.
- Parameters
upload_url (str) – The upload URL given by
ScottyAgentPostresponse.audio_file (os.PathLike or str or bytes) – An audio file as
os.PathLike, a file/bytes-like object, or binary data.content_type (str) – The mime type to be sent in the ContentType header field. Default:
'audio/mpeg'