add fill tree packages und fix discription USE

pull/1/head
serkus01 3 years ago
parent 64fa18398a
commit b960adfdaf

@ -7,7 +7,6 @@ from utils.utils import get_list_overlays
from GenRecovers import ScanRecoverFile from GenRecovers import ScanRecoverFile
from getUses import get_local_USE from getUses import get_local_USE
from package import search from package import search
# создаём разширеную базу пактов с предлизительно структурой # создаём разширеную базу пактов с предлизительно структурой
#pkg_list ={"category": [{name: name_pkg, versions:[list_version]}]} #pkg_list ={"category": [{name: name_pkg, versions:[list_version]}]}
# и клладём это всё в json # и клладём это всё в json
@ -15,8 +14,9 @@ from package import search
AliaseCategory ={"www-client": "Браузеры", AliaseCategory ={"www-client": "Браузеры",
"www-server": "Сервера", "www-server": "Сервера",
'app-etitor':"Текстовые редакторы",
"game":"Игры", "game":"Игры",
"dev-lang":"Програмироыввние", "dev-lang":" Языка програмироыввние",
"media-video": "Видео", "media-video": "Видео",
"media-sound": "Аудио" "media-sound": "Аудио"
} }
@ -25,11 +25,11 @@ def create_db():
recovers = ScanRecoverFile() recovers = ScanRecoverFile()
pkg_list ={} pkg_list ={}
listUses= get_local_USE() listUses= get_local_USE()
port_dir =["/var/lib/layman/", "/usr/portage"] port_dir =["/var/db/repos", "/usr/portage"]
if not os.path.exists('./pkgs.json'): if not os.path.exists('./pkgs.json'):
print("Create ramdb") print("Create ramdb")
pkg_name ="" pkg_name =""
all_pkgs = [] all_pkgs = {}
with open('./pkgs.json', 'a') as fn: with open('./pkgs.json', 'a') as fn:
for p in port_dir: for p in port_dir:
for d, dirs, files in os.walk(p): for d, dirs, files in os.walk(p):
@ -53,8 +53,7 @@ def create_db():
if str(d.split("/")[-2] +"/" + d.split("/")[-1]) in AliaseCategory: if str(d.split("/")[-2] +"/" + d.split("/")[-1]) in AliaseCategory:
all_pkgs.append(AliaseCategory[d]) all_pkgs.append(AliaseCategory[d])
else: else:
all_pkgs.append(d.split("/")[-2] +"/" + d.split("/")[-1]) all_pkgs[str(d.split("/")[-2] +"/" + d.split("/")[-1])] #= search(str(d.split("/")[-2] +"/" + d.split("/")[-1]))
#print(all_pkgs[d.split("/")[-2] +"/" + d.split("/")[-1]])
if d.split("/")[-2] not in pkg_list.keys(): if d.split("/")[-2] not in pkg_list.keys():
pkg_list[str(d.split("/")[-2])] = [] pkg_list[str(d.split("/")[-2])] = []
@ -64,21 +63,20 @@ def create_db():
if d.split('/')[-1] not in pkg_list[d.split('/')[-2]]: if d.split('/')[-1] not in pkg_list[d.split('/')[-2]]:
pkg_list[d.split("/")[-2]].append(d.split('/')[-1]) pkg_list[d.split("/")[-2]].append(d.split('/')[-1])
#print([d.split('/')[-1]]) #print([d.split('/')[-1]])
#"all_pkgs": all_pkgs,
fn.write(json.dumps({"all_pkgs": all_pkgs, "Catalog": pkg_list, "aliases": AliaseCategory, "overlays": overlays, "recovers": recovers, "usesDecriptions":listUses})) fn.write(json.dumps({"all_pkgs": all_pkgs,"Catalog": pkg_list, "aliases": AliaseCategory, "overlays": overlays, "recovers": recovers, "usesDecription":listUses }))
print(len(pkg_list)) print(len(pkg_list))
#print("Found:\t"+ str(len(pkg_list.keys())) + " category\n" + str(len(all_pkgs)) +"packages\n") #print("Found:\t"+ str(len(pkg_list.keys())) + " category\n" + str(len(all_pkgs)) +"packages\n")
def on_find(p_v):
def on_find(pv):
if not os.path.exists('./pkgs.json'): if not os.path.exists('./pkgs.json'):
create_db() create_db()
p = [] p = []
ret_p ="" ret_p =""
ret = {} ret = {}
with open('./pkgs.json', 'r') as fn: with open('./pkgs.json', 'r') as fn:
data = fn.read() #data = fn.read()
pkg_list= fn.read() pkg_list= fn.read()
pkg_list = data.split("\n") pkg_list = data.split("\n")
@ -86,7 +84,7 @@ def on_find(pv):
if p_v in i and not i in p: if p_v in i and not i in p:
print(i) print(i)
p.append(str(i)) p.append(str(i))
ret_p = ret_p +"\t" + i #ret_p = ret_p +"\t" + i
print("Find in template:\t" + str(len(p))) print("Find in template:\t" + str(len(p)))
#ret = {"Name": ret_p.split("\t")} #ret = {"Name": ret_p.split("\t")}

@ -4,35 +4,32 @@ import os, sys
def get_global_USE(): def get_global_USE():
ListUSE={} ListUSE={}
with open("/usr/portage/profiles/use.desc") as uses: path = '32wwwuse.desc'
line = uses.read().split("\n") with open(path) as f:
print(line) lines =f.read().split("\n")
for l in line: for line in lines:
if l.startswith('#') or l =='': if line.startswith('#'):
pass pass
else: else:
try: #try:
#result[cat].append(search(r)) #result[cat].append(search(r))
ListUSE[str(l.split('-'[0]))] =str(l.split('-')[1:]).replace('[', "") and str(l.split('-')[1:]).replace(']', "") ListUSE[line.split('-')[0]].append(str(line.replace(line.split('-')[0], "")))
print(ListUSE[str(l.split('-'[0]))]) #except Exception (e):
except Exception (e): # print(e)
print(e)
return ListUSE return ListUSE
def get_local_USE(): def get_local_USE():
ListUSE={} ListUSE={}
with open("/usr/portage/profiles/use.desc") as uses: path = '/usr/portage/profiles/use.local.desc'
line = uses.read().split("\n") with open(path) as f:
print(line) lines =f.read().split("\n")
for l in line: for line in lines:
if l.startswith('#') or l =='': if line.startswith('#'):
pass pass
else: else:
try: #try:
#result[cat].append(search(r)) ListUSE[line.split('-')[0]] = str(line.replace(line.split('-')[0], ""))
ListUSE[str(l.split('-')[0])] = str(l.split('-')[1:]) #except Exception (e):
print(ListUSE[str(l.split('-')[0])]) # print(e)
except Exception (e):
print(e)
return ListUSE return ListUSE

File diff suppressed because one or more lines are too long
Loading…
Cancel
Save