NovaBryan/EVE_Dump
Log | Files | 📦 下载最新源码 (.zip) | Refs | README

migration.py (4433B)


      1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\packages\dogma\effects\migration.py
      2 from __future__ import print_function
      3 import yaml
      4 import dogma.data as dogma_data
      5 from fsd import AbsJoin, GetBranchRoot
      6 changeID = 133610
      7 _userid = 1000012
      8 
      9 def check_all_effects():
     10     effectCompiler = sm.GetService('effectCompiler')
     11     res = []
     12     for effect in dogma_data.get_all_effects():
     13         effectID = effect.effectID
     14         if not effect.modifierInfo and not effectCompiler.IsEffectPythonOverridden(effectID):
     15             res.append(effectID)
     16 
     17     print(res)
     18 
     19 
     20 def firstChange():
     21     db = sm.GetService('DB2')
     22     bsdService = sm.GetService('BSD')
     23     x = {641: 54,
     24      649: 55,
     25      658: 53,
     26      664: 74}
     27     for expressionID, expressionGroupID in x.items():
     28         sqlRes = db.SQL('select revisionID from dogma.expressions where expressionID={}'.format(expressionID))
     29         revisionID = next(iter(sqlRes)).revisionID
     30         bsdService.RevisionEdit(_userid, changeID, revisionID, expressionGroupID=54)
     31 
     32     sqlRes = db.SQL('select revisionID from dogma.expressions where expressionID=6742')
     33     revisionID = next(iter(sqlRes)).revisionID
     34     bsdService.RevisionEdit(_userid, changeID, revisionID, arg2=3488)
     35 
     36 
     37 def get_required_skill_string(modifierInfo):
     38     res = '-  domain: {}\n'.format(modifierInfo['domain'])
     39     res += '   func: {}\n'.format(modifierInfo['func'])
     40     res += '   modifiedAttributeID: {}\n'.format(modifierInfo['modifiedAttributeID'])
     41     res += '   modifyingAttributeID: {}\n'.format(modifierInfo['modifyingAttributeID'])
     42     res += '   operator: {}\n'.format(modifierInfo['operator'])
     43     res += '   skillTypeID: {}'.format(modifierInfo['skillTypeID'])
     44     return res
     45 
     46 
     47 def get_item_modifier_string(modifierInfo):
     48     res = '-  domain: {}\n'.format(modifierInfo['domain'])
     49     res += '   func: {}\n'.format(modifierInfo['func'])
     50     res += '   modifiedAttributeID: {}\n'.format(modifierInfo['modifiedAttributeID'])
     51     res += '   modifyingAttributeID: {}\n'.format(modifierInfo['modifyingAttributeID'])
     52     res += '   operator: {}'.format(modifierInfo['operator'])
     53     return res
     54 
     55 
     56 def get_location_group_string(modifierInfo):
     57     res = '-  domain: {}\n'.format(modifierInfo['domain'])
     58     res += '   func: {}\n'.format(modifierInfo['func'])
     59     res += '   groupID: {}\n'.format(modifierInfo['groupID'])
     60     res += '   modifiedAttributeID: {}\n'.format(modifierInfo['modifiedAttributeID'])
     61     res += '   modifyingAttributeID: {}\n'.format(modifierInfo['modifyingAttributeID'])
     62     res += '   operator: {}'.format(modifierInfo['operator'])
     63     return res
     64 
     65 
     66 def get_location_modifier(modifierInfo):
     67     res = '-  domain: {}\n'.format(modifierInfo['domain'])
     68     res += '   func: {}\n'.format(modifierInfo['func'])
     69     res += '   modifiedAttributeID: {}\n'.format(modifierInfo['modifiedAttributeID'])
     70     res += '   modifyingAttributeID: {}\n'.format(modifierInfo['modifyingAttributeID'])
     71     res += '   operator: {}'.format(modifierInfo['operator'])
     72     return res
     73 
     74 
     75 def secondChange():
     76     path = AbsJoin(GetBranchRoot(), 'packages', 'dogma', 'effects', 'modifier_data.yaml')
     77     db = sm.GetService('DB2')
     78     bsdService = sm.GetService('BSD')
     79     with open(path, 'r') as f:
     80         modifier_info_by_effect = yaml.load(f)
     81         print('begin')
     82         for effectID, modifierInfos in modifier_info_by_effect.items():
     83             res = ''
     84             sqlRes = db.SQL('select * from dogma.effects where effectID={}'.format(effectID))
     85             revisionID = next(iter(sqlRes)).revisionID
     86             for modifierInfo in modifierInfos:
     87                 if not res == '':
     88                     res += '\n'
     89                 func = modifierInfo['func']
     90                 if func == 'LocationRequiredSkillModifier' or func == 'OwnerRequiredSkillModifier':
     91                     x = get_required_skill_string(modifierInfo)
     92                 elif func == 'ItemModifier' or func == 'LocationModifier':
     93                     x = get_item_modifier_string(modifierInfo)
     94                 elif func == 'LocationGroupModifier':
     95                     x = get_location_group_string(modifierInfo)
     96                 else:
     97                     raise RuntimeError('func name ({}) does not match any of the modifier functions, effectID: {}'.format(modifierInfo['func'], effectID))
     98                 res += x
     99 
    100             bsdService.RevisionEdit(_userid, changeID, revisionID, modifierInfo=res)
    101 
    102         print('done')