Skip to content

Commit

Permalink
change code
Browse files Browse the repository at this point in the history
  • Loading branch information
zzzz465 committed Mar 25, 2019
1 parent d8c9a15 commit 3eddf1c
Showing 1 changed file with 23 additions and 29 deletions.
52 changes: 23 additions & 29 deletions core/Modmanager.py
Original file line number Diff line number Diff line change
@@ -1,12 +1,15 @@
import logging
import os
import tkinter as tkinter
from winreg import OpenKey, QueryValueEx # for steam folder location.
from winreg import OpenKey, QueryValueEx, HKEY_CURRENT_USER # for steam folder location.
import xml.etree.ElementTree as ET
from time import sleep
from lxml import etree
import downloader
import RWmanager
try: #FIXME for testing. should be removed.
from core import downloader, RWmanager, Loghandler

except:
import downloader, RWmanager, Loghandler

log = logging.getLogger('RAMS.ModManager')
c_steamregpath = "Software\\Valve\\Steam"
Expand Down Expand Up @@ -77,8 +80,6 @@ def update_config(dir1, mod):
for x in mod:
try:
list1.append(str(x.MODkey))
log.info('Record Mod > {}'.format(str(x.MODname)))
sleep(0.1)

except Exception as e:
log.warning('Error while loading Mod {} to order list.'.format(x.MODname))
Expand All @@ -104,16 +105,14 @@ def config_updater(cfdir, Mods):
root = doc.getroot()

log.info('initializing config file...')
sleep(2)
root.remove(root.find('activeMods')) # remove activemods tag and below
ActiveMods = ET.SubElement(root, 'activeMods') # make a tag

log.info('overriding mod lists...')
for x in Mods:
mod = ET.SubElement(ActiveMods, 'li')
mod.text = str(x)

sleep(3)

doc.write('ModsConfig.xml', encoding='UTF-8', xml_declaration='False')
log.info('ModsConfig.xml saved...')

Expand All @@ -125,10 +124,10 @@ def getSteampath():
log.debug('call getSteampath')
try:
steamreg = OpenKey(HKEY_CURRENT_USER, c_steamregpath)
log.debug('steamreg = ' + steamreg)
log.debug('steamreg = ' + str(steamreg))
try:
value = QueryValueEx(steamreg, "SteamPath")
log.debug('value : ' + value)
log.debug('value : ' + str(value))
return value[0]

except:
Expand All @@ -142,7 +141,7 @@ def getSteampath():
class ModBase:
DB = dict()#DB저장
ActiveModlist = list() # modkey 저장(활성화)
ConfigXmlpath = str() #컨픽파일 경로 저장
ConfigXmlpath = default_cfilepath #컨픽파일 경로 저장
Configxmlfolderpath = str()
Steampath = getSteampath() # steam path or None
LocalModpath = str()
Expand All @@ -154,19 +153,17 @@ def setDB(cls, DB):

@classmethod
def setXmlpath(cls):#call in Modbase.__init__()
if os.path.exists(default_cfilepath):

if os.path.isfile(cls.ConfigXmlpath):
cls.ConfigXmlpath = default_cfilepath
cls.Configxmlfolderpath = default_cfilepath[:len(cls.ConfigXmlpath) - 15]

else:
cls.Configxmlfolderpath = RWmanager.askfiledir("select ModsConfig.xml", [('ModsConfig.Xml', '*.*')])
cls.Configxmlfolderpath = default_cfilepath[:len(cls.ConfigXmlpath) - 15]
if os.path.isfile(cls.ConfigXmlpath):
cls.ConfigXmlpath = default_cfilepath
cls.Configxmlfolderpath = os.path.dirname(default_cfilepath)

else:
cls.Configxmlfolderpath = RWmanager.askfiledir("select ModsConfig.xml", [('ModsConfig.Xml', '*.*')])
cls.Configxmlfolderpath = default_cfilepath[:len(cls.ConfigXmlpath) - 15] #TODO need clean up
path = RWmanager.askfiledir("select ModsConfig.xml", [('ModsConfig.Xml', '*.*')])
cls.Configxmlfolderpath = path
cls.Configxmlfolderpath = os.path.dirname(path)

log.debug('XML path : {} | XML folder path : {}'.format(cls.ConfigXmlpath, cls.Configxmlfolderpath))


@classmethod
def setLocalPath(cls):
Expand Down Expand Up @@ -199,13 +196,10 @@ def setinit(cls): #TODO merge DB setting and this
Always run first before sorting.\n
find activate mod list, set local/workshop path.
'''
log.debug('start MODbase __init__')
ModBase.setXmlpath()
root = RWmanager.LoadXML(ModBase.ConfigXmlpath)
ModBase.ActiveModlist = RWmanager.LoadActMod(root)
sleep(2)
log.info('Active mod list loaded.')
sleep(1)
log.info('current active mod number = {}'.format(len(ModBase.ActiveModlist)))

ModBase.setLocalPath()
Expand Down Expand Up @@ -263,7 +257,6 @@ def Sort(cls): # 항상 마지막에 호출


def SetOrderNum(self):
sleep(0.08)
if self.MODname in Mod.DB:
num = Mod.DB[self.MODname]
log.debug("grant mod number {} to mod name > {}".format(num, self.MODname))
Expand All @@ -282,10 +275,11 @@ def __init__(self, modkey, moddir):
super().__init__(modkey, moddir)

if __name__ == '__main__': # for testing


log = logging.getLogger()

log.setLevel(logging.DEBUG)

ModBase.setinit()

x = RWmanager.askfolderdir()
DB = downloader.download_DB()
#ModBase.setDB(DB)
Expand Down

0 comments on commit 3eddf1c

Please sign in to comment.