def add_node(self, node): if self.filter_double is not None: if self.filter_double & node.nt == node.nt: if node.nid in self.seen_nodes: self.progress.update(message='Skip node type: %s' % Flag.to_s(node.nt)) return True self.seen_nodes[node.nid] = 1 try: self.progress.update(message=node.get_label()) except Exception as e: logger.warn('ProgressUpdateError %s', e) if self.asList is True: self.nodes.append(node) self.total_put += 1 return True return self.__add_node(node)
def bootstrap_sys_args(self): '''Store sys arguments''' self.MODE = None self.params = get_checked_parameters() if 'nt' not in self.params: self.params['nt'] = Flag.ROOT self.MODE = Mode.VIEW self.nodeType = int(self.params['nt']) try: self.MODE = int(self.params['mode']) except Exception as e: logger.warn('No \"mode\" parameter %s', e) if config.app.registry.get('debug', to='bool'): for name in self.params: logger.info('Param: %s = %s (%s)', name, str( self.params[name]), Flag.to_s(self.params['nt']))
def bootstrap_sys_args(self): """Parsing sys arg parameters and store them """ self.MODE = None self.params = get_checked_parameters() if 'nt' not in self.params: self.params['nt'] = Flag.ROOT self.MODE = Mode.VIEW self.nodeType = int(self.params['nt']) try: self.MODE = int(self.params['mode']) except: warn(self, "No 'mode' parameter") for name in self.params: info(self, "Param: %s = %s (%s)" % (name, str(self.params[name]), Flag.to_s(self.params['nt'])))
def bootstrap_sys_args(self): '''Store sys arguments''' self.MODE = None self.params = get_checked_parameters() if 'nt' not in self.params: self.params['nt'] = Flag.ROOT self.MODE = Mode.VIEW self.nodeType = int(self.params['nt']) try: self.MODE = int(self.params['mode']) except Exception as e: logger.warn('No \"mode\" parameter %s', e) if config.app.registry.get('debug', to='bool'): for name in self.params: logger.info('Param: %s = %s (%s)', name, str(self.params[name]), Flag.to_s(self.params['nt']))
def populating(self, Dir, lvl=1, whiteFlag=None, blackFlag=None, gData=None): if Dir.Progress.iscanceled(): return False if gData is None: gData = {'count': 0, 'total': 100, 'startedOn': time()} if lvl != -1 and lvl < 1: return False Dir.update(gData, 'Fetching', '', '') if not (self.nt & blackFlag == self.nt): if not self.fetch(Dir, lvl, whiteFlag, blackFlag): return False else: self.__add_pagination(self.data) self.populate(Dir, lvl, whiteFlag, blackFlag) """ Recursive mode dont't decrement level """ if lvl != -1: lvl -= 1 label = self.get_label() gData['count'] = 0 gData['total'] = len(self.childs) self.__add_pagination_node(Dir, lvl, whiteFlag) Dir.update(gData, 'Working', label, '') for child in self.childs: if Dir.is_canceled(): return False """ Only white Flagged added to the listing """ if child.nt & whiteFlag == child.nt: if not Dir.add_node(child): warn(self, "Something went wrong... aborting") self.childs = [] raise Qerror(who=self, what='build_down_abort') gData['count'] += 1 Dir.update(gData, "Working", label, child.get_label()) else: log(self, "Skipping node: %s" % (Flag.to_s(child.nt))) """ Calling builiding down on child """ child.populating(Dir, lvl, whiteFlag, blackFlag, gData) return gData['count']
def count(self): if self.data is None: raise exception.NodeHasNoData(Flag.to_s(self.nt)) if not hasattr(self, '_count'): raise exception.NodeHasNoCountMethod(Flag.to_s(self.nt)) return getattr(self, '_count')()