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
|
import gi
|
||||||
from gi.repository import Gtk
|
from gi.repository import Gtk
|
||||||
gi.require_version("Gtk", "3.0")
|
gi.require_version("Gtk", "3.0")
|
||||||
|
from Kernel import Kernel, CommunityKernel, InstalledKernel
|
||||||
|
|
||||||
BaseDir = os.path.abspath(os.path.join(os.path.dirname(__file__)))
|
BaseDir = os.path.abspath(os.path.join(os.path.dirname(__file__)))
|
||||||
SudoUsername = os.getlogin()
|
SudoUsername = os.getlogin()
|
||||||
@@ -133,8 +134,14 @@ def writeCache():
|
|||||||
except Exception as e:
|
except Exception as e:
|
||||||
logger.error("Found error in write_cache() ! Type: %s" % e)
|
logger.error("Found error in write_cache() ! Type: %s" % e)
|
||||||
|
|
||||||
CacheDays = 5
|
|
||||||
CachedKernelsList = []
|
CachedKernelsList = []
|
||||||
|
def refreshCache(self):
|
||||||
|
CachedKernelsList.clear()
|
||||||
|
if os.path.exists(CacheFile):
|
||||||
|
os.remove(CacheFile)
|
||||||
|
get_official_kernels(self)
|
||||||
|
|
||||||
|
CacheDays = 5
|
||||||
def readCache(self):
|
def readCache(self):
|
||||||
try:
|
try:
|
||||||
self.timestamp = None
|
self.timestamp = None
|
||||||
@@ -156,7 +163,7 @@ def readCache(self):
|
|||||||
delta = datetime.datetime.now() - self.timestamp
|
delta = datetime.datetime.now() - self.timestamp
|
||||||
if delta.days >= CacheDays:
|
if delta.days >= CacheDays:
|
||||||
logger.info("Cache is older than 5 days, refreshing ..")
|
logger.info("Cache is older than 5 days, refreshing ..")
|
||||||
refresh_cache(self)
|
refreshCache(self)
|
||||||
else:
|
else:
|
||||||
if delta.days > 0:
|
if delta.days > 0:
|
||||||
logger.debug("Cache is %s days old" % delta.days)
|
logger.debug("Cache is %s days old" % delta.days)
|
||||||
@@ -183,3 +190,5 @@ def readCache(self):
|
|||||||
logger.error("Failed to read cache file")
|
logger.error("Failed to read cache file")
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logger.error("Exception in read_cache(): %s" % e)
|
logger.error("Exception in read_cache(): %s" % e)
|
||||||
|
|
||||||
|
def getOfficialKernels(self):
|
Reference in New Issue
Block a user