-# version 2020.10.28.0117
+# version 2020.10.28.1539
+from novakid.backend.db.utils import exists
from novakid.backend.utils.other import log2console
-from novakid.backend.student_game_profile.models import GameProfileModel
+from novakid.backend.student_game_profile.models import GameProfileModel, ItemTransactionLogModel
from novakid.backend.student_game_profile.models_processes import create_items_transactions_by_starter_rules
-def add_starter_kit(request, dry_run=True):
+def add_starter_kit(request, dry_run=True, logprint=False):
log2console(f'add_starter_kit: dry_run={dry_run}')
query = db_session.query(
+ query_log = db_session.query(ItemTransactionLogModel)
for profile_id in profiles_ids:
if profiles_all % 1000 == 0:
profile = query.get(profile_id)
- if profile.profile_items:
+ profile_id = profile.student_id
+ query_log = db_session.query(
+ ItemTransactionLogModel
+ ItemTransactionLogModel.profile_id == profile_id,
+ ItemTransactionLogModel.evidence.like('starter_rule:%')
create_items_transactions_by_starter_rules(request, profile_id=profile.student_id)
db_session.refresh(profile)
- log2console(f'{[(profile.student_id, x.item.label, x.item_id, x.balance) for x in profile.profile_items]}')
+ pres = [(profile.student_id, x.item.label, x.item_id, x.balance) for x in profile.profile_items]
log2console(f'profiles_all: {profiles_all}')
log2console(f'profiles_found: {profiles_found}')
log2console(f'profiles_started: {profiles_started}')