Ejemplo n.º 1
0
    def method_get_all_builds(self):
        channels = self.params.get('channels', None)
        device = self.params.get('device', None)
        limit = int(self.params.get('limit', 3))
        if not channels or not device:
            self.set_status(500)
            return self.fail("Invalid Parameters")

        cache_key = 'api_all_%s_%s_%s' % (device, "_".join(sorted(channels)), str(limit))
        result = cache.get(cache_key)
        if result is not None:
            return self.success(result)

        result = []

        if 'snapshot' in channels and 'RC' not in channels:
            channels.append('RC')

        for channel in channels:
            files = File.browse(device, channel, limit)
            for file_obj in files:
                if file_obj is not None:
                    changesfile = re.sub(file_obj.filename, "CHANGES.txt", file_obj.full_path)
                    result.append({
                        'channel': channel,
                        'filename': file_obj.filename,
                        'url': "http://getcm.dianlujitao.com/get/%s" % file_obj.full_path,
                        'changes': "http://getcm.dianlujitao.com/get/%s" % changesfile,
                        'md5sum': file_obj.md5sum,
                        'timestamp': file_obj.date_created.strftime('%s')
                    })

        cache.set(cache_key, result)

        return self.success(result)
Ejemplo n.º 2
0
    def get(self):
        device = self.request.arguments.get('device', [None])[0]
        type = self.request.arguments.get('type', [None])[0]
        files = File.browse(device, type)

        for fileobj in files:
            fileobj.base62 = base62_encode(fileobj.id)

        devicelist = Device.get_all()

        # Set default values for device names dictionary
        devicedict = {}
        for codename in devicelist:
            if codename in devicemap:
                devicedict[codename] = devicemap[codename]
            else:
                devicedict[codename] = codename

        return self.render(
            "browse.mako", {
                'request_type': type,
                'request_device': device,
                'devices': devicelist,
                'devicenames': devicedict,
                'files': files
            })
Ejemplo n.º 3
0
    def get(self):
        device = self.request.arguments.get('device', [None])[0]
        type = self.request.arguments.get('type', [None])[0]
        files = File.browse(device, type)

        for fileobj in files:
            fileobj.base62 = base62_encode(fileobj.id)

        devicelist = Device.get_all()

        # Set default values for device names dictionary
        devicedict = {}
        for codename in devicelist:
            if codename in devicemap:
                devicedict[codename] = devicemap[codename]
            else:
                devicedict[codename] = codename

        return self.render("browse.mako", {'request_type': type, 'request_device': device, 'devices': devicelist, 'devicenames': devicedict, 'files': files})
Ejemplo n.º 4
0
Archivo: api.py Proyecto: Zipsnet/GetCM
    def method_get_all_builds(self):
        channels = self.params.get("channels", None)
        device = self.params.get("device", None)
        limit = int(self.params.get("limit", 3))
        if not channels or not device:
            self.set_status(500)
            return self.fail("Invalid Parameters")

        cache_key = "api_all_%s_%s_%s" % (device, "_".join(sorted(channels)), str(limit))
        result = cache.get(cache_key)
        if result is not None:
            return self.success(result)

        result = []

        if "snapshot" in channels and "RC" not in channels:
            channels.append("RC")

        for channel in channels:
            files = File.browse(device, channel, limit)
            for file_obj in files:
                if file_obj is not None:
                    changesfile = re.sub(file_obj.filename, "CHANGES.txt", file_obj.full_path)
                    result.append(
                        {
                            "channel": channel,
                            "filename": file_obj.filename,
                            "url": "http://getcm.thebronasium.com/get/%s" % file_obj.full_path,
                            "changes": "http://getcm.thebronasium.com/get/%s" % changesfile,
                            "md5sum": file_obj.md5sum,
                            "timestamp": file_obj.date_created.strftime("%s"),
                        }
                    )

        cache.set(cache_key, result)

        return self.success(result)
Ejemplo n.º 5
0
 def get(self):
     device = self.request.arguments.get('device', [None])[0]
     type = self.request.arguments.get('type', [None])[0]
     files = File.browse(device, type, 100)
     self.set_header('Content-Type', "application/xml; charset=utf-8")
     self.render("rss.mako", {'files': files})