def handle_cleaner_var(self, var): """Handle one <var> element under <cleaner>. Example: <var name="basepath"> <value search="glob">~/.config/f*</value> <value>~/.config/foo</value> <value>%AppData\foo</value> </var> """ var_name = var.getAttribute('name') for value_element in var.getElementsByTagName('value'): if not self.os_match(value_element.getAttribute('os')): continue value_str = getText(value_element.childNodes) is_glob = value_element.getAttribute('search') == 'glob' if is_glob: value_list = expand_glob_join(value_str, '') else: value_list = [value_str, ] if self.vars.has_key(var_name): # append self.vars[var_name] = value_list + self.vars[var_name] else: # initialize self.vars[var_name] = value_list
def handle_cleaner_var(self, var): """Handle one <var> element under <cleaner>. Example: <var name="basepath"> <value search="glob">~/.config/f*</value> <value>~/.config/foo</value> <value>%AppData\foo</value> </var> """ var_name = var.getAttribute('name') for value_element in var.getElementsByTagName('value'): if not self.os_match(value_element.getAttribute('os')): continue value_str = getText(value_element.childNodes) is_glob = value_element.getAttribute('search') == 'glob' if is_glob: value_list = expand_glob_join(value_str, '') else: value_list = [ value_str, ] if self.vars.has_key(var_name): # append self.vars[var_name] = value_list + self.vars[var_name] else: # initialize self.vars[var_name] = value_list
def handle_cleaner_var(self, var): """Handle one <var> element under <cleaner>. cleaner 아래의 var 요소 Example: <var name="basepath"> <value search="glob">~/.config/f*</value> <value>~/.config/foo</value> <value>%AppData\foo</value> </var> """ var_name = var.getAttribute('name') #var태그에서 name속성을 추출 for value_element in var.getElementsByTagName('value'): # var태그의 value태그들 반복한다. if not self.os_match(value_element.getAttribute('os')): # value태그들에서 os속성값을 추출해 운영체제와 일치하는지 확인한다. continue # 일치하지않으면 continue value_str = getText(value_element.childNodes) # value태그들의 자식노드들을 text형식으로 추출 (경로가 저장된다) is_glob = value_element.getAttribute('search') == 'glob' # value태그의 search속성이 glob인지 확인하고 저장 if is_glob: value_list = expand_glob_join(value_str, '') # is_glob이 참이면 추출한 경로에 운영체제에 맞게 연결하고, # 경로안에 환경변수가 있다면 확장하고 else: # list를 돌려주는 함수 expand_glob_join 호출 value_list = [value_str, ] # 아닐경우 추출한 경로를 list에 저장 if self.vars.has_key(var_name): # append self.vars[var_name] = value_list + self.vars[var_name] else: # initialize self.vars[var_name] = value_list