Source code for mouseflow.api.recordings.recording

"""
Copyright 2017 NEWCRAFT GROUP B.V.

   Licensed under the Apache License, Version 2.0 (the "License");
   you may not use this file except in compliance with the License.
   You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License.
"""

from mouseflow.api.recordings.properties.star import Star
from mouseflow.api.recordings.properties.tag import Tag

from mouseflow.api import API
from mouseflow.api.recordings.properties.variables import Variables


[docs]class Recording(API): """ Get a specific recording for the specified website. """ def __init__(self, parent, recording_id: str, **kwargs): """ :param parent: API object or Mouseflow :param recording_id: ID for the selected recording """ super().__init__(recording_id, parent=parent, **kwargs)
[docs] def id(self): return self.response.get("id")
[docs] def token(self): return self.response.get("token")
[docs] def created(self): return self.response.get("created")
[docs] def last_activity(self): return self.response.get("lastActivity")
[docs] def page_views(self): return self.response.get("pageViews")
[docs] def duration(self): return self.response.get("duration")
[docs] def pages(self): return self.response.get("pages")
[docs] def country(self): return self.response.get("country")
@property def city(self): return self.response.get("city")
[docs] def isp(self): return self.response.get("isp")
[docs] def ip(self): return self.response.get("ip")
[docs] def language(self): return self.response.get("language")
[docs] def user_agent(self): return self.response.get("userAgent")
[docs] def browser(self): return self.response.get("browser")
[docs] def browser_version(self): return self.response.get("browserVersion")
[docs] def screen_resolution(self): return self.response.get("screenRes")
[docs] def os(self): return self.response.get("os")
[docs] def os_version(self): return self.response.get("osVersion")
[docs] def device(self): return self.response.get("device")
[docs] def referrer(self): return self.response.get("referrer")
[docs] def tags(self): return self.response.get("tags")
[docs] def starred(self): return self.response.get("starred")
@property def lng(self): return self.response.get("lng") @property def lat(self): return self.response.get("lat")
[docs] def visitor_id(self): return self.response.get("visitorId")
[docs] def visitor_name(self): return self.response.get("visitorName")
[docs] def tag(self, tag_name: str = None): """ Returns a tag object representing the current star status and allows to tag the specific recording. :return: :class:`~mouseflow.api.recordings.properties.tag.Tag` """ return Tag(self, tag_name)
[docs] def star(self): """ Returns a star object representing the current star status and allows to star the specific recording. :return: :class:`~mouseflow.api.recordings.properties.star.Star` """ return Star(self)
[docs] def variables(self, **kwargs): """ :param kwargs: :return: :class:`~mouseflow.api.recordings.properties.variables.Variables` """ if kwargs is not None and self.value is not "": return Variables(self, **kwargs) return Variables(self)