Hide keyboard shortcuts

Hot-keys on this page

r m x p   toggle line displays

j k   next/prev highlighted chunk

0   (zero) top of page

1   (one) first highlighted chunk

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

128

129

130

131

132

133

134

135

136

137

138

139

140

141

142

143

144

145

146

147

148

149

150

151

152

153

154

155

156

157

158

159

160

161

162

163

164

165

166

167

168

169

170

171

172

173

174

175

176

177

178

179

from datetime import datetime 

 

from backend_app.models.country import Country 

from backend_app.models.countryScholarship import CountryScholarship 

from backend_app.models.course import Course 

from backend_app.models.courseFeedback import CourseFeedback 

from backend_app.models.currency import Currency 

from backend_app.models.exchange import Exchange 

from backend_app.models.exchangeFeedback import ExchangeFeedback 

from backend_app.models.language import Language 

from backend_app.models.partner import Partner 

from backend_app.models.taggedItems import UniversityTaggedItem 

from backend_app.models.university import University 

from backend_app.models.universityDri import UniversityDri 

from backend_app.models.universityInfo import UniversityInfo 

from backend_app.models.universitySemestersDates import UniversitySemestersDates 

from base_app.models import User 

from .loadGeneric import LoadGeneric 

 

 

class LoadUniversityEx(LoadGeneric): 

""" 

Load some exemple data for the EPFL 

""" 

 

def __init__(self, admin: User): 

self.admin = admin 

 

def load(self): 

EPFL = University.objects.get(acronym="EPFL") 

CHF = Currency.objects.get(pk="CHF") 

SWITZERLAND = Country.objects.get(pk="CH") 

 

univ_dri_1 = UniversityDri( 

title="Cours en anglais", 

importance_level="+", 

comment="Les cours de master en computer science sont 100% en anglais", 

) 

univ_dri_1.save() 

univ_dri_1.universities.add(EPFL) 

self.add_info_and_save(univ_dri_1, self.admin) 

 

univ_info = UniversityInfo.objects.get(university=EPFL) 

univ_info.cost_exchange = 0 

univ_info.costs_currency = CHF 

self.add_info_and_save(univ_info, self.admin) 

 

usd = UniversitySemestersDates.objects.get(university=EPFL) 

usd.autumn_begin = datetime.strptime("17/09/2018", "%d/%m/%Y") 

usd.autumn_end = datetime.strptime("29/01/2019", "%d/%m/%Y") 

usd.useful_links = [ 

{ 

"url": "https://memento.epfl.ch/academic-calendar", 

"description": "Site de l'EPFL", 

} 

] 

self.add_info_and_save(usd, self.admin) 

 

country_scholarship = CountryScholarship( 

title="Swiss European Mobility Programme", 

short_description="Bourse du gouvernement suisse", 

currency=CHF, 

frequency="s", 

amount_min=2200, 

amount_max=2200, 

comment="Bourse attribuée de manière automatique.", 

) 

country_scholarship.save() 

country_scholarship.countries.add(SWITZERLAND) 

self.add_info_and_save(country_scholarship, self.admin) 

 

univ_tag_1 = UniversityTaggedItem( 

university=EPFL, comment="C'est compliqué de trouver un logement" 

) 

self.add_info_and_save(univ_tag_1, self.admin) 

 

EPFL_as_partner = Partner.objects.filter(university__pk=EPFL.pk)[0] 

exchange1 = Exchange.objects.create( 

partner=EPFL_as_partner, 

utc_id=1, 

utc_partner_id=EPFL_as_partner.pk, 

student=self.admin, 

year=2019, 

semester="a", 

duration=1, 

double_degree=False, 

master_obtained=False, 

student_major_and_semester="GI6", 

student_minor="FDD", 

student_option="No", 

utc_allow_courses=True, 

utc_allow_login=True, 

) 

 

ef = ExchangeFeedback.objects.update_or_create( 

exchange=exchange1, 

defaults=dict( 

university=EPFL, 

general_comment="Very good", 

academical_level_appreciation=5, 

foreign_student_welcome=5, 

cultural_interest=5, 

), 

)[0] 

self.add_info_and_save(ef, self.admin) 

 

exchange2 = Exchange.objects.update_or_create( 

utc_id=2, 

defaults=dict( 

utc_partner_id=EPFL_as_partner.pk, 

student=self.admin, 

year=2018, 

semester="a", 

duration=1, 

double_degree=False, 

master_obtained=False, 

student_major_and_semester="GI4", 

student_minor="FDD", 

student_option="No", 

utc_allow_courses=False, 

utc_allow_login=False, 

), 

)[0] 

 

ef = ExchangeFeedback.objects.update_or_create( 

exchange=exchange2, 

defaults=dict( 

university=EPFL, 

general_comment="Very good trop bien", 

academical_level_appreciation=4, 

foreign_student_welcome=3, 

cultural_interest=4, 

), 

)[0] 

self.add_info_and_save(ef, self.admin) 

 

course1 = Course.objects.update_or_create( 

utc_id=1, 

defaults=dict( 

exchange=exchange1, 

utc_exchange_id=1, 

code="COM-401", 

title="Applied data science", 

link="", 

ects=5, 

category="TM", 

profile="PSF", 

tsh_profile="", 

student_login="admin", 

), 

)[0] 

 

Course.objects.update_or_create( 

utc_id=2, 

defaults=dict( 

exchange=exchange1, 

utc_exchange_id=1, 

code="COM-480", 

title="Data vizualization", 

link="", 

ects=5, 

category="TM", 

profile="PSF", 

tsh_profile="", 

student_login="admin", 

), 

) 

 

cf = CourseFeedback.objects.update_or_create( 

course=course1, 

defaults=dict( 

language=Language.objects.first(), 

comment="Trop bien", 

adequation=5, 

working_dose=4, 

following_ease=3, 

), 

)[0] 

self.add_info_and_save(cf, self.admin)