def run(self): chdir(self.base_dir) if self.virgin: change = True if not isdir(self.output_dir): makedirs(self.output_dir) self.manifest = self.data.setdefault('manifest', {}) self.output_data = self.data.setdefault('output_data', {}) self.prereq_data = self.data.setdefault('prereq_data', {}) self.virgin = False else: change = False self.manifest_changed = False self.mtime_cache = {} self.prereq = True for asset in self.prereqs: if not asset.is_fresh(): change = True asset.generate() self.prereq = None for asset in self.generate: if not asset.is_fresh(): change = True asset.generate() manifest_path = self.manifest_path if manifest_path and self.manifest_changed: print "=> Updated manifest:", manifest_path manifest_file = open(manifest_path, 'wb') encode_json(self.manifest, manifest_file) manifest_file.close() if change: data_file = open(self.data_path, 'wb') dump(self.data, data_file, 2) data_file.close()
def run(self): chdir(self.base_dir) if self.virgin: change = True if not isdir(self.output_dir): makedirs(self.output_dir) self.manifest = self.data.setdefault('manifest', {}) self.output_data = self.data.setdefault('output_data', {}) self.prereq_data = self.data.setdefault('prereq_data', {}) self.virgin = False else: change = False self.manifest_changed = False self.change_checker = FileChangeDetector() self.prereq = True for asset in self.prereqs: if not asset.is_fresh(): change = True asset.generate() self.prereq = None for asset in self.generate: if not asset.is_fresh(): change = True asset.generate() manifest_path = self.manifest_path if manifest_path and (self.manifest_changed or self.manifest_force or not isfile(manifest_path)): log.info("Updated manifest: %s" % manifest_path) manifest_file = open(manifest_path, 'wb') encode_json(self.manifest, manifest_file) manifest_file.close() if change: data_file = open(self.data_path, 'wb') dump(self.data, data_file, 2) data_file.close()
def run(self): chdir(self.base_dir) if self.virgin: change = True if not isdir(self.output_dir): makedirs(self.output_dir) self.manifest = self.data.setdefault('manifest', {}) self.output_data = self.data.setdefault('output_data', {}) self.prereq_data = self.data.setdefault('prereq_data', {}) self.virgin = False else: change = False self.manifest_changed = False self.mtime_cache = {} self.prereq = True for asset in self.prereqs: if not asset.is_fresh(): change = True asset.generate() self.prereq = None for asset in self.generate: if not asset.is_fresh(): change = True asset.generate() manifest_path = self.manifest_path if manifest_path and (self.manifest_changed or self.manifest_force or self.force): log.info("Updated manifest: %s" % manifest_path) manifest_file = open(manifest_path, 'wb') encode_json(self.manifest, manifest_file) manifest_file.close() if change: data_file = open(self.data_path, 'wb') dump(self.data, data_file, 2) data_file.close()
def main(): data = {} info = ElementTree.fromstring(urlopen(feedburner).read()) data['rss'] = int(info.find('feed/entry').get('circulation')) info = decode_json(urlopen(twitter).read()) data['twitter'] = info['followers_count'] info = decode_json(urlopen(github).read()) data['github'] = info['user']['followers_count'] for key, val in data.items(): if key in prev_data: prev_val = prev_data[key] if prev_val > val: val = prev_val else: prev_data[key] = val if val > 1000: val = '%s,%03d' % divmod(val, 1000) else: val = str(val) data[key] = val js = open(output, 'wb') js.write('loadMetrics(') js.write(encode_json(data)) js.write(');\n') js.close() print time(), data
def get_data(authors, stories): return encode_json( dict(authors=authors, stories=stories) ).replace('/', r'\/')