@classmethod
    def get_or_create(cls, request):
        download_source = request.REQUEST.get('src', '')
        try:
            download_source = DownloadSource.objects.get(name=download_source)
        except DownloadSource.DoesNotExist:
            download_source = None
        region = None
        if hasattr(request, 'LANG'):
            lang = request.LANG
        else:
            lang = get_language()
        client_data, c = cls.objects.get_or_create(
            download_source=download_source,
            device_type=request.POST.get('device_type', ''),
            user_agent=request.META.get('HTTP_USER_AGENT', ''),
            is_chromeless=request.POST.get('chromeless', False),
            language=lang,
            region=region)
        return client_data
Render a collection of objects as a single paragraph.
dataset/ETHPy150Open mozilla/addons-server/src/olympia/stats/models.py/ClientData.get_or_create--crossover with--dataset/ETHPy150Open lsaffre/lino/lino/core/actors.py/qs2summary