Example #1
0
    def getFaves(self):
        file = os.path.join(self.FULLPATH, FILENAME).decode('utf-8')
        faves = []

        index = 0

        label_numeric = LABEL_NUMERIC
        if self.MODE == 'folder':
            folderCfg = os.path.join(self.FULLPATH, FOLDERCFG)
            numeric = parameters.getParam('NUMERICAL', folderCfg)
            if numeric:
                label_numeric = numeric.lower() == 'true'

        if label_numeric:
            label_numeric = LABEL_NUMERIC_QL

        if self.MODE != 'xbmc':
            try:
                current, dirs, files = sfile.walk(self.FULLPATH)

                dirs = sorted(dirs, key=str.lower)

                for dir in dirs:
                    path = os.path.join(self.FULLPATH, dir)

                    folderCfg = os.path.join(path, FOLDERCFG)
                    folderCfg = parameters.getParams(folderCfg)
                    lock = parameters.getParam('LOCK', folderCfg)
                    if lock:
                        continue
                    colour = parameters.getParam('COLOUR', folderCfg)
                    thumb = getFolderThumb(path)

                    label = dir

                    if colour and colour.lower() <> 'none':
                        label = '[COLOR %s]%s[/COLOR]' % (colour, label)

                    label, index = utils.addPrefixToLabel(
                        index, label, label_numeric)

                    fave = [label, thumb, os.path.join(self.PATH, dir), True]
                    faves.append(fave)

            except Exception, e:
                pass
Example #2
0
    def getFaves(self):
        file  = os.path.join(self.FULLPATH, FILENAME).decode('utf-8')        
        faves = []        

        index = 0

        label_numeric = LABEL_NUMERIC 
        if self.MODE == 'folder':    
            folderCfg = os.path.join(self.FULLPATH, FOLDERCFG)
            numeric = parameters.getParam('NUMERICAL', folderCfg)
            if numeric:
                label_numeric = numeric.lower() == 'true'

        if label_numeric:
            label_numeric = LABEL_NUMERIC_QL

        if self.MODE != 'xbmc':        
            try:    
                current, dirs, files = sfile.walk(self.FULLPATH)

                dirs = sorted(dirs, key=str.lower)

                for dir in dirs:
                    path = os.path.join(self.FULLPATH, dir)
                                   
                    folderCfg = os.path.join(path, FOLDERCFG)
                    folderCfg = parameters.getParams(folderCfg)
                    lock      = parameters.getParam('LOCK',   folderCfg)
                    if lock:
                        continue
                    colour    = parameters.getParam('COLOUR', folderCfg)
                    thumb     = getFolderThumb(path)               

                    label = dir
                
                    if colour and colour.lower() <> 'none':
                        label = '[COLOR %s]%s[/COLOR]' % (colour, label)
              
                    label, index = utils.addPrefixToLabel(index, label, label_numeric)
                
                    fave = [label, thumb, os.path.join(self.PATH, dir),  True]
                    faves.append(fave)
                
            except Exception, e:
                pass
    def getFaves(self):
        file = os.path.join(self.FULLPATH, FILENAME).decode('utf-8')
        faves = []

        index = 0

        label_numeric = LABEL_NUMERIC
        if self.MODE == 'folder':
            folderCfg = os.path.join(self.FULLPATH, FOLDERCFG)
            numeric = parameters.getParam('NUMERICAL', folderCfg)
            if numeric:
                label_numeric = numeric.lower() == 'true'

        if label_numeric:
            label_numeric = LABEL_NUMERIC_QL

        if self.MODE != 'xbmc':
            try:
                current, dirs, files = sfile.walk(self.FULLPATH)

                dirs = sorted(dirs, key=str.lower)

                for dir in dirs:
                    path = os.path.join(self.FULLPATH, dir)

                    folderCfg = os.path.join(path, FOLDERCFG)
                    folderCfg = parameters.getParams(folderCfg)
                    lock = parameters.getParam('LOCK', folderCfg)
                    if lock:
                        continue
                    colour = parameters.getParam('COLOUR', folderCfg)
                    thumb = getFolderThumb(path)

                    label = dir

                    if colour and colour.lower() <> 'none':
                        label = '[COLOR %s]%s[/COLOR]' % (colour, label)

                    label, index = utils.addPrefixToLabel(
                        index, label, label_numeric)

                    fave = [label, thumb, os.path.join(self.PATH, dir), True]
                    faves.append(fave)

            except Exception as e:
                pass

        items = favourite.getFavourites(file, chooser=True)

        sortorder = 0

        if self.MODE == 'folder':
            folderCfg = os.path.join(self.FULLPATH, FOLDERCFG)

            try:
                sortorder = int(parameters.getParam('SORT', folderCfg))
            except:
                sortorder = 0

        if sortorder == 0:
            sortorder = 1 if ALPHA_SORT else 2

        if sortorder == 1:  #ALPHA_SORT:
            items = sorted(items, key=lambda x: utils.CleanForSort(x))

        if not label_numeric:
            faves.extend(items)
        else:
            for fave in items:
                label = fave[0]
                thumb = fave[1]
                cmd = fave[2]

                label, index = utils.addPrefixToLabel(index, label,
                                                      label_numeric)

                faves.append([label, thumb, cmd])

        return faves
Example #4
0
class Main:
    def __init__(self,
                 property=None,
                 path='',
                 changeTitle=False,
                 includePlay=False):
        xbmcgui.Window(10000).setProperty('Super_Favourites_Chooser', 'true')
        if property:
            self.init(property, path, changeTitle, includePlay)
        else:
            self._parse_argv()

        faves = self.getFaves()
        MyDialog(faves, self.PROPERTY, self.CHANGETITLE, self.PATH, self.MODE,
                 self.INCLUDEPLAY)

    def _parse_argv(self):
        try:
            params = dict(arg.split('=') for arg in sys.argv[1].split('&'))
        except:
            params = {}

        path = params.get('path', '')
        property = params.get('property', '')
        changeTitle = params.get('changetitle', '').lower() == 'true'
        includePlay = params.get('includePlay', '').lower() == 'true'

        path = path.replace('SF_AMP_SF', '&')

        self.init(property, path, changeTitle, includePlay)

    def init(self, property, path, changeTitle, includePlay):
        self.PATH = path
        self.PROPERTY = property
        self.CHANGETITLE = changeTitle
        self.INCLUDEPLAY = includePlay

        self.MODE = 'folder' if len(self.PATH) > 0 else 'root'

        if self.PATH == 'special://profile/':
            self.MODE = 'xbmc'
            self.FULLPATH = self.PATH
        else:
            self.FULLPATH = os.path.join(utils.PROFILE, self.PATH)

        self.FULLPATH = urllib.unquote_plus(self.FULLPATH)

    def getFaves(self):
        file = os.path.join(self.FULLPATH, FILENAME).decode('utf-8')
        faves = []

        index = 0

        label_numeric = LABEL_NUMERIC
        if self.MODE == 'folder':
            folderCfg = os.path.join(self.FULLPATH, FOLDERCFG)
            numeric = parameters.getParam('NUMERICAL', folderCfg)
            if numeric:
                label_numeric = numeric.lower() == 'true'

        if label_numeric:
            label_numeric = LABEL_NUMERIC_QL

        if self.MODE != 'xbmc':
            try:
                current, dirs, files = sfile.walk(self.FULLPATH)

                dirs = sorted(dirs, key=str.lower)

                for dir in dirs:
                    path = os.path.join(self.FULLPATH, dir)

                    folderCfg = os.path.join(path, FOLDERCFG)
                    folderCfg = parameters.getParams(folderCfg)
                    lock = parameters.getParam('LOCK', folderCfg)
                    if lock:
                        continue
                    colour = parameters.getParam('COLOUR', folderCfg)
                    thumb = getFolderThumb(path)

                    label = dir

                    if colour and colour.lower() <> 'none':
                        label = '[COLOR %s]%s[/COLOR]' % (colour, label)

                    label, index = utils.addPrefixToLabel(
                        index, label, label_numeric)

                    fave = [label, thumb, os.path.join(self.PATH, dir), True]
                    faves.append(fave)

            except Exception, e:
                pass

        items = favourite.getFavourites(file, chooser=True)

        sortorder = 0

        if self.MODE == 'folder':
            folderCfg = os.path.join(self.FULLPATH, FOLDERCFG)

            try:
                sortorder = int(parameters.getParam('SORT', folderCfg))
            except:
                sortorder = 0

        if sortorder == 0:
            sortorder = 1 if ALPHA_SORT else 2

        if sortorder == 1:  #ALPHA_SORT:
            items = sorted(items, key=lambda x: utils.CleanForSort(x))

        if not label_numeric:
            faves.extend(items)
        else:
            for fave in items:
                label = fave[0]
                thumb = fave[1]
                cmd = fave[2]

                label, index = utils.addPrefixToLabel(index, label,
                                                      label_numeric)

                faves.append([label, thumb, cmd])

        return faves