Ejemplo n.º 1
0
    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
Ejemplo n.º 2
0
    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
Ejemplo n.º 3
0
    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