Example #1
0
def startup_rejuv():
	yes_pressed=kodi.yesnoDialog(AddonTitle,"Please confirm that you wish you wipe clean your current configuration and reconfigure Kodi with the latest Computertechs Installer update!","                This will result in the loss of all your current data!")
	if yes_pressed:
		addonPath=xbmcaddon.Addon(id=AddonID).getAddonInfo('path')
		addonPath=xbmc.translatePath(addonPath)
		xbmcPath=os.path.join(addonPath,"..","..")
		xbmcPath=os.path.abspath(xbmcPath);
		#  Directories and sub directories not to remove but to sort through
		dir_exclude = ('addons', 'packages', 'userdata', 'Database')
		#  Directories and sub directories Directories to ignore and leave intact
		sub_dir_exclude = ('metadata.album.universal', 'metadata.artists.universal',
						 'service.xbmc.versioncheck','metadata.common.musicbrainz.org',
						 'metadata.common.imdb.com', 'plugin.video.nukewizard')
		#  Files to ignore and not to be removed
		file_exclude = ('Addons26.db', 'kodi.log', 'Textures13.db, Addons27.db')
		try:
			for (root, dirs, files) in os.walk(xbmcPath, topdown=True):
				dirs[:] = [dir for dir in dirs if dir not in sub_dir_exclude]
				files[:] = [file for file in files if file not in file_exclude]
				for folder in dirs:
					if folder not in dir_exclude: shutil.rmtree(os.path.join(root, folder))
				for file_name in files: os.remove(os.path.join(root, file_name))
		except Exception as e:
			kodi.log("Rejuv.startup_rejuv User files partially removed - " + str(e))

		rejuv_run.JUVWIZARD()
Example #2
0
def startup_rejuv():
    if kodi.yesnoDialog(
            "Please confirm that you wish you wipe clean your current configuration"
            "and reconfigure Kodi with the latest Config Wizard update!",
            "        This will result in the loss of all your current data!",
            '', AddonTitle):
        addonPath = kodi.addon.getAddonInfo('path')
        addonPath = xbmc.translatePath(addonPath)
        xbmcPath = os.path.join(addonPath, "..", "..")
        xbmcPath = os.path.abspath(xbmcPath)
        # Directories and sub directories not to remove but to sort through
        dir_exclude = ('addons', 'packages', 'userdata', 'Database', 'temp')
        #  Directories and sub directories Directories to ignore and leave intact
        sub_dir_exclude = [
            'metadata.album.universal', 'metadata.artists.universal',
            'service.xbmc.versioncheck', 'metadata.common.musicbrainz.org',
            'metadata.common.imdb.com', AddonID
        ]
        # if kodi.yesnoDialog(AddonTitle, "Do you wish to keep %s installed for convenience after the factory restore?"
        #                     % AddonTitle, '', nolabel='No', yeslabel='Yes'):
        #     sub_dir_exclude.extend([AddonID])
        #  Files to ignore and not to be removed
        file_exclude = ('kodi.log'
                        )  # , 'Textures13.db','Addons26.db',  'Addons27.db')
        db_vers = max(
            re.findall(
                'Addons\d+.db',
                str(os.listdir(xbmc.translatePath('special://database')))))
        file_exclude += db_vers
        try:
            for (root, dirs, files) in os.walk(xbmcPath, topdown=True):
                dirs[:] = [dir for dir in dirs if dir not in sub_dir_exclude]
                files[:] = [file for file in files if file not in file_exclude]
                for folder in dirs:
                    if folder not in dir_exclude:
                        try:
                            shutil.rmtree(os.path.join(root, folder))
                        except:
                            pass
                for file_name in files:
                    try:
                        os.remove(os.path.join(root, file_name))
                    except:
                        pass
        except Exception as e:
            kodi.log("Rejuv.startup_rejuv User files partially removed - " +
                     str(e))

        rejuv_run.JUVWIZARD()
Example #3
0
elif mode == 'adultlist':
    items = installer.List_Adult(url)

# #######################################################################################
elif mode == 'EnableRTMP':
    installer.EnableRTMP()

# ######  REJUVINATE  ###########
elif mode == 'call_rejuv':
    import rejuv
    rejuv.startup_rejuv()

elif mode == 'juvwizard':
    import rejuv_run
    rejuv_run.JUVWIZARD()

elif mode == 'BrowseUrl':
    xbmc.executebuiltin("XBMC.System.Exec(%s)" % url)

elif mode == 'enableall':
    addon_able.setall_enable()

# elif mode == 'teststuff':
#     freshstart.remove_db()
#######################################

elif mode == 'backup_restore':
    backup.backup_menu()

elif mode == 'full_backup':