mirror of
https://github.com/Snigdha-OS/snigdhaos-kernel-switcher-dev.git
synced 2025-09-20 12:14:57 +02:00
🚀 feat(_construct): still on contruction
This commit is contained in:
41
lib/Kernel.py
Normal file
41
lib/Kernel.py
Normal file
@@ -0,0 +1,41 @@
|
||||
# Store kernel data from ALA, pacman sync db
|
||||
import datetime
|
||||
from datetime import datetime
|
||||
|
||||
|
||||
class Kernel:
|
||||
def __init__(self, name, headers, version, size, last_modified, file_format):
|
||||
self.name = name
|
||||
self.headers = headers
|
||||
self.version = version
|
||||
self.size = size
|
||||
self.last_modified = last_modified
|
||||
self.file_format = file_format
|
||||
|
||||
def __gt__(self, other):
|
||||
datetime_value_self = (datetime.strptime(self.last_modified, "%d-%b-%Y %H:%M").replace(tzinfo=None).date())
|
||||
datetime_value_other = (datetime.strptime(other.last_modified, "%d-%b-%Y %H:%M").replace(tzinfo=None).date())
|
||||
if datetime_value_other >= datetime_value_self:
|
||||
return datetime_value_other
|
||||
|
||||
|
||||
class CommunityKernel:
|
||||
def __init__(self, name, headers, repository, version, build_date, install_size):
|
||||
self.name = name
|
||||
self.headers = headers
|
||||
self.repository = repository
|
||||
self.version = version
|
||||
self.build_date = build_date
|
||||
self.install_size = install_size
|
||||
|
||||
def __gt__(self, other):
|
||||
if other.name > self.name:
|
||||
return other
|
||||
|
||||
|
||||
class InstalledKernel:
|
||||
def __init__(self, name, version, date, size):
|
||||
self.name = name
|
||||
self.version = version
|
||||
self.date = date
|
||||
self.size = size
|
@@ -10,6 +10,7 @@ import sys
|
||||
import gi
|
||||
from gi.repository import Gtk
|
||||
gi.require_version("Gtk", "3.0")
|
||||
from Kernel import Kernel, CommunityKernel, InstalledKernel
|
||||
|
||||
BaseDir = os.path.abspath(os.path.join(os.path.dirname(__file__)))
|
||||
SudoUsername = os.getlogin()
|
||||
@@ -133,8 +134,14 @@ def writeCache():
|
||||
except Exception as e:
|
||||
logger.error("Found error in write_cache() ! Type: %s" % e)
|
||||
|
||||
CacheDays = 5
|
||||
CachedKernelsList = []
|
||||
def refreshCache(self):
|
||||
CachedKernelsList.clear()
|
||||
if os.path.exists(CacheFile):
|
||||
os.remove(CacheFile)
|
||||
get_official_kernels(self)
|
||||
|
||||
CacheDays = 5
|
||||
def readCache(self):
|
||||
try:
|
||||
self.timestamp = None
|
||||
@@ -156,7 +163,7 @@ def readCache(self):
|
||||
delta = datetime.datetime.now() - self.timestamp
|
||||
if delta.days >= CacheDays:
|
||||
logger.info("Cache is older than 5 days, refreshing ..")
|
||||
refresh_cache(self)
|
||||
refreshCache(self)
|
||||
else:
|
||||
if delta.days > 0:
|
||||
logger.debug("Cache is %s days old" % delta.days)
|
||||
@@ -183,3 +190,5 @@ def readCache(self):
|
||||
logger.error("Failed to read cache file")
|
||||
except Exception as e:
|
||||
logger.error("Exception in read_cache(): %s" % e)
|
||||
|
||||
def getOfficialKernels(self):
|
Reference in New Issue
Block a user