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://yauniks.dynvpn.de:86/get/%s" % file_obj.full_path, 'changes': "http://yauniks.dynvpn.de:86/get/%s" % changesfile, 'md5sum': file_obj.md5sum, 'timestamp': file_obj.date_created.strftime('%s') }) cache.set(cache_key, result) return self.success(result)
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 })
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://yauniks.dynvpn.de:86/get/%s" % file_obj.full_path, 'changes': "http://yauniks.dynvpn.de:86/get/%s" % changesfile, 'md5sum': file_obj.md5sum, 'timestamp': file_obj.date_created.strftime('%s') }) cache.set(cache_key, result) return self.success(result)
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})