|
@@ -101,24 +101,38 @@ class SplitVodHlsObject:
|
|
kwargs['type_list'] = type_list
|
|
kwargs['type_list'] = type_list
|
|
if week == 1:
|
|
if week == 1:
|
|
kwargs = self.vod_query_param(week, **kwargs)
|
|
kwargs = self.vod_query_param(week, **kwargs)
|
|
|
|
+ if not kwargs:
|
|
|
|
+ return vod_hls_mon
|
|
vod_hls_mon = VodHlsMon.objects.filter(**kwargs)
|
|
vod_hls_mon = VodHlsMon.objects.filter(**kwargs)
|
|
elif week == 2:
|
|
elif week == 2:
|
|
kwargs = self.vod_query_param(week, **kwargs)
|
|
kwargs = self.vod_query_param(week, **kwargs)
|
|
|
|
+ if not kwargs:
|
|
|
|
+ return vod_hls_tus
|
|
vod_hls_tus = VodHlsTues.objects.filter(**kwargs)
|
|
vod_hls_tus = VodHlsTues.objects.filter(**kwargs)
|
|
elif week == 3:
|
|
elif week == 3:
|
|
kwargs = self.vod_query_param(week, **kwargs)
|
|
kwargs = self.vod_query_param(week, **kwargs)
|
|
|
|
+ if not kwargs:
|
|
|
|
+ return vod_hls_wed
|
|
vod_hls_wed = VodHlsWed.objects.filter(**kwargs)
|
|
vod_hls_wed = VodHlsWed.objects.filter(**kwargs)
|
|
elif week == 4:
|
|
elif week == 4:
|
|
kwargs = self.vod_query_param(week, **kwargs)
|
|
kwargs = self.vod_query_param(week, **kwargs)
|
|
|
|
+ if not kwargs:
|
|
|
|
+ return vod_hls_thur
|
|
vod_hls_thur = VodHlsThur.objects.filter(**kwargs)
|
|
vod_hls_thur = VodHlsThur.objects.filter(**kwargs)
|
|
elif week == 5:
|
|
elif week == 5:
|
|
kwargs = self.vod_query_param(week, **kwargs)
|
|
kwargs = self.vod_query_param(week, **kwargs)
|
|
|
|
+ if not kwargs:
|
|
|
|
+ return vod_hls_fri
|
|
vod_hls_fri = VodHlsFri.objects.filter(**kwargs)
|
|
vod_hls_fri = VodHlsFri.objects.filter(**kwargs)
|
|
elif week == 6:
|
|
elif week == 6:
|
|
kwargs = self.vod_query_param(week, **kwargs)
|
|
kwargs = self.vod_query_param(week, **kwargs)
|
|
|
|
+ if not kwargs:
|
|
|
|
+ return vod_hls_sat
|
|
vod_hls_sat = VodHlsSat.objects.filter(**kwargs)
|
|
vod_hls_sat = VodHlsSat.objects.filter(**kwargs)
|
|
elif week == 7:
|
|
elif week == 7:
|
|
kwargs = self.vod_query_param(week, **kwargs)
|
|
kwargs = self.vod_query_param(week, **kwargs)
|
|
|
|
+ if not kwargs:
|
|
|
|
+ return vod_hls_sun
|
|
vod_hls_sun = VodHlsSun.objects.filter(**kwargs)
|
|
vod_hls_sun = VodHlsSun.objects.filter(**kwargs)
|
|
vod_hls = vod_hls.union(vod_hls_mon, vod_hls_tus, vod_hls_wed, vod_hls_thur, vod_hls_fri, vod_hls_sat,
|
|
vod_hls = vod_hls.union(vod_hls_mon, vod_hls_tus, vod_hls_wed, vod_hls_thur, vod_hls_fri, vod_hls_sat,
|
|
vod_hls_sun)
|
|
vod_hls_sun)
|
|
@@ -189,11 +203,14 @@ class SplitVodHlsObject:
|
|
|
|
|
|
@classmethod
|
|
@classmethod
|
|
def vod_query_param(cls, week, **kwargs):
|
|
def vod_query_param(cls, week, **kwargs):
|
|
|
|
+ types = kwargs.get('type_list')
|
|
vod_ids = cls.query_tag_by_types(kwargs.get('uid'),
|
|
vod_ids = cls.query_tag_by_types(kwargs.get('uid'),
|
|
kwargs.get('start_time__range'),
|
|
kwargs.get('start_time__range'),
|
|
kwargs.get('type_list'), week)
|
|
kwargs.get('type_list'), week)
|
|
if vod_ids:
|
|
if vod_ids:
|
|
kwargs['id__in'] = vod_ids
|
|
kwargs['id__in'] = vod_ids
|
|
|
|
+ if types and not vod_ids:
|
|
|
|
+ return []
|
|
kwargs.pop('type_list')
|
|
kwargs.pop('type_list')
|
|
return kwargs
|
|
return kwargs
|
|
|
|
|
|
@@ -229,13 +246,14 @@ class SplitVodHlsObject:
|
|
return False
|
|
return False
|
|
|
|
|
|
@classmethod
|
|
@classmethod
|
|
- def query_tag_type_list(cls, vod_ids):
|
|
|
|
|
|
+ def query_tag_type_list(cls, start_time, vod_ids):
|
|
"""
|
|
"""
|
|
根据云存ID获取AI类型
|
|
根据云存ID获取AI类型
|
|
@return:
|
|
@return:
|
|
"""
|
|
"""
|
|
try:
|
|
try:
|
|
- qs = VodHlsTag.objects.filter(vod_hls_id__in=vod_ids).values('id', 'vod_hls_id')
|
|
|
|
|
|
+ week = datetime.datetime.fromtimestamp(int(start_time)).isoweekday()
|
|
|
|
+ qs = VodHlsTag.objects.filter(vod_hls_id__in=vod_ids, tab_num=int(week)).values('id', 'vod_hls_id')
|
|
if not qs:
|
|
if not qs:
|
|
return []
|
|
return []
|
|
return list(qs)
|
|
return list(qs)
|