#NEWLINE# def items( self , folder_id , subfolder_id , ann_id = None ) : #NEWLINE# #INDENT# 'Yields an unodered generator of items in a subfolder.\n\n        The generator yields items, which are represented by a tuple\n        of ``content_id`` and ``subtopic_id``. The format of these\n        identifiers is unspecified.\n\n        By default (with ``ann_id=None``), subfolders are shown for all\n        anonymous users. Optionally, ``ann_id`` can be set to a username,\n        which restricts the list to only subfolders owned by that user.\n\n        :param str folder_id: Folder id\n        :param str subfolder_id: Subfolder id\n        :param str ann_id: Username\n        :rtype: generator of ``(content_id, subtopic_id)``\n        ' #NEWLINE# self . assert_valid_folder_id ( folder_id ) #NEWLINE# self . assert_valid_folder_id ( subfolder_id ) #NEWLINE# ann_id = self . _annotator ( ann_id ) #NEWLINE# folder_cid = self . wrap_folder_content_id ( ann_id , folder_id ) #NEWLINE# subfolder_sid = self . wrap_subfolder_subtopic_id ( subfolder_id ) #NEWLINE# ident = ( folder_cid , subfolder_sid ) #NEWLINE# if ( self . store . get ( folder_cid ) is None ) : #NEWLINE# #INDENT# raise KeyError ( folder_id ) #NEWLINE# #UNINDENT# for lab in self . label_store . directly_connected ( ident ) : #NEWLINE# #INDENT# cid = lab . other ( folder_cid ) #NEWLINE# subid = lab . subtopic_for ( cid ) #NEWLINE# ( yield ( cid , subid ) )