def process_no_cmd(self): if self._next_templates_update_at is not None and datetime.datetime.now() > self._next_templates_update_at: self.logger.info('update templates errors status') logic.update_templates_errors() self._next_templates_update_at = None if self._next_words_update_at is not None and datetime.datetime.now() > self._next_words_update_at: self.logger.info('update words_usage_info') logic.update_words_usage_info() self._next_words_update_at = None
def process_no_cmd(self): if self._next_templates_update_at is not None and datetime.datetime.now( ) > self._next_templates_update_at: self.logger.info('update templates errors status') logic.update_templates_errors() self._next_templates_update_at = None if self._next_words_update_at is not None and datetime.datetime.now( ) > self._next_words_update_at: self.logger.info('update words_usage_info') logic.update_words_usage_info() self._next_words_update_at = None
def test_update_words_usage_info__ignore_duplicates(self): word_1 = prototypes.WordPrototype.create(utg_words.Word.create_test_word(type=utg_relations.WORD_TYPE.NOUN, prefix=u'w-1-', only_required=True)) word_2 = prototypes.WordPrototype.create(utg_words.Word.create_test_word(type=utg_relations.WORD_TYPE.NOUN, prefix=u'w-2-', only_required=True)) word_3 = prototypes.WordPrototype.create(utg_words.Word.create_test_word(type=utg_relations.WORD_TYPE.NOUN, prefix=u'w-3-', only_required=True)) key = keys.LEXICON_KEY.HERO_COMMON_JOURNAL_LEVEL_UP word_1.utg_word.forms[1] = word_1.utg_word.forms[0] word_1.save() text_1 = u'[w-1-нс,ед,им|hero]' text_2 = u'[w-1-нс,ед,им|hero] [w-2-нс,ед,им|hero]' utg_template = utg_templates.Template() utg_template.parse(text_1, externals=['hero', 'level']) template = prototypes.TemplatePrototype.create(key=key, raw_template=text_1, utg_template=utg_template, verificators=[], author=None) template.state = relations.TEMPLATE_STATE.IN_GAME template.save() utg_template = utg_templates.Template() utg_template.parse(text_2, externals=['hero', 'level']) template = prototypes.TemplatePrototype.create(key=key, raw_template=text_2, utg_template=utg_template, verificators=[], author=None) self.assertTrue(template.state.is_ON_REVIEW) utg_template = utg_templates.Template() utg_template.parse(text_2, externals=['hero', 'level']) template = prototypes.TemplatePrototype.create(key=key, raw_template=text_2, utg_template=utg_template, verificators=[], author=None) self.assertTrue(template.state.is_ON_REVIEW) logic.update_words_usage_info() word_1.reload() word_2.reload() word_3.reload() self.assertEqual(word_1.used_in_ingame_templates, 1) self.assertEqual(word_1.used_in_onreview_templates, 2) self.assertTrue(word_1.used_in_status.is_IN_INGAME_TEMPLATES) self.assertEqual(word_2.used_in_ingame_templates, 0) self.assertEqual(word_2.used_in_onreview_templates, 2) self.assertTrue(word_2.used_in_status.is_IN_ONREVIEW_TEMPLATES) self.assertEqual(word_3.used_in_ingame_templates, 0) self.assertEqual(word_3.used_in_onreview_templates, 0) self.assertTrue(word_3.used_in_status.is_NOT_USED)
def handle(self, *args, **options): print print 'UPDATE MAP' print run_django_command(['map_update_map']) print print 'UPDATE LINGUISTICS' linguistics_logic.sync_static_restrictions() linguistics_logic.update_templates_errors() linguistics_logic.update_words_usage_info() print print 'SYNC MARKET' run_django_command(['market_sync_goods']) print print 'SYNC SOCIAL CONNECTIONS' persons_logic.sync_social_connections() print print 'SYNC ACTUAL BILLS' bills_logic.update_actual_bills_for_all_accounts() print print 'REMOVE OLD SDN INFO' if portal_settings.SETTINGS_CDN_INFO_KEY in settings: del settings[portal_settings.SETTINGS_CDN_INFO_KEY] if portal_settings.SETTINGS_PREV_CDN_SYNC_TIME_KEY in settings: del settings[portal_settings.SETTINGS_PREV_CDN_SYNC_TIME_KEY] print print 'SYNC GROUPS AND PERMISSIONS' print sync_group('content group', ['cms.add_page', 'cms.change_page', 'cms.delete_page', 'news.add_news', 'news.change_news', 'news.delete_news']) sync_group(forum_settings.MODERATOR_GROUP_NAME, ['forum.moderate_thread', 'forum.moderate_post']) sync_group('bills moderators group', ['bills.moderate_bill']) sync_group('developers group', ['mobs.moderate_mobrecord', 'artifacts.moderate_artifactrecord', 'linguistics.moderate_word', 'linguistics.moderate_template', 'linguistics.edit_template']) sync_group('folclor moderation group', ['blogs.moderate_post']) sync_group('mobs & artifacts create group', ['mobs.create_mobrecord', 'artifacts.create_artifactrecord']) sync_group('accounts moderators group', ['accounts.moderate_account']) sync_group('collections editors group', ['collections.edit_collection', 'collections.edit_kit', 'collections.edit_item']) sync_group('collections moderators group', ['collections.moderate_collection', 'collections.moderate_kit', 'collections.moderate_item']) sync_group('achievements editors group', ['achievements.edit_achievement']) sync_group(linguistics_settings.MODERATOR_GROUP_NAME, ['linguistics.moderate_word', 'linguistics.moderate_template', 'linguistics.edit_template']) sync_group(linguistics_settings.EDITOR_GROUP_NAME, ['linguistics.moderate_word', 'linguistics.edit_template'])
def handle(self, *args, **options): print() print('UPDATE MAP') print() run_django_command(['map_update_map']) print() print('UPDATE LINGUISTICS') linguistics_logic.sync_static_restrictions() linguistics_logic.update_templates_errors() linguistics_logic.update_words_usage_info() print() print('SYNC ACTUAL BILLS') bills_logic.update_actual_bills_for_all_accounts() print() print('REFRESH ATTRIBUTES') places_logic.refresh_all_places_attributes() persons_logic.refresh_all_persons_attributes() print() print('REMOVE OLD CDN INFO') if portal_settings.SETTINGS_CDN_INFO_KEY in settings: del settings[portal_settings.SETTINGS_CDN_INFO_KEY] if portal_settings.SETTINGS_PREV_CDN_SYNC_TIME_KEY in settings: del settings[portal_settings.SETTINGS_PREV_CDN_SYNC_TIME_KEY] print() print('SYNC GROUPS AND PERMISSIONS') print() sync_group('content group', ['news.add_news', 'news.change_news', 'news.delete_news']) sync_group(forum_settings.MODERATOR_GROUP_NAME, ['forum.moderate_thread', 'forum.moderate_post']) sync_group('bills moderators group', ['bills.moderate_bill']) sync_group('developers group', [ 'mobs.moderate_mobrecord', 'artifacts.moderate_artifactrecord', 'linguistics.moderate_word', 'linguistics.moderate_template', 'linguistics.edit_template' ]) sync_group('folclor moderation group', ['blogs.moderate_post']) sync_group( 'mobs & artifacts create group', ['mobs.create_mobrecord', 'artifacts.create_artifactrecord']) sync_group('accounts moderators group', ['accounts.moderate_account']) sync_group('clans moderators group', ['clans.moderate_clan']) sync_group('collections editors group', [ 'collections.edit_collection', 'collections.edit_kit', 'collections.edit_item' ]) sync_group('collections moderators group', [ 'collections.moderate_collection', 'collections.moderate_kit', 'collections.moderate_item' ]) sync_group('achievements editors group', ['achievements.edit_achievement']) sync_group(linguistics_settings.MODERATOR_GROUP_NAME, [ 'linguistics.moderate_word', 'linguistics.moderate_template', 'linguistics.edit_template' ]) sync_group(linguistics_settings.EDITOR_GROUP_NAME, ['linguistics.moderate_word', 'linguistics.edit_template'])