A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://github.com/themix-project/themix-gui/commit/ec84e337d1e7e0188d4759eee6dc574cf2a9e832 below:

allow subdirs everywhere · themix-project/themix-gui@ec84e33 · GitHub

@@ -170,12 +170,15 @@ def _add_section(self, section, parent=None):

170 170

)

171 171 172 172

@staticmethod

173 -

def _format_dirname(preset, preset_dir, plugin_name=None):

173 +

def _format_dirname(preset, dirname, plugin_name=None, parent_dir=None):

174 174

dir_template = '{}: {}'

175 -

preset_relpath = (

176 -

preset.name[len(preset_dir):]

177 -

if plugin_name else preset.name

178 -

)

175 +

if parent_dir:

176 +

preset_relpath = preset.path[len('/'.join(parent_dir.split('/')[:-1])):]

177 +

else:

178 +

preset_relpath = (

179 +

preset.name[len(dirname):]

180 +

if plugin_name else preset.name

181 +

)

179 182

dir_display_name, _slash, item_display_name = preset_relpath.lstrip('/').partition('/')

180 183

if item_display_name:

181 184

dir_display_name = dir_template.format(

@@ -196,32 +199,60 @@ def _format_childname(preset_relpath):

196 199

return dir_display_name

197 200 198 201

def _add_presets( # pylint: disable=too-many-arguments

199 -

self, preset_dir, preset_list,

200 -

plugin_name=None, parent=None

202 +

self, dirname, preset_list,

203 +

plugin_name=None, parent=None, subdir_path=None

201 204

):

202 205

sorted_preset_list = sorted(preset_list, key=lambda x: x.name.lower())

203 206 204 207

first_preset = sorted_preset_list[0]

205 208

piter = self._add_preset(

206 -

display_name=self._format_dirname(first_preset, preset_dir, plugin_name),

209 +

display_name=self._format_dirname(

210 +

first_preset, dirname,

211 +

plugin_name=plugin_name,

212 +

parent_dir=subdir_path,

213 +

),

207 214

name=first_preset.name,

208 215

path=first_preset.path,

209 216

saveable=first_preset.is_saveable,

210 217

parent=parent

211 218

)

212 219 220 +

last_subdir = None

221 +

last_subdir_iter = None

213 222

for preset in sorted_preset_list[1:]:

214 -

display_name = self._format_childname((

215 -

preset.name[len(preset_dir):]

216 -

if preset_dir else preset.name

217 -

))

218 -

self._add_preset(

219 -

display_name=display_name,

220 -

name=preset.name,

221 -

path=preset.path,

222 -

saveable=preset.is_saveable,

223 -

parent=piter

224 -

)

223 +

if len(preset.name.split('/')) > 2:

224 +

preset_subdir = os.path.dirname(preset.path)

225 +

if preset_subdir != last_subdir:

226 +

last_subdir = preset_subdir

227 +

last_subdir_iter = self._add_preset(

228 +

display_name=self._format_dirname(

229 +

preset, dirname,

230 +

plugin_name=plugin_name,

231 +

parent_dir=last_subdir,

232 +

),

233 +

name=preset.name,

234 +

path=preset.path,

235 +

saveable=preset.is_saveable,

236 +

parent=piter

237 +

)

238 +

else:

239 +

self._add_presets(

240 +

dirname=dirname, preset_list=[preset],

241 +

parent=last_subdir_iter,

242 +

subdir_path=last_subdir

243 +

)

244 +

else:

245 +

display_name = self._format_childname((

246 +

preset.name[len(dirname):]

247 +

if dirname else preset.name

248 +

))

249 +

self._add_preset(

250 +

display_name=display_name,

251 +

name=preset.name,

252 +

path=preset.path,

253 +

saveable=preset.is_saveable,

254 +

parent=piter

255 +

)

225 256 226 257

def _load_system_presets(self, all_presets):

227 258

featured_dirs = ('Featured', )

@@ -234,7 +265,7 @@ def _load_system_presets(self, all_presets):

234 265

if preset_dir.startswith(PLUGIN_PATH_PREFIX):

235 266

continue

236 267

self._add_presets(

237 -

preset_dir=preset_dir, preset_list=preset_list,

268 +

dirname=preset_dir, preset_list=preset_list,

238 269

parent=presets_iter

239 270

)

240 271

if UI_SETTINGS.preset_list_sections_expanded.get(Sections.PRESETS.id, True):

@@ -278,7 +309,7 @@ def _load_plugin_presets(self, all_presets): # pylint: disable=too-many-locals

278 309

)

279 310

for dir_name, group in grouped_presets:

280 311

self._add_presets(

281 -

preset_dir=dir_name,

312 +

dirname=dir_name,

282 313

preset_list=group,

283 314

parent=plugin_presets_iter

284 315

)

@@ -292,7 +323,7 @@ def _load_user_presets(self, all_presets):

292 323

if preset_dir.startswith(PLUGIN_PATH_PREFIX):

293 324

continue

294 325

self._add_presets(

295 -

preset_dir=preset_dir, preset_list=preset_list,

326 +

dirname=preset_dir, preset_list=preset_list,

296 327

parent=user_presets_iter

297 328

)

298 329

if UI_SETTINGS.preset_list_sections_expanded.get(Sections.USER.id, True):


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4