You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
53 lines
2.1 KiB
53 lines
2.1 KiB
3 years ago
|
#!/usr/bin/env python
|
||
|
# -*- coding:utf-8 -*-
|
||
|
# author: NinEveN
|
||
|
# date: 2022/2/15
|
||
|
import logging
|
||
|
|
||
|
from django.dispatch import Signal, receiver
|
||
|
|
||
|
from api.models import AppReleaseInfo
|
||
|
from common.core.sysconfig import Config
|
||
|
from common.libs.storage.localApi import LocalStorage
|
||
|
from xsign.models import AppUDID, APPToDeveloper, APPSuperSignUsedInfo
|
||
|
|
||
|
logger = logging.getLogger(__name__)
|
||
|
|
||
|
"""
|
||
|
xsign 下载连接
|
||
|
"""
|
||
|
|
||
|
xsign_app_download_url_signal = Signal(providing_args=["app_pk", "udid", "download_url_type", "limit"])
|
||
|
|
||
|
|
||
|
@receiver(xsign_app_download_url_signal)
|
||
|
def xsign_app_download_url_callback(sender, **kwargs):
|
||
|
udid = kwargs.get('udid')
|
||
|
download_url_type = kwargs.get('download_url_type')
|
||
|
limit = kwargs.get('limit')
|
||
|
app_pk = kwargs.get('app_pk')
|
||
|
|
||
|
local_storage = LocalStorage(**Config.IOS_PMFILE_DOWNLOAD_DOMAIN)
|
||
|
appudid_obj = AppUDID.objects.filter(app_id_id=app_pk, udid__udid=udid, sign_status=4).last()
|
||
|
if appudid_obj:
|
||
|
super_sign_obj = APPSuperSignUsedInfo.objects.filter(udid__udid__udid=udid,
|
||
|
app_id_id=app_pk,
|
||
|
developerid__status__in=Config.DEVELOPER_USE_STATUS).last()
|
||
|
if super_sign_obj and super_sign_obj.user_id.supersign_active:
|
||
|
app_to_developer_obj = APPToDeveloper.objects.filter(app_id_id=app_pk,
|
||
|
developerid=super_sign_obj.developerid).last()
|
||
|
if app_to_developer_obj:
|
||
|
release_obj = AppReleaseInfo.objects.filter(app_id_id=app_pk, is_master=True).last()
|
||
|
if release_obj.release_id == app_to_developer_obj.release_file:
|
||
|
binary_file = app_to_developer_obj.binary_file
|
||
|
else:
|
||
|
binary_file = app_to_developer_obj.release_file
|
||
|
return local_storage.get_download_url(
|
||
|
binary_file + "." + download_url_type, limit, is_xsign=True), ""
|
||
|
else:
|
||
|
return "", ""
|
||
|
else:
|
||
|
return "", ""
|
||
|
else:
|
||
|
return "", ""
|