@@ -13,7 +13,7 @@ class Meta:
1313 model = Meeting
1414
1515 type_id = factory .Iterator (['ietf' ,'interim' ])
16- date = datetime . date ( 2010 , 1 , 1 ) + datetime . timedelta ( days = random . randint ( 0 , 3652 ))
16+
1717 city = factory .Faker ('city' )
1818 country = factory .Faker ('country_code' )
1919 time_zone = factory .Faker ('timezone' )
@@ -44,6 +44,17 @@ def days(self):
4444 else :
4545 return 1
4646
47+ @factory .lazy_attribute
48+ def date (self ):
49+ if self .type_id == 'ietf' :
50+ year = (self .number - 2 )// 3 + 1985
51+ month = ((self .number - 2 )% 3 + 1 )* 4 - 1
52+ day = random .randint (1 ,28 )
53+ return datetime .date (year , month , day )
54+ else :
55+ return datetime .date (2010 ,1 ,1 )+ datetime .timedelta (days = random .randint (0 ,3652 ))
56+
57+
4758 @factory .post_generation
4859 def populate_agenda (obj , create , extracted , ** kwargs ): # pylint: disable=no-self-argument
4960 '''
@@ -58,7 +69,6 @@ def populate_agenda(obj, create, extracted, **kwargs): # pylint: disable=no-self
5869 obj .agenda = ScheduleFactory (meeting = obj )
5970 obj .save ()
6071
61-
6272class SessionFactory (factory .DjangoModelFactory ):
6373 class Meta :
6474 model = Session
0 commit comments