add dict description USEs

pull/1/head
serkus01 3 years ago
parent 887b47b29a
commit a0e066f9c4

@ -5,6 +5,9 @@ import json
from io import StringIO
from utils.utils import get_list_overlays
from GenRecovers import ScanRecoverFile
from getUses import get_global_USE
from package import search
# создаём разширеную базу пактов с предлизительно структурой
#pkg_list ={"category": [{name: name_pkg, versions:[list_version]}]}
# и клладём это всё в json
@ -21,6 +24,7 @@ def create_db():
overlays = get_list_overlays()
recovers = ScanRecoverFile()
pkg_list ={}
listUses=get_global_USE()
port_dir =["/var/lib/layman/", "/usr/portage"]
if not os.path.exists('./pkgs.json'):
print("Create ramdb")
@ -49,8 +53,8 @@ def create_db():
if str(d.split("/")[-2] +"/" + d.split("/")[-1]) in AliaseCategory:
all_pkgs.append(AliaseCategory[d])
else:
all_pkgs.append(str(d.split("/")[-2] +"/" + d.split("/")[-1]))
print(all_pkgs[str(d.split("/")[-2] +"/" + d.split("/")[-1])])
all_pkgs.append(d.split("/")[-2] +"/" + d.split("/")[-1])
#print(all_pkgs[d.split("/")[-2] +"/" + d.split("/")[-1]])
if d.split("/")[-2] not in pkg_list.keys():
pkg_list[str(d.split("/")[-2])] = []
@ -60,13 +64,14 @@ def create_db():
if d.split('/')[-1] not in pkg_list[d.split('/')[-2]]:
pkg_list[d.split("/")[-2]].append(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, "usesDecription":listUses}))
print(len(pkg_list))
fn.write(json.dumps({"all_pkgs": all_pkgs,"Catalog": pkg_list, "aliases": AliaseCategory, "overlays": overlays, "recovers": recovers}))
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'):
create_db()
p = []
@ -78,10 +83,10 @@ def on_find(p_v):
pkg_list = data.split("\n")
for i in pkg_list:
if p_v in i and not i in p:
print(i)
p.append(str(i))
ret_p = ret_p +"\t" + i
if p_v in i and not i in p:
print(i)
p.append(str(i))
ret_p = ret_p +"\t" + i
print("Find in template:\t" + str(len(p)))
#ret = {"Name": ret_p.split("\t")}

@ -0,0 +1,23 @@
#-*- codding: UTF-8 -*-
#!/usr/bin/env python
import os, sys
def get_global_USE():
ListUSE={}
path ='/usr/portage/profiles/use.desc'
with open(path) as uses:
with open('./recovers.txt') as uses:
line = uses.read().replace("\n", "")
if line.startswith('#') and line =='':
pass
else:
try:
#result[cat].append(search(r))
ListUSE[str(line.split('-'[0]))] =str(line.split('-')[1:])
except Exception (e):
print(e)
return ListUSE
def get_local_USE():
pass

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -56,7 +56,7 @@ class Handler(BaseHTTPRequestHandler):
pkg_list = json.loads(data)
print(pkg_list)
except Exception (e):
print(str(e))
print(e)
self.r_t = json.dumps({"dump_portage": pkg_list})
elif self.path == '/main':

Loading…
Cancel
Save