UniNews
University news from Greek and international universities in one place
Loading...
Searching...
No Matches
uninews.database.Database Class Reference

Public Member Functions

 __init__ (self, Path|str path)
 
Self __enter__ (self)
 
None __exit__ (self, *exc_info)
 
None close (self)
 
list[Article] save_articles (self, Iterable[Article] articles)
 
int trim (self, int max_articles)
 
None clear (self)
 
list[Article] get_articles (self, *str|None category=None, str|None publisher=None, str|None source=None, str|None search=None, int limit=20, int offset=0)
 
int count_articles (self, *str|None category=None, str|None publisher=None, str|None source=None, str|None search=None)
 
dict[str, dict[str, list[str]]] get_source_tree (self)
 

Public Attributes

 path
 
 connection
 

Protected Member Functions

None _create_or_check_schema (self)
 

Constructor & Destructor Documentation

◆ __init__()

uninews.database.Database.__init__ (   self,
Path | str  path 
)

Member Function Documentation

◆ __enter__()

Self uninews.database.Database.__enter__ (   self)

◆ __exit__()

None uninews.database.Database.__exit__ (   self,
*  exc_info 
)

◆ _create_or_check_schema()

None uninews.database.Database._create_or_check_schema (   self)
protected

◆ clear()

None uninews.database.Database.clear (   self)
Delete everything, so the next refresh fetches all articles again.

◆ close()

None uninews.database.Database.close (   self)

◆ count_articles()

int uninews.database.Database.count_articles (   self,
*str | None   category = None,
str | None   publisher = None,
str | None   source = None,
str | None   search = None 
)

◆ get_articles()

list[Article] uninews.database.Database.get_articles (   self,
*str | None   category = None,
str | None   publisher = None,
str | None   source = None,
str | None   search = None,
int   limit = 20,
int   offset = 0 
)
Newest first. None means "no filter".

◆ get_source_tree()

dict[str, dict[str, list[str]]] uninews.database.Database.get_source_tree (   self)
{category: {publisher: [source, ...]}} for the sidebar.

◆ save_articles()

list[Article] uninews.database.Database.save_articles (   self,
Iterable[Article]  articles 
)
Store articles not seen before. Returns only the new ones.

◆ trim()

int uninews.database.Database.trim (   self,
int  max_articles 
)
Keep the newest max_articles. Returns how many were removed.

Member Data Documentation

◆ connection

uninews.database.Database.connection

◆ path

uninews.database.Database.path

The documentation for this class was generated from the following file: