Example #1
0
def index(action=None):
    quote = urllib.quote
    basename = os.path.basename

    root = request.GET.get('root', player.params.location)
    root = os.path.realpath(root)
    player.params.location = root
    title = '%s/' % os.path.basename(root)
    msg = ''

    dirnames = []
    filenames = []
    for root, dirnames, filenames in os.walk(root):
        break
    dirnames = [os.path.join(root, d) for d in dirnames \
                    if not d.startswith('.')]
    filenames = [os.path.join(root, d) for d in sorted(filenames) \
            if not d.startswith('.') and d.lower()[-4:] in exts]

    if action == 'favorite':
        items = config.lists.favorites.as_list('\n')
        name = os.path.basename(root)
        if root not in items:
            items.append(root)
            msg = '%s added to favorites' % name
        else:
            items = [i for i in items if i != root]
            msg = '%s removed from favorites' % name
        config.lists.favorites = items
        config.write()

    if action == 'mark_as_unread':
        for f in filenames:
            m = Media(filename=f)
            m.data.update(times=0, time=0)
            m.write()

    if action == 'mark_as_read':
        infos = player.infos
        if infos.state == 'playing':
            player.call('stop')
            m = Media(filename=player.params.latest)
            m.data.update(times=1, time=0)
            m.write()

    control = Control()
    control.star = '/browser?root=%s' % quote(os.path.dirname(root))
    control.rec = '/browser/mark_as_unread'
    control.red = '/browser/favorite'
    control.pip = '/lists/favorites'
    page = batch(control, dirnames + filenames)
    filenames = []
    for p in page.items:
        if os.path.isdir(p):
            filenames.append(Dir(p))
        elif os.path.isfile(p):
            filenames.append(Media(p))
    return dict(locals(), title=title, msg=msg, basename=basename)
Example #2
0
def index(action=None):
    quote = urllib.quote
    basename = os.path.basename

    root = request.GET.get('root', player.params.location)
    root = os.path.realpath(root)
    player.params.location = root
    title = '%s/' % os.path.basename(root)
    msg = ''

    dirnames = []
    filenames = []
    for root, dirnames, filenames in os.walk(root):
        break
    dirnames = [os.path.join(root, d) for d in dirnames \
                    if not d.startswith('.')]
    filenames = [os.path.join(root, d) for d in sorted(filenames) \
            if not d.startswith('.') and d.lower()[-4:] in exts]

    if action == 'favorite':
        items = config.lists.favorites.as_list('\n')
        name = os.path.basename(root)
        if root not in items:
            items.append(root)
            msg = '%s added to favorites' % name
        else:
            items = [i for i in items if i != root]
            msg = '%s removed from favorites' % name
        config.lists.favorites = items
        config.write()

    if action == 'mark_as_unread':
        for f in filenames:
            m = Media(filename=f)
            m.data.update(times=0, time=0)
            m.write()

    if action == 'mark_as_read':
        infos = player.infos
        if infos.state == 'playing':
            player.call('stop')
            m = Media(filename=player.params.latest)
            m.data.update(times=1, time=0)
            m.write()

    control = Control()
    control.star = '/browser?root=%s' % quote(os.path.dirname(root))
    control.rec = '/browser/mark_as_unread'
    control.red = '/browser/favorite'
    control.pip = '/lists/favorites'
    page = batch(control, dirnames + filenames)
    filenames = []
    for p in page.items:
        if os.path.isdir(p):
            filenames.append(Dir(p))
        elif os.path.isfile(p):
            filenames.append(Media(p))
    return dict(locals(), title=title, msg=msg, basename=basename)
Example #3
0
def lists(type):
    msg = ''
    title = type.title()
    control = Control()
    control.star = '/browser'
    items = config.lists[type].as_list('\n')
    page = batch(control, list(reversed(items)), path_info='/lists/%s' % type)
    filenames = []
    for i in page.items:
        if os.path.isdir(i):
            filenames.append(Dir(i))
        elif os.path.isfile(i):
            filenames.append(Media(filename=i))
    return dict(locals(), title=title, msg=msg)
Example #4
0
def lists(type):
    msg = ''
    title = type.title()
    control = Control()
    control.star = '/browser'
    items = config.lists[type].as_list('\n')
    page = batch(control, list(reversed(items)), path_info='/lists/%s' % type)
    filenames = []
    for i in page.items:
        if os.path.isdir(i):
            filenames.append(Dir(i))
        elif os.path.isfile(i):
            filenames.append(Media(filename=i))
    return dict(locals(), title=title, msg=msg)
Example #5
0
def keys():
    control = Control()
    control.star = '/browser'
    control.finalize()
    return locals()
Example #6
0
def keys():
    control = Control()
    control.star = '/browser'
    control.finalize()
    return locals()