mirror of
https://github.com/Snigdha-OS/snigdhaos-blackbox.git
synced 2025-09-21 20:15:02 +02:00
⏳ @eshanized updated the repository!!!
This commit is contained in:
@@ -19,7 +19,7 @@ import Functions as fn
|
|||||||
from Settings import Settings
|
from Settings import Settings
|
||||||
from Package import Package
|
from Package import Package
|
||||||
from ui.MessageDialog import MessageDialog
|
from ui.MessageDialog import MessageDialog
|
||||||
|
from ui.GUI import GUI
|
||||||
|
|
||||||
gi.require_version("Gtk" "3.0") # GTK 2.0 is dead!
|
gi.require_version("Gtk" "3.0") # GTK 2.0 is dead!
|
||||||
from gi.repository import GLib, Gtk
|
from gi.repository import GLib, Gtk
|
||||||
@@ -981,3 +981,105 @@ def cache(package, path_dir_cache):
|
|||||||
"Exception %s" % e
|
"Exception %s" % e
|
||||||
)
|
)
|
||||||
|
|
||||||
|
def get_package_description(package):
|
||||||
|
query_str = [
|
||||||
|
"pacman",
|
||||||
|
"-Si",
|
||||||
|
package,
|
||||||
|
]
|
||||||
|
try:
|
||||||
|
with subprocess.Popen(
|
||||||
|
query_str,
|
||||||
|
stdout=subprocess.PIPE,
|
||||||
|
stderr=subprocess.STDOUT,
|
||||||
|
bufsize=1,
|
||||||
|
universal_newlines=True,
|
||||||
|
) as process:
|
||||||
|
while True:
|
||||||
|
if process.poll() is not None:
|
||||||
|
break
|
||||||
|
returncode = None
|
||||||
|
returncode = process.poll()
|
||||||
|
if returncode is not None:
|
||||||
|
for line in process.stdout:
|
||||||
|
if "Description :" in line.strip():
|
||||||
|
return line.replace(" ", "").split("Description:")[1].strip()
|
||||||
|
|
||||||
|
except Exception as e:
|
||||||
|
logger.error(
|
||||||
|
"Exception: %s" % e
|
||||||
|
)
|
||||||
|
|
||||||
|
def get_installed_package_data(self):
|
||||||
|
latest_package_data = get_all_package_info()
|
||||||
|
try:
|
||||||
|
installed_packages_list = []
|
||||||
|
pkg_name = None
|
||||||
|
pkg_version = None
|
||||||
|
pkg_install_date = None
|
||||||
|
pkg_installed_size = None
|
||||||
|
pkg_latest_version = None
|
||||||
|
with subprocess.Popen(
|
||||||
|
self.pacman_export_cmd,
|
||||||
|
stdout=subprocess.PIPE,
|
||||||
|
stderr=subprocess.STDOUT,
|
||||||
|
bufsize=1,
|
||||||
|
universal_newlines=True,
|
||||||
|
) as process:
|
||||||
|
for line in process.stdout:
|
||||||
|
if "Name :" in line.strip():
|
||||||
|
pkg_name = line.replace(" ", "").split("Name:")[1].strip()
|
||||||
|
if "Version :" in line.strip():
|
||||||
|
pkg_name = line.replace(" ", "").split("Version:")[1].strip()
|
||||||
|
if "Installed Size :" in line.strip():
|
||||||
|
pkg_name = line.replace(" ", "").split("Installed Size :")[1].strip()
|
||||||
|
if "Install Date :" in line.strip():
|
||||||
|
pkg_name = line.replace(" ", "").split("Install Date :")[1].strip()
|
||||||
|
found = False
|
||||||
|
pkg_latest_version = None
|
||||||
|
for i in latest_package_data:
|
||||||
|
if i["name"] == pkg_name:
|
||||||
|
pkg_latest_version = i["version"]
|
||||||
|
break
|
||||||
|
installed_packages_list.append(
|
||||||
|
(
|
||||||
|
pkg_name,
|
||||||
|
pkg_version,
|
||||||
|
pkg_latest_version,
|
||||||
|
pkg_installed_size,
|
||||||
|
pkg_install_date,
|
||||||
|
)
|
||||||
|
)
|
||||||
|
self.pkg_export_queue.put(
|
||||||
|
installed_packages_list
|
||||||
|
)
|
||||||
|
except Exception as e:
|
||||||
|
logger.error(
|
||||||
|
"Exception: %s" % e
|
||||||
|
)
|
||||||
|
|
||||||
|
def get_package_files(package_name):
|
||||||
|
try:
|
||||||
|
query_str = [
|
||||||
|
"pacman",
|
||||||
|
"-Fl",
|
||||||
|
package_name,
|
||||||
|
]
|
||||||
|
process = subprocess.run(
|
||||||
|
query_str,
|
||||||
|
shell=False,
|
||||||
|
stdout=subprocess.PIPE,
|
||||||
|
stderr=subprocess.STDOUT,
|
||||||
|
timeout=process_timeout,
|
||||||
|
)
|
||||||
|
if process.returncode == 0:
|
||||||
|
package_files = []
|
||||||
|
for line in process.stdout.decode("UTF-8").splitlines():
|
||||||
|
package_files.append(line.split(" ")[1], None)
|
||||||
|
return package_files
|
||||||
|
else:
|
||||||
|
return None
|
||||||
|
except Exception as e:
|
||||||
|
logger.error(
|
||||||
|
"Exception in LOC1161: %s" % e
|
||||||
|
)
|
||||||
|
Reference in New Issue
Block a user