def getServiceList(): """ Parses the GitHub copy of serviceUpdater.yml to see which service files should be updated/added. It removes atdServiceUpdater from the list as it will be updated seperately """ service_YAML = open(YAML_PATH,'r') service_LIST = YAML().load(service_YAML)['serviceUpdaters'] service_YAML.close() service_LIST.pop(service_LIST.index(UPDATER_NAME)) return(service_LIST)
def _from_text(cls, filename, is_json=False): """deserialize from a json/yaml file""" if not is_json: if not filename.split('.')[-1].startswith('y'): filename += '.yml' else: if not filename.endswith('.json'): # pragma: no branch filename += '.json' with open(filename, 'r') as f: data = YAML().load(f) excel = _CompiledImporter(filename, data) excel_compiler = cls(excel=excel, cycles=data.pop('cycles', False)) excel.compiler = excel_compiler def add_line_numbers(cell_addr, line_number): formula = excel_compiler.cell_map[cell_addr].formula if formula is not None: formula.lineno = line_number formula.filename = filename # populate the cells range_todos = [] for address, python_code in data['cell_map'].items(): lineno = data['cell_map'].lc.data[address][0] + 1 address = AddressRange(address) if address.is_range: range_todos.append((address, lineno)) else: excel_compiler._make_cells(address) add_line_numbers(address.address, lineno) # populate the ranges and dependant graph for address, lineno in range_todos: excel_compiler._make_cells(address) add_line_numbers(address.address, lineno) excel_compiler._process_gen_graph() del data['cell_map'] # process the rest of the data from the file excel_compiler._excel_file_md5_digest = data['excel_hash'] del data['excel_hash'] excel_compiler.extra_data = data # remove "excel" file references for GC excel_compiler.excel = None return excel_compiler