Exemple #1
0
    def get(self):
        res = dict(apis={}, tpls={}, actions={}, slides={}, cache=0)

        apis = APIItem.objects.all()
        for api in apis:
            if api.key == 'common':
                res['cache'] = api.cache
            else:
                res['apis'][api.key] = api.detail

        tpls = TPLItem.objects(enable__in=Enable.get()).order_by('sort')
        for tpl in tpls:
            res['tpls'][tpl.key] = dict(name=tpl.name, url=tpl.tpl.link, modified=str(tpl.modified))

        actions = ActionItem.objects(enable__in=Enable.get()).order_by('sort')
        for action in actions:
            if action.module not in res['actions']:
                res['actions'][action.module] = list()
            res['actions'][action.module].append(action.detail)

        slides = SlideItem.objects(enable__in=Enable.get()).order_by('sort')
        for slide in slides:
            if slide.module not in res['actions']:
                res['actions'][slide.module] = list()
            res['actions'][slide.module].append(slide.detail)

        res['backup_host'] = Item.data('backup_host')
        res['channel'] = 1001
        res['uuid'] = current_user.id if current_user.is_authenticated() else 0
        return res
Exemple #2
0
    def get(self):
        res = dict(apis={}, tpls={}, actions={}, slides={}, cache=0)

        apis = APIItem.objects.all()
        for api in apis:
            if api.key == 'common':
                res['cache'] = api.cache
            else:
                res['apis'][api.key] = api.detail

        tpls = TPLItem.objects(enable__in=Enable.get()).order_by('sort')
        for tpl in tpls:
            res['tpls'][tpl.key] = dict(name=tpl.name,
                                        url=tpl.tpl.link,
                                        modified=str(tpl.modified))

        actions = ActionItem.objects(enable__in=Enable.get()).order_by('sort')
        for action in actions:
            if action.module not in res['actions']:
                res['actions'][action.module] = list()
            res['actions'][action.module].append(action.detail)

        slides = SlideItem.objects(enable__in=Enable.get()).order_by('sort')
        for slide in slides:
            if slide.module not in res['actions']:
                res['actions'][slide.module] = list()
            res['actions'][slide.module].append(slide.detail)

        res['backup_host'] = Item.data('backup_host')
        res['channel'] = 1001
        res['uuid'] = current_user.id if current_user.is_authenticated() else 0
        return res
Exemple #3
0
    def get(self):
        res = dict(apis={},
                   icons={},
                   tpls={},
                   actions=defaultdict(list),
                   options={})
        version = get_version()

        for api in API.objects.all():
            if api.key == 'global':
                res['expire'] = api.expire
            res['apis'][api.key] = api.detail

        for icon in Icon.objects.all():
            res['icons'][icon.key] = icon.icon.base64

        for option in Option.objects.all():
            res['options'][option.key] = option.value
        res['options']['uuid'] = '0'
        res['options']['channel'] = '0'

        tpls = TPL.objects(enable__in=Enable.get())
        for tpl in tpls:
            res['tpls'][tpl.key] = dict(
                key=tpl.key,
                name=tpl.name,
                url=tpl.tpl.link,
                modified=str(tpl.modified),
            )

        query = db.Q(enable__in=Enable.get())
        if get_os() == 2:
            query = query & (db.Q(android_start__lte=version) | db.Q(android_start=None)) & \
                (db.Q(android_end__gte=version) | db.Q(android_end=None))
        elif get_os() == 1:
            query = query & (db.Q(ios_start__lte=version) | db.Q(ios_start=None)) & \
                (db.Q(ios_end__gte=version) | db.Q(ios_end=None))

        actions = Action.objects(enable__in=Enable.get()).order_by('sort')
        for action in actions:
            if action.module:
                res['actions'][action.module].append(action.detail)

        slides = Slide.objects(enable__in=Enable.get()).order_by('sort')
        for slide in slides:
            if slide.module:
                res['actions'][slide.module].append(slide.detail)

        if hasattr(self, 'handle') and callable(self.handle):
            self.handle(res)

        return res
Exemple #4
0
    def get(self):
        res = dict(apis={}, icons={}, tpls={}, actions=defaultdict(list), options={})
        version = get_version()

        for api in API.objects.all():
            if api.key == 'global':
                res['expire'] = api.expire
            res['apis'][api.key] = api.detail

        for icon in Icon.objects.all():
            res['icons'][icon.key] = icon.icon.base64

        for option in Option.objects.all():
            res['options'][option.key] = option.value
        res['options']['uuid'] = '0'
        res['options']['channel'] = '0'

        tpls = TPL.objects(enable__in=Enable.get())
        for tpl in tpls:
            res['tpls'][tpl.key] = dict(
                key=tpl.key,
                name=tpl.name,
                url=tpl.tpl.link,
                modified=str(tpl.modified),
            )

        query = db.Q(enable__in=Enable.get())
        if get_os() == 2:
            query = query & (db.Q(android_start__lte=version) | db.Q(android_start=None)) & \
                (db.Q(android_end__gte=version) | db.Q(android_end=None))
        elif get_os() == 1:
            query = query & (db.Q(ios_start__lte=version) | db.Q(ios_start=None)) & \
                (db.Q(ios_end__gte=version) | db.Q(ios_end=None))

        actions = Action.objects(enable__in=Enable.get()).order_by('sort')
        for action in actions:
            if action.module:
                res['actions'][action.module].append(action.detail)

        slides = Slide.objects(enable__in=Enable.get()).order_by('sort')
        for slide in slides:
            if slide.module:
                res['actions'][slide.module].append(slide.detail)

        if hasattr(self, 'handle') and callable(self.handle):
            self.handle(res)

        return res
