def extract_from_utma(self, utma): ''' Will extract information for the "unique_id", "first_visit_time", "previous_visit_time", "current_visit_time" and "visit_count" properties from the given "__utma" cookie value. ''' parts = utma.split('.') if len(parts) != 6: raise ValueError('The given "__utma" cookie value is invalid.') self.unique_id = int(parts[1]) self.first_visit_time = utils.convert_ga_timestamp(parts[2]) self.previous_visit_time = utils.convert_ga_timestamp(parts[3]) self.current_visit_time = utils.convert_ga_timestamp(parts[4]) self.visit_count = int(parts[5]) return self
def extract_from_utmb(self, utmb): ''' Will extract information for the "trackCount" and "startTime" properties from the given "__utmb" cookie value. ''' parts = utmb.split('.') if len(parts) != 4: raise ValueError('The given "__utmb" cookie value is invalid.') self.track_count = int(parts[1]) self.start_time = utils.convert_ga_timestamp(parts[3]) return self
def extract_from_utmz(self, utmz): parts = utmz.split('.', 4) if len(parts) != 5: raise ValueError('The given "__utmz" cookie value is invalid.') self.creation_time = utils.convert_ga_timestamp(parts[1]) self.response_count = int(parts[3]) params = parts[4].split(Campaign.CAMPAIGN_DELIMITER) for param in params: key, val = param.split('=') try: setattr(self, self.UTMZ_PARAM_MAP[key], unquote_plus(val)) except KeyError: continue return self