return SP(**remaining_fields), pin
+def read_pinned_config_section(
+ section: str, conf: configparser.SectionProxy) -> Tuple[SearchPath, Pin]:
+ sp, pin = read_config_section(conf)
+ if pin is None:
+ raise Exception(
+ 'Cannot update unpinned channel "%s" (Run "pin" before "update")' %
+ section)
+ return sp, pin
+
+
def read_config(filename: str) -> configparser.ConfigParser:
config = configparser.ConfigParser()
config.read_file(open(filename), filename)
exprs: Dict[str, str] = {}
config = read_config_files(args.channels_file)
for section in config:
- sp, pin = read_config_section(config[section])
- if pin is None:
- raise Exception(
- 'Cannot update unpinned channel "%s" (Run "pin" before "update")' %
- section)
+ sp, pin = read_pinned_config_section(section, config[section])
if isinstance(sp, AliasSearchPath):
continue
tarball = sp.fetch(v, pin)