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)
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)
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)
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
def as_dict(self): return pick_attrs(self, 'is_team_leader', 'display_name', 'job_title', email=self.signup.email_address, )
def as_dict(self): return pick_attrs( self, 'is_team_leader', 'display_name', 'job_title', email=self.signup.email_address, )
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)], )
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
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
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
def as_dict(self, format='listing'): assert format == 'listing' return pick_attrs(self, 'slug', 'name', 'headline', 'venue_name', 'homepage_url', 'start_time', 'end_time', )
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
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
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
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
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)