11from datetime import datetime , date
2- from six import iteritems , PY2 , PY3
2+ from six import iteritems , PY2 , PY3 , u
33import json
44import pytz
55if PY3 :
@@ -75,7 +75,7 @@ def __init__(self, sdk, values):
7575 def stop (self ):
7676 """
7777 Stops an OpenTok archive that is being recorded.
78-
78+
7979 Archives automatically stop recording after 90 minutes or when all clients have disconnected
8080 from the session being archived.
8181 """
@@ -86,7 +86,7 @@ def stop(self):
8686 def delete (self ):
8787 """
8888 Deletes an OpenTok archive.
89-
89+
9090 You can only delete an archive which has a status of "available" or "uploaded". Deleting an
9191 archive removes its record from the list of archives. For an "available" archive, it also
9292 removes the archive file, making it unavailable for download.
@@ -108,9 +108,9 @@ def json(self):
108108
109109class ArchiveList (object ):
110110
111- def __init__ (self , values ):
111+ def __init__ (self , sdk , values ):
112112 self .count = values .get ('count' )
113- self .items = map (lambda x : Archive (self , x ), values .get ('items' , []))
113+ self .items = list ( map (lambda x : Archive (sdk , x ), values .get ('items' , []) ))
114114
115115 def __iter__ (self ):
116116 for x in self .items :
@@ -125,4 +125,11 @@ def attrs(self):
125125 def json (self ):
126126 return json .dumps (self .attrs (), default = dthandler , indent = 4 )
127127
128+ def __getitem__ (self , key ):
129+ return self .items .get (key )
130+
131+ def __setitem__ (self , key , item ):
132+ raise ArchiveError (u ('Cannot set item {0} for key {1} in Archive object' ).format (item , key ))
128133
134+ def __len__ (self ):
135+ return len (self .items )
0 commit comments