[virtualcommons-developer] commit/vcweb: 2 new changesets
Status: Beta
Brought to you by:
alllee
|
From: <com...@bi...> - 2013-03-22 00:45:45
|
2 new commits in vcweb: https://bitbucket.org/virtualcommons/vcweb/commits/da8eea0b33a9/ Changeset: da8eea0b33a9 User: alllee Date: 2013-03-22 01:24:19 Summary: adding session id to round configuration Affected #: 2 files diff -r 1ab9e8a11457c3af506d67f470dfc89253752bc3 -r da8eea0b33a92a398e77ea8054b6d64a1c1e3b0e vcweb/boundaries/models.py --- a/vcweb/boundaries/models.py +++ b/vcweb/boundaries/models.py @@ -110,8 +110,8 @@ ) ''' - during a practice or regular round, set up resource levels, participant harvest decision parameters, and possibly - group formation + during a practice or regular round, set up resource levels, participant harvest decision parameters, and group + formation ''' if should_reset_resource_level(round_configuration): initial_resource_level = get_initial_resource_level(round_configuration) @@ -130,7 +130,7 @@ ''' current_round_configuration = experiment.current_round logger.debug("ending boundaries round: %s", current_round_configuration) -# FIXME: max resource level might need to be read from the experiment / round configuration instead +# FIXME: should really read max resource level from the experiment / round configuration instead max_resource_level = MAX_RESOURCE_LEVEL for group in experiment.group_set.all(): logger.debug("group %s has resource level", group) diff -r 1ab9e8a11457c3af506d67f470dfc89253752bc3 -r da8eea0b33a92a398e77ea8054b6d64a1c1e3b0e vcweb/core/models.py --- a/vcweb/core/models.py +++ b/vcweb/core/models.py @@ -1043,7 +1043,7 @@ return Template(template_string).substitute(kwargs, round_number=self.display_number, participant_id=participant_id) def __unicode__(self): - return u"%s %s (%s)" % (self.get_round_type_display(), self.sequence_label, self.experiment_configuration) + return u"%s %s (%s %s)" % (self.get_round_type_display(), self.sequence_label, self.experiment_configuration, self.session_id) @property def display_label(self): https://bitbucket.org/virtualcommons/vcweb/commits/e7bad1de4521/ Changeset: e7bad1de4521 User: alllee Date: 2013-03-22 01:45:41 Summary: adding initial cut at group cluster creation logic Affected #: 1 file diff -r da8eea0b33a92a398e77ea8054b6d64a1c1e3b0e -r e7bad1de4521f8a0ecfd23dc29e3795d123f98e7 vcweb/core/models.py --- a/vcweb/core/models.py +++ b/vcweb/core/models.py @@ -700,6 +700,7 @@ participants = list(self.participant_set.all()) if randomize: random.shuffle(participants) + if gs.count() > 0: if preserve_existing_groups: # verify incoming session id is an actual value @@ -721,6 +722,24 @@ for p in participants: pgr = self.add_participant(p, current_group) current_group = pgr.group + self.create_group_clusters() + + def create_group_cluster(self): + round_configuration = self.current_round + session_id = round_configuration.session_id + if round_configuration.create_group_clusters: + group_cluster_size = round_configuration.group_cluster_size + groups = list(self.group_set.all()) + if len(groups) % group_cluster_size != 0: + logger.error("trying to create clusters of size %s but we have %s groups which isn't evenly divisible - aborting.", + group_cluster_size, len(groups)) + return + random.shuffle(groups) + g = GroupCluster.objects.create(session_id=session_id, experiment=self) + for group in groups: + if g.group_set.count() == group_cluster_size: + g = GroupCluster.objects.create(session_id=session_id, experiment=self) + g.group_set.add(group) def get_round_configuration(self, sequence_number): return RoundConfiguration.objects.get(experiment_configuration__experiment=self, sequence_number=sequence_number) @@ -1520,6 +1539,7 @@ date_created = models.DateTimeField(default=datetime.now) name = models.CharField(max_length=64, null=True, blank=True) session_id = models.CharField(max_length=64, null=True, blank=True) + max_size = models.PositiveIntegerField(default=0) experiment = models.ForeignKey(Experiment) def __unicode__(self): Repository URL: https://bitbucket.org/virtualcommons/vcweb/ -- This is a commit notification from bitbucket.org. You are receiving this because you have the service enabled, addressing the recipient of this email. |