@@ -11,7 +11,7 @@ def __init__(self):
1111 self .embedded_packages_file = "/usr/lib/package.lst"
1212
1313 def run (self , callback = None ):
14- dependencies = []
14+ dependencies = set ()
1515 plugins_out = []
1616 embedded_packages = False
1717 status = False
@@ -25,19 +25,19 @@ def run(self, callback=None):
2525 except Exception as e :
2626 print (f"[UserInstalledPackages] failed to read opkg status\n " , e )
2727 if embedded_packages and status :
28- packages , provides = self .parsestatus (status , embedded_packages )
28+ packages , provides = self .parsestatus (status )
2929 for package in packages :
3030 for depends in packages [package ]["depends" ]:
3131 d_package = provides .get (depends )
3232 if d_package and d_package in packages :
33- dependencies .append (d_package )
34- plugins_out = [p for p in packages if p not in dependencies ]
33+ dependencies .add (d_package )
34+ plugins_out = [p for p in packages if p not in dependencies and p not in embedded_packages ]
3535 callback (plugins_out )
3636
37- def parsestatus (self , status , embedded_packages ):
37+ def parsestatus (self , status ):
3838 packages = {}
3939 provides = {}
40- for package in [x for x in status .split ("\n \n " ) if x . split ( " \n " )[ 0 ]. replace ( "Package: " , "" ). strip () not in embedded_packages ]:
40+ for package in [x for x in status .split ("\n \n " )]:
4141 lines = package .splitlines ()
4242 p_name = None
4343 p_depends = []
0 commit comments