コード例 #1
0
ファイル: programme.py プロジェクト: wizzu/kompassi
    def as_json(self, format='default'):
        from core.utils import pick_attrs

        if format == 'default':
            return pick_attrs(self,
                'title',
                'description',
                'category_title',
                'formatted_hosts',
                'room_name',
                'length',
                'start_time',
                'is_public',
            )
        elif format == 'desucon':
            return pick_attrs(self,
                'title',
                'description',
                'start_time',
                'end_time',
                'language',

                status=1 if self.is_public else 0,
                kind=self.category.slug,
                kind_display=self.category.title,
                identifier=self.slug or 'p{id}'.format(id=self.id),
                location=self.room.name if self.room else None,
                location_slug=self.room.slug if self.room else None,
                presenter=self.formatted_hosts,
                tags=list(self.tags.values_list('slug', flat=True)),
            )
        elif format == 'ropecon':
            return pick_attrs(self,
                'title',
                'description',
                'category_title',
                'formatted_hosts',
                'room_name',
                'length',
                'start_time',
                'end_time',
                'language',
                'rpg_system',

                no_language=self.ropecon2018_is_no_language if self.category.slug == 'roolipeli' else None,
                english_ok=self.is_english_ok if self.category.slug == 'roolipeli' else None,
                children_friendly=self.is_children_friendly if self.category.slug == 'roolipeli' else None,
                age_restricted=self.is_age_restricted if self.category.slug == 'roolipeli' else None,
                beginner_friendly=self.is_beginner_friendly if self.category.slug == 'roolipeli' else None,
                intended_for_experienced_participants=self.is_intended_for_experienced_participants if self.category.slug == 'roolipeli' else None,
                min_players=self.min_players if self.category.slug == 'roolipeli' else None,
                max_players=self.max_players if self.category.slug == 'roolipeli' else None,
                identifier='p{id}'.format(id=self.id),
                tags=list(self.tags.values_list('slug', flat=True)),
                genres=self.ropecon_genres,
                styles=self.ropecon_styles,

            )
        else:
            raise NotImplementedError(format)
コード例 #2
0
ファイル: programme.py プロジェクト: Kriivari/kompassi
    def as_json(self, format='default'):
        from core.utils import pick_attrs

        if format == 'default':
            return pick_attrs(
                self,
                'title',
                'description',
                'category_title',
                'formatted_hosts',
                'room_name',
                'length',
                'start_time',
                'is_public',
            )
        elif format == 'desucon':
            return pick_attrs(
                self,
                'title',
                'description',
                'start_time',
                'end_time',
                language='fi',  # XXX hardcoded
                status=1 if self.is_public else 0,
                kind=self.category.slug,
                kind_display=self.category.title,
                identifier=self.slug or 'p{id}'.format(id=self.id),
                location=self.room.name if self.room else None,
                location_slug=self.room.slug if self.room else None,
                presenter=self.formatted_hosts,
                tags=list(self.tags.values_list('slug', flat=True)),
            )
        else:
            raise NotImplementedError(format)
コード例 #3
0
ファイル: programme.py プロジェクト: jlaunonen/kompassi
    def as_json(self, format='default'):
        from core.utils import pick_attrs

        if format == 'default':
            return pick_attrs(self,
                'title',
                'description',
                'category_title',
                'formatted_hosts',
                'room_name',
                'length',
                'start_time',
                'is_public',
            )
        elif format == 'desucon':
            return pick_attrs(self,
                'title',
                'description',
                'start_time',
                'end_time',

                language='fi', # XXX hardcoded
                status=1 if self.is_public else 0,
                kind=self.category.slug,
                kind_display=self.category.title,
                identifier=u'p{id}'.format(id=self.id),
                location=self.room.name,
                location_slug=self.room.slug,
                presenter=self.formatted_hosts,
            )
        else:
            raise NotImplementedError(format)
コード例 #4
0
ファイル: job_category.py プロジェクト: darkismus/kompassi
    def as_dict(self,
                include_jobs=False,
                include_requirements=False,
                include_people=False,
                include_shifts=False):
        assert not (
            include_shifts and not include_jobs
        ), 'If include_shifts is specified, must specify also include_jobs'

        doc = pick_attrs(
            self,
            'title',
            'slug',
        )

        if include_jobs:
            doc['jobs'] = [
                job.as_dict(include_shifts=include_shifts)
                for job in self.job_set.all()
            ]

        if include_requirements:
            doc['requirements'] = self._make_requirements()
            doc['allocated'] = self._make_allocated()

        if include_people:
            doc['people'] = self._make_people()

        return doc
コード例 #5
0
ファイル: team_member.py プロジェクト: tracon/kompassi
    def as_dict(self):
        return pick_attrs(self,
            'is_team_leader',
            'display_name',
            'job_title',

            email=self.signup.email_address,
        )
コード例 #6
0
 def as_dict(self):
     return pick_attrs(
         self,
         'is_team_leader',
         'display_name',
         'job_title',
         email=self.signup.email_address,
     )
コード例 #7
0
ファイル: models.py プロジェクト: wizzu/kompassi
    def as_dict(self):
        t = now()

        return pick_attrs(self,
            'hostname',
            'title',

            events=[event.as_dict(format='listing') for event in self.get_events(public=True, end_time__gt=t)],
        )
コード例 #8
0
ファイル: job_category.py プロジェクト: jlaunonen/kompassi
    def as_dict(self, include_jobs=False, include_requirements=False):
        doc = pick_attrs(self, "title", "slug")

        if include_jobs:
            doc["jobs"] = [job.as_dict() for job in self.job_set.all()]

        if include_requirements:
            doc["requirements"] = self._make_requirements()

        return doc
