Beispiel #1
0
 def auto_add_user_station(self):
     if os.path.isfile(CACHE_RADIO_FILE) and os.path.getsize(CACHE_RADIO_FILE) > 0:
         with open(CACHE_RADIO_FILE, 'r') as f:
             list = f.readlines()
             parent_level_for_depth = {}
             previous = {"bean": None, "depth": 0, "name": '', "url": ''} 
             for line in list:
                 depth = self.simbol_counter(line, '-')
                 try:
                     name = line[depth : line.index('#')]
                 except ValueError, e:
                     logging.warning('\'#\' ' + str(e) + ' in line \"' + line + '\"')
                     continue
                 url = line[line.index('#') + 1 : -1]
                 bean = FModel(name)
                 if url:
                     bean.add_is_file(True).add_path(url).add_type(FTYPE_RADIO)
                 if previous["depth"] < depth:
                     bean.add_parent(previous["bean"].level)
                 elif previous["depth"] > depth:
                     bean.add_parent(parent_level_for_depth[depth]) 
                 else:
                     if previous["bean"]:
                         bean.add_parent(previous["bean"].parent_level)
                     
                 self.append(bean)
                 parent_level_for_depth[depth] = bean.parent_level
                 previous = {"bean": bean, "depth": depth, "name": name, "url": url}