__init__.py
1 ''' 2 Access to github metadata as exported by ghrip (https://github.com/zw/ghrip). 3 ''' 4 import json 5 6 class GhMeta: 7 def __init__(self, paths): 8 self.paths = paths 9 10 def __getitem__(self, idx): 11 (repo, pull) = idx 12 base = self.paths[repo] 13 14 filename = f'{base}/issues/{pull//100}xx/{pull}.json' 15 try: 16 with open(filename, 'r') as f: 17 data0 = json.load(f) 18 except IOError as e: 19 raise KeyError 20 21 filename = f'{base}/issues/{pull//100}xx/{pull}-PR.json' 22 try: 23 with open(filename, 'r') as f: 24 data1 = json.load(f) 25 except IOError as e: 26 data1 = None 27 28 data0['pr'] = data1 29 return data0 30 31 def get(self, pull, default=None): 32 try: 33 return self[pull] 34 except KeyError: 35 return default