Package entropy :: Package client :: Package interfaces :: Module noticeboard :: Class NoticeBoardMixin

Class NoticeBoardMixin

source code


Main interface for handling Repository Notice Board user data, such as notice board items status, metadata retrieval, etc.

Instance Methods
bool
are_noticeboards_marked_as_read(self)
Return whether all available repository noticeboards are marked as read.
source code
dict
get_noticeboard(self, repoid)
Return noticeboard RSS metadata (dict form) for given repository identifier.
source code
set
get_noticeboard_item_read_status(self, repoid)
Return noticeboard items read status for given repository identifier.
source code
dict
get_noticeboard_userdata(self, repoid)
Return noticeboard user metadata dict for given repository identifier.
source code
 
is_noticeboard_marked_as_read(self, repoid)
Return whether noticeboard for given repository has been marked as "read" by user.
source code
 
mark_noticeboard_items_as_read(self, repoid)
Mark noticeboard items for given repository as "read".
source code
 
set_noticeboard_item_read_status(self, repoid, item_id, read_status)
Set given noticeboard item read status.
source code
 
store_noticeboard_userdata(self, repoid, metadata)
Store given noticeboard metadata for given repository to disk.
source code
 
unmark_noticeboard_items_as_read(self, repoid)
Unmark noticeboard items for given repository as "read".
source code
Method Details

are_noticeboards_marked_as_read(self)

source code 

Return whether all available repository noticeboards are marked as read.

Returns: bool
read status

get_noticeboard(self, repoid)

source code 

Return noticeboard RSS metadata (dict form) for given repository identifier. This method is fault tolerant, except for invalid repoid given, if repository notice board file is broken or not found an empty dict is returned.

Parameters:
  • repoid (string) - repository identifier
Returns: dict
repository metadata
Raises:
  • KeyError - if given repository identifier is not available

get_noticeboard_item_read_status(self, repoid)

source code 

Return noticeboard items read status for given repository identifier.

Parameters:
  • repoid (string) - repository identifier
Returns: set
item identifiers marked as "read"

get_noticeboard_userdata(self, repoid)

source code 

Return noticeboard user metadata dict for given repository identifier. This dictionary contains misc noticeboard information for given repository, like (at the moment) items read status.

Parameters:
  • repoid (string) - repository identifier
Returns: dict
repository user metadata
Raises:
  • KeyError - if given repository identifier is not available

is_noticeboard_marked_as_read(self, repoid)

source code 

Return whether noticeboard for given repository has been marked as "read" by user.

Parameters:
  • repoid (string) - repository identifier

mark_noticeboard_items_as_read(self, repoid)

source code 

Mark noticeboard items for given repository as "read". "read" status will be automatically tainted when noticeboard changes.

Parameters:
  • repoid (string) - repository identifier

set_noticeboard_item_read_status(self, repoid, item_id, read_status)

source code 

Set given noticeboard item read status. This method also handles repository user metadata on-disk storage, this is a "one-shot" function, no need to call anything else.

Parameters:
  • repoid (string) - repository identifier
  • item_id (int) - repository noticeboard item identifier
  • read_status (bool) - read status (True if read, False if not)
Raises:
  • KeyError - if given repository identifier is not valid

store_noticeboard_userdata(self, repoid, metadata)

source code 

Store given noticeboard metadata for given repository to disk.

Parameters:
  • repoid (string) - repository identifier
  • metadata (dict) - repository user metadata to store
Raises:
  • KeyError - if given repository identifier is not available
  • RepositoryError - if given repository directory is not available

unmark_noticeboard_items_as_read(self, repoid)

source code 

Unmark noticeboard items for given repository as "read". "read" status will be automatically tainted when noticeboard changes.

Parameters:
  • repoid (string) - repository identifier