コード例 #9
0
ファイル: roster.py プロジェクト: Hilzu/kompassi
    def as_dict(self, include_requirements=True, include_shifts=False):
        doc = pick_attrs(self, "slug", "title")

        if include_requirements:
            doc["requirements"] = self._make_requirements()
            doc["allocated"] = self._make_allocated()

        if include_shifts:
            doc["shifts"] = self._make_shifts()

        return doc
コード例 #10
0
ファイル: team.py プロジェクト: Siikakala/kompassi
    def as_dict(self, include_members=True):
        result = pick_attrs(self,
            'name',
            'description',
            'slug',
            'email',
        )

        if include_members:
            result.update(members=[member.as_dict() for member in self.members.filter(is_shown_publicly=True)])

        return result
コード例 #11
0
ファイル: models.py プロジェクト: wizzu/kompassi
    def as_dict(self, format='listing'):
        assert format == 'listing'

        return pick_attrs(self,
            'slug',
            'name',
            'headline',
            'venue_name',
            'homepage_url',
            'start_time',
            'end_time',
        )
コード例 #12
0
ファイル: job_category.py プロジェクト: akx/kompassi
    def as_dict(self, include_jobs=False, include_requirements=False):
        doc = pick_attrs(self,
            'title',
            'slug',
        )

        if include_jobs:
            doc['jobs'] = [job.as_dict() for job in self.job_set.all()]

        if include_requirements:
            doc['requirements'] = self._make_requirements()

        return doc
コード例 #13
0
ファイル: roster.py プロジェクト: wizzu/kompassi
    def as_dict(self, include_requirements=True, include_shifts=False):
        doc = pick_attrs(self,
            'slug',
            'title',
        )

        if include_requirements:
            doc['requirements'] = self._make_requirements()
            doc['allocated'] = self._make_allocated()

        if include_shifts:
            doc['shifts'] = self._make_shifts()

        return doc
コード例 #14
0
ファイル: roster.py プロジェクト: tracon/kompassi
    def as_dict(self, include_requirements=True, include_shifts=False):
        doc = pick_attrs(self,
            'slug',
            'title',
        )

        if include_requirements:
            doc['requirements'] = self._make_requirements()
            doc['allocated'] = self._make_allocated()

        if include_shifts:
            doc['shifts'] = self._make_shifts()

        return doc
コード例 #15
0
    def as_dict(self, include_members=True):
        result = pick_attrs(
            self,
            'name',
            'description',
            'slug',
            'email',
        )

        if include_members:
            result.update(members=[
                member.as_dict()
                for member in self.members.filter(is_shown_publicly=True)
            ])

        return result
コード例 #16
0
ファイル: job_category.py プロジェクト: Hilzu/kompassi
    def as_dict(self, include_jobs=False, include_requirements=False, include_people=False, include_shifts=False):
        assert not (include_shifts and not include_jobs), u'If include_shifts is specified, must specify also include_jobs'

        doc = pick_attrs(self,
            'title',
            'slug',
        )

        if include_jobs:
            doc['jobs'] = [job.as_dict(include_shifts=include_shifts) for job in self.job_set.all()]

        if include_requirements:
            doc['requirements'] = self._make_requirements()
            doc['allocated'] = self._make_allocated()

        if include_people:
            doc['people'] = self._make_people()

        return doc
コード例 #17
0
ファイル: programme.py プロジェクト: tracon/kompassi
    def as_json(self, format='default'):
        from core.utils import pick_attrs

        if format == 'default':
            return pick_attrs(self,
                'title',
                'description',
                'category_title',
                'formatted_hosts',
                'room_name',
                'length',
                'start_time',
                'is_public',
                'video_link',
            )
        elif format == 'desucon':
            return pick_attrs(self,
                'title',
                'description',
                'start_time',
                'end_time',
                'language',
                'video_link',

                status=1 if self.is_public else 0,
                kind=self.category.slug,
                kind_display=self.category.title,
                identifier=self.slug or 'p{id}'.format(id=self.id),
                location=self.room.name if self.room else None,
                location_slug=self.room.slug if self.room else None,
                presenter=self.formatted_hosts,
                tags=list(self.tags.values_list('slug', flat=True)),
            )
        elif format == 'ropecon':
            return pick_attrs(self,
                'title',
                'description',
                'category_title',
                'formatted_hosts',
                'room_name',
                'length',
                'start_time',
                'end_time',
                'language',
                'rpg_system',

                no_language=self.ropecon2018_is_no_language if self.category.slug == 'roolipeli' else None,
                english_ok=self.is_english_ok if self.category.slug == 'roolipeli' else None,
                children_friendly=self.is_children_friendly if self.category.slug == 'roolipeli' else None,
                age_restricted=self.is_age_restricted if self.category.slug == 'roolipeli' else None,
                beginner_friendly=self.is_beginner_friendly if self.category.slug == 'roolipeli' else None,
                intended_for_experienced_participants=self.is_intended_for_experienced_participants if self.category.slug == 'roolipeli' else None,
                min_players=self.min_players if self.category.slug == 'roolipeli' else None,
                max_players=self.max_players if self.category.slug == 'roolipeli' else None,
                identifier='p{id}'.format(id=self.id),
                tags=list(self.tags.values_list('slug', flat=True)),
                genres=self.ropecon_genres,
                styles=self.ropecon_styles,

            )
        else:
            raise NotImplementedError(format)