コード例 #1
0
 def calculate_retention(self,
                         request: request.Request) -> List[Dict[str, Any]]:
     team = request.user.team
     filter = Filter(request=request)
     filter._date_from = "-11d"
     result = retention.Retention().run(filter, team)
     return result
コード例 #2
0
    def retention(self, request: request.Request, *args: Any,
                  **kwargs: Any) -> Response:
        team = self.team
        properties = request.GET.get("properties", "{}")

        try:
            properties = json.loads(properties)
        except json.decoder.JSONDecodeError:
            raise ValidationError("Properties are unparsable!")

        data: Dict[str, Any] = {"properties": properties}
        start_entity_data = request.GET.get("start_entity", None)
        if start_entity_data:
            entity_data = json.loads(start_entity_data)
            data.update({
                "entites": [
                    Entity({
                        "id": entity_data["id"],
                        "type": entity_data["type"]
                    })
                ]
            })

        data.update({"date_from": "-11d"})
        filter = RetentionFilter(data=data)

        result = retention.Retention().run(filter, team)
        return Response({"data": result})
コード例 #3
0
ファイル: insight.py プロジェクト: reichert621/posthog
 def retention(self, request: request.Request, *args: Any,
               **kwargs: Any) -> Response:
     team = request.user.team
     filter = Filter(request=request)
     filter._date_from = "-11d"
     result = retention.Retention().run(filter, team)
     return Response({"data": result})
コード例 #4
0
 def calculate_retention(self, request: request.Request) -> Dict[str, Any]:
     team = self.team
     data = {}
     if not request.GET.get("date_from"):
         data.update({"date_from": "-11d"})
     filter = RetentionFilter(data=data, request=request)
     result = retention.Retention().run(filter, team)
     return {"result": result}
コード例 #5
0
ファイル: action.py プロジェクト: yaoshuyin/posthog
    def retention(self, request: request.Request, *args: Any, **kwargs: Any) -> Response:
        team = self.team
        properties = request.GET.get("properties", "{}")

        filter = RetentionFilter(data={"properties": json.loads(properties)})

        start_entity_data = request.GET.get("start_entity", None)
        if start_entity_data:
            data = json.loads(start_entity_data)
            filter.entities = [Entity({"id": data["id"], "type": data["type"]})]

        filter._date_from = "-11d"
        result = retention.Retention().run(filter, team)
        return Response({"data": result})