Exemple #5
0
    def get(self):
        res = dict(apis={}, tpls={}, actions={}, options={})
        version = get_version()

        apis = APIItem.objects.all()
        for api in apis:
            res['apis'][api.key] = api.detail

        for option in OptionItem.objects.all():
            res['options'][option.key] = option.value
        res['options']['uuid'] = '0'
        res['options']['channel'] = '0'

        tpls = TPLItem.objects(enable__in=Enable.get()).order_by('sort')
        for tpl in tpls:
            res['tpls'][tpl.key] = dict(
                key=tpl.key,
                name=tpl.name,
                url=tpl.tpl.link,
                modified=str(tpl.modified),
            )

        query = db.Q(enable__in=Enable.get())
        if get_os() == 2:
            query = query & (db.Q(android_version__lte=version) | db.Q(android_version=None)) & \
                (db.Q(android_version_end__gte=version) | db.Q(android_version_end=None))
        elif get_os() == 1:
            query = query & (db.Q(ios_version__lte=version) | db.Q(ios_version=None)) & \
                (db.Q(ios_version_end__gte=version) | db.Q(ios_version_end=None))
        if not current_user.is_authenticated():
            query = query & (db.Q(login_show=False) | db.Q(login_show=None))

        actions = ActionItem.objects(enable__in=Enable.get()).order_by('sort')
        for action in actions:
            if action.module not in res['actions']:
                res['actions'][action.module] = list()
            res['actions'][action.module].append(action.detail)

        slides = SlideItem.objects(enable__in=Enable.get()).order_by('sort')
        for slide in slides:
            if slide.module not in res['actions']:
                res['actions'][slide.module] = list()
            res['actions'][slide.module].append(slide.detail)

        return res
Exemple #6
0
    def get(self):
        res = dict(apis={}, tpls={}, actions=defaultdict(list), options={})
        version = get_version()

        apis = APIItem.objects.all()
        for api in apis:
            res['apis'][api.key] = api.detail

        for option in OptionItem.objects.all():
            res['options'][option.key] = option.value
        res['options']['uuid'] = '0'
        res['options']['channel'] = '0'

        tpls = TPLItem.objects(enable__in=Enable.get()).order_by('sort')
        for tpl in tpls:
            res['tpls'][tpl.key] = dict(
                key=tpl.key,
                name=tpl.name,
                url=tpl.tpl.link,
                modified=str(tpl.modified),
            )

        query = db.Q(enable__in=Enable.get())
        if get_os() == 2:
            query = query & (db.Q(android_version__lte=version) | db.Q(android_version=None)) & \
                (db.Q(android_version_end__gte=version) | db.Q(android_version_end=None))
        elif get_os() == 1:
            query = query & (db.Q(ios_version__lte=version) | db.Q(ios_version=None)) & \
                (db.Q(ios_version_end__gte=version) | db.Q(ios_version_end=None))
        if not current_user.is_authenticated():
            query = query & (db.Q(login_show=False) | db.Q(login_show=None))

        actions = ActionItem.objects(enable__in=Enable.get()).order_by('sort')
        for action in actions:
            if action.module and action.module.key:
                res['actions'][action.module.key].append(action.detail)

        slides = SlideItem.objects(enable__in=Enable.get()).order_by('sort')
        for slide in slides:
            if slide.module and slide.module.key:
                res['actions'][slide.module.key].append(slide.detail)

        return res
Exemple #7
0
 def get(self):
     item = AndroidVersion.objects(enable__in=Enable.get()).order_by('-id').first()
     if item:
         spm = parse_spm(request.args.get('spm'))
         url = item.url or current_app.config.get('HOST') + '/android/latest.html?channel=%d' % (spm[2] or 1001)
         return success(
             version=item.version,
             code=item.id,
             log=item.log,
             url=url,
             force=item.force,
             date=str(item.created).split(' ')[0],
         )
     abort(SERVER_ERROR)
Exemple #8
0
 def get(self):
     item = AndroidVersion.objects(enable__in=Enable.get()).order_by('-id').first()
     if item:
         spm = parse_spm(request.args.get('spm'))
         url = item.url or current_app.config.get('HOST') + '/android/latest.html?channel=%d' % (spm[2] or 1001)
         return success(
             version=item.version,
             code=item.id,
             log=item.log,
             url=url,
             force=item.force,
             date=str(item.created).split(' ')[0],
         )
     abort(SERVER_ERROR)