- Timestamp:
- 06/25/09 13:17:49 (9 months ago)
- Files:
-
- 1 modified
Legend:
- Unmodified
- Added
- Removed
-
branches/0.9/pylucid_project/tests/test_tools/pylucid_test_data.py
r2040 r2068 33 33 self.verbosity = verbosity 34 34 self.index = 1 35 35 36 36 def __iter__(self): 37 37 return self 38 38 39 39 def next(self): 40 40 try: … … 48 48 id=self.index, defaults={"name": site_name, "domain": domain} 49 49 ) 50 if self.verbosity >=2:50 if self.verbosity >= 2: 51 51 if created: 52 52 print("sites entry '%s' created." % site) … … 55 55 56 56 print "Activate site: %r (ID:%s)" % (site, site.pk) 57 57 58 58 settings.SITE_ID = site.pk 59 59 Site.objects.clear_cache() 60 60 61 61 current_site = Site.objects.get_current() 62 62 assert current_site == site 63 63 64 64 return site 65 65 66 66 67 67 class TestLanguages(object): … … 72 72 self.verbosity = verbosity 73 73 self.index = 0 74 74 75 75 def __iter__(self): 76 76 return self 77 77 78 78 def next(self): 79 79 try: … … 81 81 except IndexError: 82 82 raise StopIteration 83 83 84 84 self.index += 1 85 85 86 86 language, created = Language.objects.get_or_create( 87 87 code=lang_code, defaults={"description": description} 88 88 ) 89 if self.verbosity >=2:89 if self.verbosity >= 2: 90 90 if created: 91 91 print("Language '%s' created." % lang_code) … … 123 123 "site_template/normal.html": { 124 124 "content": \ 125 """<html><head><title>{{ page_title }} """ +SITEINFO_TAG+"""</title>125 """<html><head><title>{{ page_title }} """ + SITEINFO_TAG + """</title> 126 126 <meta name="robots" content="{{ robots }}" /> 127 127 <meta name="keywords" content="{{ page_keywords }}" /> … … 158 158 TEST_CSS_FILEPATH: { 159 159 "description": "CSS file for unittests.", 160 "content": ".test1 { color: red; } /* "+SITEINFO_TAG+" */",160 "content": ".test1 { color: #ff0000; } /* " + SITEINFO_TAG + " */", 161 161 }, 162 162 TEST_JS_FILEPATH: { … … 168 168 "unittest_design": { 169 169 "template_name": "site_template/normal.html", 170 "headfiles": (TEST_CSS_FILEPATH, TEST_JS_FILEPATH),170 "headfiles": (TEST_CSS_FILEPATH, TEST_JS_FILEPATH), 171 171 }, 172 172 } … … 216 216 user.is_superuser = is_superuser 217 217 user.save() 218 if verbosity >=2:218 if verbosity >= 2: 219 219 print "Test user %r created." % user 220 220 return user 221 221 222 222 for usertype, userdata in TEST_USERS.iteritems(): 223 223 user = create_user(verbosity, **userdata) … … 229 229 for template_name, data in template_dict.iteritems(): 230 230 template, created = Template.objects.get_or_create( 231 name = template_name, defaults =data231 name=template_name, defaults=data 232 232 ) 233 233 if created: 234 234 template.content = template.content.replace(SITEINFO_TAG, site.name) 235 235 template.save() 236 if verbosity >=2:236 if verbosity >= 2: 237 237 print("template '%s' created" % template_name) 238 elif verbosity >=2:238 elif verbosity >= 2: 239 239 print("template '%s' exist" % template_name) 240 241 if verbosity >=2:240 241 if verbosity >= 2: 242 242 print("add template on site: %s" % site.name) 243 243 template.sites.add(site) 244 244 245 245 template_map[template_name] = template 246 246 return template_map … … 251 251 for filepath, data in headfile_dict.iteritems(): 252 252 headfile = EditableHtmlHeadFile( 253 filepath =filepath,254 description =data["description"],255 content =data["content"],253 filepath=filepath, 254 description=data["description"], 255 content=data["content"], 256 256 ) 257 257 headfile.save() 258 258 headfile.site.add(site) 259 if verbosity >=2:259 if verbosity >= 2: 260 260 print("EditableStaticFile '%s' created on site: %s" % (filepath, site.name)) 261 262 headfile_map[filepath +site.name] = headfile261 262 headfile_map[filepath + site.name] = headfile 263 263 return headfile_map 264 264 265 265 266 def create_design(verbosity, design_dict, site, template_map, headfile_map): 266 def create_design(verbosity, design_dict, site, template_map, headfile_map): 267 267 design_map = {} 268 268 for design_name, data in design_dict.iteritems(): … … 270 270 assert template_name in template_map 271 271 design, created = Design.objects.get_or_create( 272 name = design_name, defaults = {"template": template_name,} 273 ) 274 if created: 275 design.save() 276 design.site.add(site) 277 if verbosity>=2: 278 print("design '%s' created." % design_name) 279 # Add headfiles 280 for filename in data["headfiles"]: 281 headfile = headfile_map[filename+site.name] 282 design.headfiles.add(headfile) 283 if verbosity>=2: 284 print("Add headfile '%s'." % headfile) 285 design.save() 286 elif verbosity>=2: 272 name=design_name, defaults={"template": template_name, } 273 ) 274 design.site.add(site) 275 if verbosity >= 2: 276 if created: 277 print("Design '%s' created." % design_name) 278 else: 287 279 print("Design '%s' exist." % design_name) 288 280 281 # Add headfiles 282 for filename in data["headfiles"]: 283 headfile = headfile_map[filename + site.name] 284 design.headfiles.add(headfile) 285 if verbosity >= 2: 286 print("Add headfile '%s'." % headfile) 287 design.save() 288 289 289 design_map[design_name] = design 290 290 return design_map … … 303 303 for page_data in pages: 304 304 slug = page_data["slug"] 305 305 306 306 #____________________________________________________ 307 307 if "plugin" in page_data: … … 309 309 else: 310 310 page_type = PageTree.PAGE_TYPE 311 311 312 312 tree_entry, created = PageTree.objects.get_or_create( 313 313 site=site, slug=slug, parent=parent, … … 318 318 ) 319 319 url = tree_entry.get_absolute_url() 320 if verbosity >=2:320 if verbosity >= 2: 321 321 if created: 322 322 #tree_entry.save() … … 324 324 else: 325 325 print("PageTree '%s' exist." % url) 326 326 327 327 # Create PageMeta, PageContent for the PageTree entry in all test languages 328 328 for language in TestLanguages(): 329 329 # Create PageMeta: 330 330 default_dict = create_meta(slug=tree_entry.slug, lang_code=language.code, site_name=site.name, 331 keys =("title", "description", "keywords")331 keys=("title", "description", "keywords") 332 332 ) 333 333 pagemeta_entry, created = PageMeta.objects.get_or_create( 334 page = tree_entry, lang =language,335 defaults =default_dict334 page=tree_entry, lang=language, 335 defaults=default_dict 336 336 ) 337 if verbosity >=2:337 if verbosity >= 2: 338 338 if created: 339 339 #pagemeta_entry.save() … … 345 345 # It's a plugin page 346 346 pluginpage, created = PluginPage.objects.get_or_create( 347 page =tree_entry,348 lang =language,349 defaults ={"pagemeta": pagemeta_entry, "app_label": page_data["plugin"]},347 page=tree_entry, 348 lang=language, 349 defaults={"pagemeta": pagemeta_entry, "app_label": page_data["plugin"]}, 350 350 ) 351 if verbosity >=2:351 if verbosity >= 2: 352 352 if created: 353 353 print("PluginPage '%s' created." % pluginpage) … … 357 357 # Create PageContent: 358 358 default_dict = create_meta(slug=tree_entry.slug, lang_code=language.code, site_name=site.name, 359 keys =("content",)359 keys=("content",) 360 360 ) 361 361 default_dict["markup"] = PageContent.MARKUP_CREOLE 362 362 content_entry, created = PageContent.objects.get_or_create( 363 page =tree_entry,364 lang =language,365 pagemeta =pagemeta_entry,366 defaults =default_dict363 page=tree_entry, 364 lang=language, 365 pagemeta=pagemeta_entry, 366 defaults=default_dict 367 367 ) 368 368 content_entry.content = content_entry.content.replace(SITEINFO_TAG, site.name) 369 369 content_entry.save() 370 if verbosity >=2:370 if verbosity >= 2: 371 371 if created: 372 372 print("PageContent '%s' created." % content_entry) 373 373 else: 374 374 print("PageContent '%s' exist." % content_entry) 375 375 376 376 if "sub-pages" in page_data: 377 if verbosity >=2:377 if verbosity >= 2: 378 378 print "--- create sub pages ---" 379 379 create_pages(verbosity, design_map, site, 380 380 pages=page_data["sub-pages"], parent=tree_entry 381 381 ) 382 if verbosity >=2:382 if verbosity >= 2: 383 383 print "---" 384 384 … … 391 391 headfile_map = create_headfiles(verbosity, TEST_HEADFILES, site) 392 392 design_map = create_design(verbosity, TEST_DESIGNS, site, template_map, headfile_map) 393 393 394 394 # Create PageTree, PageMeta and PageContent in every test language 395 395 create_pages(verbosity, design_map, site, pages=TEST_PAGES) 396 397 396 397 398 398 #def get_fake_request(usertype): 399 399 # """ Create a fake HttpRequest instance. Needed in some UpdateInfoBaseModel save() methods """ … … 405 405 def create_pylucid_test_data(site=None, verbosity=True): 406 406 """ create complete test data for "running" PyLucid """ 407 if verbosity >=2:407 if verbosity >= 2: 408 408 print "\nCreate complete test data for 'running' PyLucid" 409 409 410 410 create_testusers(verbosity) 411 411 412 412 # request = get_fake_request(usertype="superuser") 413 413 414 414 for site in TestSites(verbosity): 415 415 if verbosity: 416 416 print("------------------------------------") 417 417 print("create test data for site: %r" % site) 418 418 419 419 create_test_data(site, verbosity) 420 420 … … 426 426 if __name__ == "__main__": 427 427 from django.db import connection 428 428 429 429 db_name = connection.creation.create_test_db(verbosity=True, autoclobber=False) 430 430 print "\nTest database '%s' created" % db_name 431 create_pylucid_test_data( )431 create_pylucid_test_data(verbosity=2)