Keep repeat mode in url_userview, if item is next or previous
This commit is contained in:
parent
5b5d205476
commit
55f12b2202
@ -9,6 +9,7 @@ SHUFFLE_ENABLE = 2
|
||||
|
||||
REPEAT_DISABLE = 0
|
||||
REPEAT_ENABLE = 1
|
||||
REPEAT_KEEP = 2
|
||||
|
||||
SEARCH_DISABLE = 0
|
||||
SEARCH_KEEP = 1
|
||||
@ -72,6 +73,8 @@ def url_args(request, repeat=REPEAT_DISABLE, shuffle=SHUFFLE_KEEP, search=SEARCH
|
||||
args_d = {}
|
||||
if repeat == REPEAT_ENABLE:
|
||||
args_d['repeat'] = None
|
||||
elif repeat == REPEAT_KEEP and is_repeatview(request):
|
||||
args_d['repeat'] = None
|
||||
if shuffle == SHUFFLE_ENABLE:
|
||||
args_d['shuffle'] = binascii.hexlify(os.urandom(24)).decode('utf-8')
|
||||
elif shuffle == SHUFFLE_KEEP:
|
||||
|
@ -30,8 +30,8 @@ def get_wrapper_class(full_path):
|
||||
}.get(get_item_type(full_path), base_view)
|
||||
|
||||
|
||||
def get_wrapper_instance(full_path, request):
|
||||
return get_wrapper_class(full_path)(request, full_path)
|
||||
def get_wrapper_instance(full_path, request, is_nxt_prv_item=False):
|
||||
return get_wrapper_class(full_path)(request, full_path, is_nxt_prv_item)
|
||||
|
||||
|
||||
def random_copy(request, lst):
|
||||
@ -46,9 +46,10 @@ def random_copy(request, lst):
|
||||
|
||||
|
||||
class base_view(object):
|
||||
def __init__(self, request, full_path):
|
||||
def __init__(self, request, full_path, is_nxt_prv_item):
|
||||
self.request = request
|
||||
self.full_path = full_path
|
||||
self.is_nxt_prv_item = is_nxt_prv_item
|
||||
#
|
||||
self.item = get_item_by_rel_path(pygal.get_rel_path(full_path))
|
||||
if self.item is None:
|
||||
@ -227,7 +228,10 @@ class base_view(object):
|
||||
|
||||
@property
|
||||
def url_userview(self):
|
||||
return pygal.url_userview(self.request, self.item.rel_path, search=pygal.SEARCH_KEEP)
|
||||
if self.is_nxt_prv_item:
|
||||
return pygal.url_userview(self.request, self.item.rel_path, search=pygal.SEARCH_KEEP, repeat=pygal.REPEAT_KEEP)
|
||||
else:
|
||||
return pygal.url_userview(self.request, self.item.rel_path, search=pygal.SEARCH_KEEP, repeat=pygal.REPEAT_DISABLE)
|
||||
|
||||
@property
|
||||
def url_webnail(self):
|
||||
@ -256,7 +260,7 @@ class base_view(object):
|
||||
for i in range(i + direction, i + direction * lgt, direction):
|
||||
full_path = fp_il[i % lgt]
|
||||
if get_item_type(full_path) != TYPE_FOLDER:
|
||||
return get_wrapper_instance(full_path, self.request)
|
||||
return get_wrapper_instance(full_path, self.request, is_nxt_prv_item=True)
|
||||
return self
|
||||
|
||||
@property
|
||||
|
Loading…
x
Reference in New Issue
Block a user