soundcloud python/php apis, recorder python script so far.

This commit is contained in:
Naomi 2011-03-05 11:53:29 -05:00
parent b3e111b0a0
commit f68a8f67ea
109 changed files with 24297 additions and 10 deletions

View file

@ -0,0 +1,333 @@
scapi scapi-module.html
scapi.escape scapi.util-module.html#escape
scapi.USE_PROXY scapi-module.html#USE_PROXY
scapi.REQUEST_TOKEN_URL scapi-module.html#REQUEST_TOKEN_URL
scapi.PROXY scapi-module.html#PROXY
scapi.ACCESS_TOKEN_URL scapi-module.html#ACCESS_TOKEN_URL
scapi.register_classes scapi-module.html#register_classes
scapi.logger scapi-module.html#logger
scapi.AUTHORIZATION_URL scapi-module.html#AUTHORIZATION_URL
scapi.authentication scapi.authentication-module.html
scapi.authentication.USE_DOUBLE_ESCAPE_HACK scapi.authentication-module.html#USE_DOUBLE_ESCAPE_HACK
scapi.authentication.escape scapi.util-module.html#escape
scapi.authentication.logger scapi.authentication-module.html#logger
scapi.config scapi.config-module.html
scapi.json scapi.json-module.html
scapi.json.read scapi.json-module.html#read
scapi.json.write scapi.json-module.html#write
scapi.multidict scapi.multidict-module.html
scapi.tests scapi.tests-module.html
scapi.tests.scapi_tests scapi.tests.scapi_tests-module.html
scapi.tests.scapi_tests.api_logger scapi.tests.scapi_tests-module.html#api_logger
scapi.tests.scapi_tests.logger scapi.tests.scapi_tests-module.html#logger
scapi.tests.test_connect scapi.tests.test_connect-module.html
scapi.tests.test_connect.test_me_having_stress scapi.tests.test_connect-module.html#test_me_having_stress
scapi.tests.test_connect.test_scoped_track_creation scapi.tests.test_connect-module.html#test_scoped_track_creation
scapi.tests.test_connect.test_permissions scapi.tests.test_connect-module.html#test_permissions
scapi.tests.test_connect.CONSUMER_SECRET scapi.tests.test_connect-module.html#CONSUMER_SECRET
scapi.tests.test_connect.CONSUMER scapi.tests.test_connect-module.html#CONSUMER
scapi.tests.test_connect.load_config scapi.tests.test_connect-module.html#load_config
scapi.tests.test_connect.test_upload scapi.tests.test_connect-module.html#test_upload
scapi.tests.test_connect.USER scapi.tests.test_connect-module.html#USER
scapi.tests.test_connect.test_load_config scapi.tests.test_connect-module.html#test_load_config
scapi.tests.test_connect.test_access_token_acquisition scapi.tests.test_connect-module.html#test_access_token_acquisition
scapi.tests.test_connect.test_track_creation scapi.tests.test_connect-module.html#test_track_creation
scapi.tests.test_connect.test_setting_comments scapi.tests.test_connect-module.html#test_setting_comments
scapi.tests.test_connect.test_track_update scapi.tests.test_connect-module.html#test_track_update
scapi.tests.test_connect.SECRET scapi.tests.test_connect-module.html#SECRET
scapi.tests.test_connect.test_contact_add_and_removal scapi.tests.test_connect-module.html#test_contact_add_and_removal
scapi.tests.test_connect.logger scapi.tests.test_connect-module.html#logger
scapi.tests.test_connect.test_connect scapi.tests.test_connect-module.html#test_connect
scapi.tests.test_connect.ROOT scapi.tests.test_connect-module.html#ROOT
scapi.tests.test_connect.test_contact_list scapi.tests.test_connect-module.html#test_contact_list
scapi.tests.test_connect.test_playlists scapi.tests.test_connect-module.html#test_playlists
scapi.tests.test_connect.API_HOST scapi.tests.test_connect-module.html#API_HOST
scapi.tests.test_connect._logger scapi.tests.test_connect-module.html#_logger
scapi.tests.test_connect.TOKEN scapi.tests.test_connect-module.html#TOKEN
scapi.tests.test_connect.test_events scapi.tests.test_connect-module.html#test_events
scapi.tests.test_connect.test_non_global_api scapi.tests.test_connect-module.html#test_non_global_api
scapi.tests.test_connect.test_setting_permissions scapi.tests.test_connect-module.html#test_setting_permissions
scapi.tests.test_connect.PASSWORD scapi.tests.test_connect-module.html#PASSWORD
scapi.tests.test_connect.test_setting_comments_the_way_shawn_says_its_correct scapi.tests.test_connect-module.html#test_setting_comments_the_way_shawn_says_its_correct
scapi.tests.test_connect.test_large_list scapi.tests.test_connect-module.html#test_large_list
scapi.tests.test_connect.CONNECTOR scapi.tests.test_connect-module.html#CONNECTOR
scapi.tests.test_connect.CONFIG_NAME scapi.tests.test_connect-module.html#CONFIG_NAME
scapi.tests.test_connect.RUN_INTERACTIVE_TESTS scapi.tests.test_connect-module.html#RUN_INTERACTIVE_TESTS
scapi.tests.test_connect.setup scapi.tests.test_connect-module.html#setup
scapi.tests.test_connect.test_favorites scapi.tests.test_connect-module.html#test_favorites
scapi.tests.test_connect.USE_OAUTH scapi.tests.test_connect-module.html#USE_OAUTH
scapi.tests.test_oauth scapi.tests.test_oauth-module.html
scapi.tests.test_oauth._logger scapi.tests.test_oauth-module.html#_logger
scapi.tests.test_oauth.test_oauth_connect scapi.tests.test_oauth-module.html#test_oauth_connect
scapi.tests.test_oauth.TOKEN scapi.tests.test_oauth-module.html#TOKEN
scapi.tests.test_oauth.test_base64_connect scapi.tests.test_oauth-module.html#test_base64_connect
scapi.tests.test_oauth.CONSUMER_SECRET scapi.tests.test_oauth-module.html#CONSUMER_SECRET
scapi.tests.test_oauth.SECRET scapi.tests.test_oauth-module.html#SECRET
scapi.tests.test_oauth.logger scapi.tests.test_oauth-module.html#logger
scapi.tests.test_oauth.CONSUMER scapi.tests.test_oauth-module.html#CONSUMER
scapi.util scapi.util-module.html
scapi.util.escape scapi.util-module.html#escape
exceptions.AssertionError exceptions.AssertionError-class.html
exceptions.AssertionError.__init__ exceptions.AssertionError-class.html#__init__
exceptions.AssertionError.__new__ exceptions.AssertionError-class.html#__new__
scapi.ApiConnector scapi.ApiConnector-class.html
scapi.ApiConnector.fetch_access_token scapi.ApiConnector-class.html#fetch_access_token
scapi.ApiConnector.LIST_LIMIT scapi.ApiConnector-class.html#LIST_LIMIT
scapi.ApiConnector.LIST_LIMIT_PARAMETER scapi.ApiConnector-class.html#LIST_LIMIT_PARAMETER
scapi.ApiConnector.fetch_request_token scapi.ApiConnector-class.html#fetch_request_token
scapi.ApiConnector.get_request_token_authorization_url scapi.ApiConnector-class.html#get_request_token_authorization_url
scapi.ApiConnector.normalize_method scapi.ApiConnector-class.html#normalize_method
scapi.ApiConnector.__init__ scapi.ApiConnector-class.html#__init__
scapi.ApiConnector.LIST_OFFSET_PARAMETER scapi.ApiConnector-class.html#LIST_OFFSET_PARAMETER
scapi.Comment scapi.Comment-class.html
scapi.RESTBase._scope scapi.RESTBase-class.html#_scope
scapi.RESTBase.__init__ scapi.RESTBase-class.html#__init__
scapi.Comment.KIND scapi.Comment-class.html#KIND
scapi.RESTBase.create scapi.RESTBase-class.html#create
scapi.RESTBase.get scapi.RESTBase-class.html#get
scapi.RESTBase.__getattr__ scapi.RESTBase-class.html#__getattr__
scapi.RESTBase.ALL_DOMAIN_CLASSES scapi.RESTBase-class.html#ALL_DOMAIN_CLASSES
scapi.RESTBase.new scapi.RESTBase-class.html#new
scapi.RESTBase.ALIASES scapi.RESTBase-class.html#ALIASES
scapi.RESTBase.__ne__ scapi.RESTBase-class.html#__ne__
scapi.RESTBase._as_arguments scapi.RESTBase-class.html#_as_arguments
scapi.RESTBase._convert_value scapi.RESTBase-class.html#_convert_value
scapi.RESTBase.__setattr__ scapi.RESTBase-class.html#__setattr__
scapi.RESTBase._singleton scapi.RESTBase-class.html#_singleton
scapi.RESTBase.REGISTRY scapi.RESTBase-class.html#REGISTRY
scapi.RESTBase.__eq__ scapi.RESTBase-class.html#__eq__
scapi.RESTBase.__repr__ scapi.RESTBase-class.html#__repr__
scapi.RESTBase.__hash__ scapi.RESTBase-class.html#__hash__
scapi.Event scapi.Event-class.html
scapi.RESTBase._scope scapi.RESTBase-class.html#_scope
scapi.RESTBase.__init__ scapi.RESTBase-class.html#__init__
scapi.Event.KIND scapi.Event-class.html#KIND
scapi.RESTBase.create scapi.RESTBase-class.html#create
scapi.RESTBase.get scapi.RESTBase-class.html#get
scapi.RESTBase.__getattr__ scapi.RESTBase-class.html#__getattr__
scapi.RESTBase.ALL_DOMAIN_CLASSES scapi.RESTBase-class.html#ALL_DOMAIN_CLASSES
scapi.RESTBase.new scapi.RESTBase-class.html#new
scapi.RESTBase.ALIASES scapi.RESTBase-class.html#ALIASES
scapi.RESTBase.__ne__ scapi.RESTBase-class.html#__ne__
scapi.RESTBase._as_arguments scapi.RESTBase-class.html#_as_arguments
scapi.RESTBase._convert_value scapi.RESTBase-class.html#_convert_value
scapi.RESTBase.__setattr__ scapi.RESTBase-class.html#__setattr__
scapi.RESTBase._singleton scapi.RESTBase-class.html#_singleton
scapi.RESTBase.REGISTRY scapi.RESTBase-class.html#REGISTRY
scapi.RESTBase.__eq__ scapi.RESTBase-class.html#__eq__
scapi.RESTBase.__repr__ scapi.RESTBase-class.html#__repr__
scapi.RESTBase.__hash__ scapi.RESTBase-class.html#__hash__
scapi.Group scapi.Group-class.html
scapi.RESTBase._scope scapi.RESTBase-class.html#_scope
scapi.RESTBase.__init__ scapi.RESTBase-class.html#__init__
scapi.Group.KIND scapi.Group-class.html#KIND
scapi.RESTBase.create scapi.RESTBase-class.html#create
scapi.RESTBase.get scapi.RESTBase-class.html#get
scapi.RESTBase.__getattr__ scapi.RESTBase-class.html#__getattr__
scapi.RESTBase.ALL_DOMAIN_CLASSES scapi.RESTBase-class.html#ALL_DOMAIN_CLASSES
scapi.RESTBase.new scapi.RESTBase-class.html#new
scapi.RESTBase.ALIASES scapi.RESTBase-class.html#ALIASES
scapi.RESTBase.__ne__ scapi.RESTBase-class.html#__ne__
scapi.RESTBase._as_arguments scapi.RESTBase-class.html#_as_arguments
scapi.RESTBase._convert_value scapi.RESTBase-class.html#_convert_value
scapi.RESTBase.__setattr__ scapi.RESTBase-class.html#__setattr__
scapi.RESTBase._singleton scapi.RESTBase-class.html#_singleton
scapi.RESTBase.REGISTRY scapi.RESTBase-class.html#REGISTRY
scapi.RESTBase.__eq__ scapi.RESTBase-class.html#__eq__
scapi.RESTBase.__repr__ scapi.RESTBase-class.html#__repr__
scapi.RESTBase.__hash__ scapi.RESTBase-class.html#__hash__
scapi.InvalidMethodException scapi.InvalidMethodException-class.html
scapi.InvalidMethodException.__repr__ scapi.InvalidMethodException-class.html#__repr__
scapi.InvalidMethodException.__init__ scapi.InvalidMethodException-class.html#__init__
scapi.NoResultFromRequest scapi.NoResultFromRequest-class.html
scapi.Playlist scapi.Playlist-class.html
scapi.RESTBase._scope scapi.RESTBase-class.html#_scope
scapi.RESTBase.__init__ scapi.RESTBase-class.html#__init__
scapi.Playlist.KIND scapi.Playlist-class.html#KIND
scapi.RESTBase.create scapi.RESTBase-class.html#create
scapi.RESTBase.get scapi.RESTBase-class.html#get
scapi.RESTBase.__getattr__ scapi.RESTBase-class.html#__getattr__
scapi.RESTBase.ALL_DOMAIN_CLASSES scapi.RESTBase-class.html#ALL_DOMAIN_CLASSES
scapi.RESTBase.new scapi.RESTBase-class.html#new
scapi.RESTBase.ALIASES scapi.RESTBase-class.html#ALIASES
scapi.RESTBase.__ne__ scapi.RESTBase-class.html#__ne__
scapi.RESTBase._as_arguments scapi.RESTBase-class.html#_as_arguments
scapi.RESTBase._convert_value scapi.RESTBase-class.html#_convert_value
scapi.RESTBase.__setattr__ scapi.RESTBase-class.html#__setattr__
scapi.RESTBase._singleton scapi.RESTBase-class.html#_singleton
scapi.RESTBase.REGISTRY scapi.RESTBase-class.html#REGISTRY
scapi.RESTBase.__eq__ scapi.RESTBase-class.html#__eq__
scapi.RESTBase.__repr__ scapi.RESTBase-class.html#__repr__
scapi.RESTBase.__hash__ scapi.RESTBase-class.html#__hash__
scapi.RESTBase scapi.RESTBase-class.html
scapi.RESTBase._scope scapi.RESTBase-class.html#_scope
scapi.RESTBase.__init__ scapi.RESTBase-class.html#__init__
scapi.RESTBase.__setattr__ scapi.RESTBase-class.html#__setattr__
scapi.RESTBase.create scapi.RESTBase-class.html#create
scapi.RESTBase.get scapi.RESTBase-class.html#get
scapi.RESTBase.__getattr__ scapi.RESTBase-class.html#__getattr__
scapi.RESTBase.ALL_DOMAIN_CLASSES scapi.RESTBase-class.html#ALL_DOMAIN_CLASSES
scapi.RESTBase.new scapi.RESTBase-class.html#new
scapi.RESTBase.ALIASES scapi.RESTBase-class.html#ALIASES
scapi.RESTBase.__ne__ scapi.RESTBase-class.html#__ne__
scapi.RESTBase._as_arguments scapi.RESTBase-class.html#_as_arguments
scapi.RESTBase._convert_value scapi.RESTBase-class.html#_convert_value
scapi.RESTBase.KIND scapi.RESTBase-class.html#KIND
scapi.RESTBase._singleton scapi.RESTBase-class.html#_singleton
scapi.RESTBase.REGISTRY scapi.RESTBase-class.html#REGISTRY
scapi.RESTBase.__eq__ scapi.RESTBase-class.html#__eq__
scapi.RESTBase.__repr__ scapi.RESTBase-class.html#__repr__
scapi.RESTBase.__hash__ scapi.RESTBase-class.html#__hash__
scapi.SCRedirectHandler scapi.SCRedirectHandler-class.html
scapi.SCRedirectHandler.alternate_method scapi.SCRedirectHandler-class.html#alternate_method
scapi.SCRedirectHandler.http_error_303 scapi.SCRedirectHandler-class.html#http_error_303
scapi.SCRedirectHandler.http_error_201 scapi.SCRedirectHandler-class.html#http_error_201
scapi.Scope scapi.Scope-class.html
scapi.Scope.oauth_sign_get_request scapi.Scope-class.html#oauth_sign_get_request
scapi.Scope._map scapi.Scope-class.html#_map
scapi.Scope.__str__ scapi.Scope-class.html#__str__
scapi.Scope.__getattr__ scapi.Scope-class.html#__getattr__
scapi.Scope._call scapi.Scope-class.html#_call
scapi.Scope._create_query_string scapi.Scope-class.html#_create_query_string
scapi.Scope._create_request scapi.Scope-class.html#_create_request
scapi.Scope._get_connector scapi.Scope-class.html#_get_connector
scapi.Scope.__init__ scapi.Scope-class.html#__init__
scapi.Scope.__repr__ scapi.Scope-class.html#__repr__
scapi.Track scapi.Track-class.html
scapi.RESTBase._scope scapi.RESTBase-class.html#_scope
scapi.RESTBase.__init__ scapi.RESTBase-class.html#__init__
scapi.Track.KIND scapi.Track-class.html#KIND
scapi.RESTBase.create scapi.RESTBase-class.html#create
scapi.RESTBase._as_arguments scapi.RESTBase-class.html#_as_arguments
scapi.RESTBase.__getattr__ scapi.RESTBase-class.html#__getattr__
scapi.RESTBase.ALL_DOMAIN_CLASSES scapi.RESTBase-class.html#ALL_DOMAIN_CLASSES
scapi.RESTBase.new scapi.RESTBase-class.html#new
scapi.Track.ALIASES scapi.Track-class.html#ALIASES
scapi.RESTBase.__ne__ scapi.RESTBase-class.html#__ne__
scapi.RESTBase.get scapi.RESTBase-class.html#get
scapi.RESTBase._convert_value scapi.RESTBase-class.html#_convert_value
scapi.RESTBase.__setattr__ scapi.RESTBase-class.html#__setattr__
scapi.RESTBase._singleton scapi.RESTBase-class.html#_singleton
scapi.RESTBase.REGISTRY scapi.RESTBase-class.html#REGISTRY
scapi.RESTBase.__eq__ scapi.RESTBase-class.html#__eq__
scapi.RESTBase.__repr__ scapi.RESTBase-class.html#__repr__
scapi.RESTBase.__hash__ scapi.RESTBase-class.html#__hash__
scapi.UnknownContentType scapi.UnknownContentType-class.html
scapi.UnknownContentType.__str__ scapi.UnknownContentType-class.html#__str__
scapi.UnknownContentType.__repr__ scapi.UnknownContentType-class.html#__repr__
scapi.UnknownContentType.__init__ scapi.UnknownContentType-class.html#__init__
scapi.User scapi.User-class.html
scapi.RESTBase._scope scapi.RESTBase-class.html#_scope
scapi.RESTBase.__init__ scapi.RESTBase-class.html#__init__
scapi.User.KIND scapi.User-class.html#KIND
scapi.RESTBase.create scapi.RESTBase-class.html#create
scapi.RESTBase._as_arguments scapi.RESTBase-class.html#_as_arguments
scapi.RESTBase.__getattr__ scapi.RESTBase-class.html#__getattr__
scapi.RESTBase.ALL_DOMAIN_CLASSES scapi.RESTBase-class.html#ALL_DOMAIN_CLASSES
scapi.RESTBase.new scapi.RESTBase-class.html#new
scapi.User.ALIASES scapi.User-class.html#ALIASES
scapi.RESTBase.__ne__ scapi.RESTBase-class.html#__ne__
scapi.RESTBase.get scapi.RESTBase-class.html#get
scapi.RESTBase._convert_value scapi.RESTBase-class.html#_convert_value
scapi.RESTBase.__setattr__ scapi.RESTBase-class.html#__setattr__
scapi.RESTBase._singleton scapi.RESTBase-class.html#_singleton
scapi.RESTBase.REGISTRY scapi.RESTBase-class.html#REGISTRY
scapi.RESTBase.__eq__ scapi.RESTBase-class.html#__eq__
scapi.RESTBase.__repr__ scapi.RESTBase-class.html#__repr__
scapi.RESTBase.__hash__ scapi.RESTBase-class.html#__hash__
scapi.authentication.BasicAuthenticator scapi.authentication.BasicAuthenticator-class.html
scapi.authentication.BasicAuthenticator.augment_request scapi.authentication.BasicAuthenticator-class.html#augment_request
scapi.authentication.BasicAuthenticator.__init__ scapi.authentication.BasicAuthenticator-class.html#__init__
scapi.authentication.OAuthAuthenticator scapi.authentication.OAuthAuthenticator-class.html
scapi.authentication.OAuthAuthenticator.augment_request scapi.authentication.OAuthAuthenticator-class.html#augment_request
scapi.authentication.OAuthAuthenticator.generate_nonce scapi.authentication.OAuthAuthenticator-class.html#generate_nonce
scapi.authentication.OAuthAuthenticator.OAUTH_API_VERSION scapi.authentication.OAuthAuthenticator-class.html#OAUTH_API_VERSION
scapi.authentication.OAuthAuthenticator.generate_timestamp scapi.authentication.OAuthAuthenticator-class.html#generate_timestamp
scapi.authentication.OAuthAuthenticator.AUTHORIZATION_HEADER scapi.authentication.OAuthAuthenticator-class.html#AUTHORIZATION_HEADER
scapi.authentication.OAuthAuthenticator.__init__ scapi.authentication.OAuthAuthenticator-class.html#__init__
scapi.authentication.OAuthSignatureMethod_HMAC_SHA1 scapi.authentication.OAuthSignatureMethod_HMAC_SHA1-class.html
scapi.authentication.OAuthSignatureMethod_HMAC_SHA1.FORBIDDEN scapi.authentication.OAuthSignatureMethod_HMAC_SHA1-class.html#FORBIDDEN
scapi.authentication.OAuthSignatureMethod_HMAC_SHA1.get_name scapi.authentication.OAuthSignatureMethod_HMAC_SHA1-class.html#get_name
scapi.authentication.OAuthSignatureMethod_HMAC_SHA1.get_normalized_http_method scapi.authentication.OAuthSignatureMethod_HMAC_SHA1-class.html#get_normalized_http_method
scapi.authentication.OAuthSignatureMethod_HMAC_SHA1.get_normalized_http_url scapi.authentication.OAuthSignatureMethod_HMAC_SHA1-class.html#get_normalized_http_url
scapi.authentication.OAuthSignatureMethod_HMAC_SHA1.get_normalized_parameters scapi.authentication.OAuthSignatureMethod_HMAC_SHA1-class.html#get_normalized_parameters
scapi.authentication.OAuthSignatureMethod_HMAC_SHA1.build_signature scapi.authentication.OAuthSignatureMethod_HMAC_SHA1-class.html#build_signature
scapi.json.JsonReader scapi.json.JsonReader-class.html
scapi.json.JsonReader.escapes scapi.json.JsonReader-class.html#escapes
scapi.json.JsonReader._readObject scapi.json.JsonReader-class.html#_readObject
scapi.json.JsonReader._assertNext scapi.json.JsonReader-class.html#_assertNext
scapi.json.JsonReader._readNumber scapi.json.JsonReader-class.html#_readNumber
scapi.json.JsonReader._peek scapi.json.JsonReader-class.html#_peek
scapi.json.JsonReader._readNull scapi.json.JsonReader-class.html#_readNull
scapi.json.JsonReader._hexDigitToInt scapi.json.JsonReader-class.html#_hexDigitToInt
scapi.json.JsonReader._readTrue scapi.json.JsonReader-class.html#_readTrue
scapi.json.JsonReader._readDoubleSolidusComment scapi.json.JsonReader-class.html#_readDoubleSolidusComment
scapi.json.JsonReader.read scapi.json.JsonReader-class.html#read
scapi.json.JsonReader._readFalse scapi.json.JsonReader-class.html#_readFalse
scapi.json.JsonReader.hex_digits scapi.json.JsonReader-class.html#hex_digits
scapi.json.JsonReader._readComment scapi.json.JsonReader-class.html#_readComment
scapi.json.JsonReader._readArray scapi.json.JsonReader-class.html#_readArray
scapi.json.JsonReader._eatWhitespace scapi.json.JsonReader-class.html#_eatWhitespace
scapi.json.JsonReader._read scapi.json.JsonReader-class.html#_read
scapi.json.JsonReader._readString scapi.json.JsonReader-class.html#_readString
scapi.json.JsonReader._readCStyleComment scapi.json.JsonReader-class.html#_readCStyleComment
scapi.json.JsonReader._next scapi.json.JsonReader-class.html#_next
scapi.json.JsonWriter scapi.json.JsonWriter-class.html
scapi.json.JsonWriter.write scapi.json.JsonWriter-class.html#write
scapi.json.JsonWriter._append scapi.json.JsonWriter-class.html#_append
scapi.json.JsonWriter._write scapi.json.JsonWriter-class.html#_write
scapi.json.ReadException scapi.json.ReadException-class.html
scapi.json.WriteException scapi.json.WriteException-class.html
scapi.json._StringGenerator scapi.json._StringGenerator-class.html
scapi.json._StringGenerator.peek scapi.json._StringGenerator-class.html#peek
scapi.json._StringGenerator.all scapi.json._StringGenerator-class.html#all
scapi.json._StringGenerator.next scapi.json._StringGenerator-class.html#next
scapi.json._StringGenerator.__init__ scapi.json._StringGenerator-class.html#__init__
scapi.tests.scapi_tests.SCAPITests scapi.tests.scapi_tests.SCAPITests-class.html
scapi.tests.scapi_tests.SCAPITests._load_config scapi.tests.scapi_tests.SCAPITests-class.html#_load_config
scapi.tests.scapi_tests.SCAPITests.test_track_creation_with_artwork scapi.tests.scapi_tests.SCAPITests-class.html#test_track_creation_with_artwork
scapi.tests.scapi_tests.SCAPITests.test_upload scapi.tests.scapi_tests.SCAPITests-class.html#test_upload
scapi.tests.scapi_tests.SCAPITests.test_scoped_track_creation scapi.tests.scapi_tests.SCAPITests-class.html#test_scoped_track_creation
scapi.tests.scapi_tests.SCAPITests.test_permissions scapi.tests.scapi_tests.SCAPITests-class.html#test_permissions
scapi.tests.scapi_tests.SCAPITests.CONSUMER_SECRET scapi.tests.scapi_tests.SCAPITests-class.html#CONSUMER_SECRET
scapi.tests.scapi_tests.SCAPITests.CONSUMER scapi.tests.scapi_tests.SCAPITests-class.html#CONSUMER
scapi.tests.scapi_tests.SCAPITests.test_me_having_stress scapi.tests.scapi_tests.SCAPITests-class.html#test_me_having_stress
scapi.tests.scapi_tests.SCAPITests.USER scapi.tests.scapi_tests.SCAPITests-class.html#USER
scapi.tests.scapi_tests.SCAPITests.CONFIGSPEC scapi.tests.scapi_tests.SCAPITests-class.html#CONFIGSPEC
scapi.tests.scapi_tests.SCAPITests.test_track_creation_with_email_sharers scapi.tests.scapi_tests.SCAPITests-class.html#test_track_creation_with_email_sharers
scapi.tests.scapi_tests.SCAPITests.test_setting_comments scapi.tests.scapi_tests.SCAPITests-class.html#test_setting_comments
scapi.tests.scapi_tests.SCAPITests.test_access_token_acquisition scapi.tests.scapi_tests.SCAPITests-class.html#test_access_token_acquisition
scapi.tests.scapi_tests.SCAPITests.test_track_creation scapi.tests.scapi_tests.SCAPITests-class.html#test_track_creation
scapi.tests.scapi_tests.SCAPITests.test_groups scapi.tests.scapi_tests.SCAPITests-class.html#test_groups
scapi.tests.scapi_tests.SCAPITests.test_track_update scapi.tests.scapi_tests.SCAPITests-class.html#test_track_update
scapi.tests.scapi_tests.SCAPITests.test_modifying_playlists scapi.tests.scapi_tests.SCAPITests-class.html#test_modifying_playlists
scapi.tests.scapi_tests.SCAPITests.SECRET scapi.tests.scapi_tests.SCAPITests-class.html#SECRET
scapi.tests.scapi_tests.SCAPITests.test_oauth_get_signing scapi.tests.scapi_tests.SCAPITests-class.html#test_oauth_get_signing
scapi.tests.scapi_tests.SCAPITests.test_contact_add_and_removal scapi.tests.scapi_tests.SCAPITests-class.html#test_contact_add_and_removal
scapi.tests.scapi_tests.SCAPITests.test_connect scapi.tests.scapi_tests.SCAPITests-class.html#test_connect
scapi.tests.scapi_tests.SCAPITests.test_large_list scapi.tests.scapi_tests.SCAPITests-class.html#test_large_list
unittest.TestCase.failureException exceptions.AssertionError-class.html
scapi.tests.scapi_tests.SCAPITests.test_contact_list scapi.tests.scapi_tests.SCAPITests-class.html#test_contact_list
scapi.tests.scapi_tests.SCAPITests.test_playlists scapi.tests.scapi_tests.SCAPITests-class.html#test_playlists
scapi.tests.scapi_tests.SCAPITests.API_HOST scapi.tests.scapi_tests.SCAPITests-class.html#API_HOST
scapi.tests.scapi_tests.SCAPITests.setUp scapi.tests.scapi_tests.SCAPITests-class.html#setUp
scapi.tests.scapi_tests.SCAPITests.test_downloadable scapi.tests.scapi_tests.SCAPITests-class.html#test_downloadable
scapi.tests.scapi_tests.SCAPITests.TOKEN scapi.tests.scapi_tests.SCAPITests-class.html#TOKEN
scapi.tests.scapi_tests.SCAPITests.test_events scapi.tests.scapi_tests.SCAPITests-class.html#test_events
scapi.tests.scapi_tests.SCAPITests.test_non_global_api scapi.tests.scapi_tests.SCAPITests-class.html#test_non_global_api
scapi.tests.scapi_tests.SCAPITests.PASSWORD scapi.tests.scapi_tests.SCAPITests-class.html#PASSWORD
scapi.tests.scapi_tests.SCAPITests.test_setting_comments_the_way_shawn_says_its_correct scapi.tests.scapi_tests.SCAPITests-class.html#test_setting_comments_the_way_shawn_says_its_correct
scapi.tests.scapi_tests.SCAPITests.CONFIG_NAME scapi.tests.scapi_tests.SCAPITests-class.html#CONFIG_NAME
scapi.tests.scapi_tests.SCAPITests.test_setting_permissions scapi.tests.scapi_tests.SCAPITests-class.html#test_setting_permissions
scapi.tests.scapi_tests.SCAPITests.RUN_INTERACTIVE_TESTS scapi.tests.scapi_tests.SCAPITests-class.html#RUN_INTERACTIVE_TESTS
scapi.tests.scapi_tests.SCAPITests.test_favorites scapi.tests.scapi_tests.SCAPITests-class.html#test_favorites
scapi.tests.scapi_tests.SCAPITests.test_track_creation_with_updated_artwork scapi.tests.scapi_tests.SCAPITests-class.html#test_track_creation_with_updated_artwork
scapi.tests.scapi_tests.SCAPITests.AUTHENTICATOR scapi.tests.scapi_tests.SCAPITests-class.html#AUTHENTICATOR
scapi.tests.scapi_tests.SCAPITests.test_streaming scapi.tests.scapi_tests.SCAPITests-class.html#test_streaming
scapi.tests.scapi_tests.SCAPITests.test_playlist_creation scapi.tests.scapi_tests.SCAPITests-class.html#test_playlist_creation
scapi.tests.scapi_tests.SCAPITests.test_track_deletion scapi.tests.scapi_tests.SCAPITests-class.html#test_track_deletion
scapi.tests.scapi_tests.SCAPITests.test_filtered_list scapi.tests.scapi_tests.SCAPITests-class.html#test_filtered_list
scapi.tests.scapi_tests.SCAPITests.root scapi.tests.scapi_tests.SCAPITests-class.html#root
scapi.util.MultiDict scapi.util.MultiDict-class.html
scapi.util.MultiDict.add scapi.util.MultiDict-class.html#add
scapi.util.MultiDict.iteritemslist scapi.util.MultiDict-class.html#iteritemslist

View file

@ -0,0 +1,216 @@
<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>Class Hierarchy</title>
<link rel="stylesheet" href="epydoc.css" type="text/css" />
<script type="text/javascript" src="epydoc.js"></script>
</head>
<body bgcolor="white" text="black" link="blue" vlink="#204080"
alink="#204080">
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
bgcolor="#a0c0ff" cellspacing="0">
<tr valign="middle">
<!-- Home link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="scapi-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Tree link -->
<th bgcolor="#70b0f0" class="navbar-select"
>&nbsp;&nbsp;&nbsp;Trees&nbsp;&nbsp;&nbsp;</th>
<!-- Index link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Help link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Project homepage -->
<th class="navbar" align="right" width="100%">
<table border="0" cellpadding="0" cellspacing="0">
<tr><th class="navbar" align="center"
>SoundCloud API</th>
</tr></table></th>
</tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0">
<tr valign="top">
<td width="100%">&nbsp;</td>
<td>
<table cellpadding="0" cellspacing="0">
<!-- hide/show private -->
<tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
<tr><td align="right"><span class="options"
>[<a href="frames.html" target="_top">frames</a
>]&nbsp;|&nbsp;<a href="class-tree.html"
target="_top">no&nbsp;frames</a>]</span></td></tr>
</table>
</td>
</tr>
</table>
<center><b>
[ <a href="module-tree.html">Module Hierarchy</a>
| <a href="class-tree.html">Class Hierarchy</a> ]
</b></center><br />
<h1 class="epydoc">Class Hierarchy</h1>
<ul class="nomargin-top">
<li> <strong class="uidlink">urllib2.BaseHandler</strong>
<ul>
<li> <strong class="uidlink">urllib2.HTTPRedirectHandler</strong>
<ul>
<li> <strong class="uidlink"><a href="scapi.SCRedirectHandler-class.html" onclick="show_private();">scapi.SCRedirectHandler</a></strong>:
<em class="summary">A urllib2-Handler to deal with the redirects the RESTful API of SC
uses.</em>
</li>
</ul>
</li>
</ul>
</li>
<li> <strong class="uidlink">object</strong>:
<em class="summary">The most base type</em>
<ul>
<li> <strong class="uidlink"><a href="scapi.ApiConnector-class.html" onclick="show_private();">scapi.ApiConnector</a></strong>:
<em class="summary">The ApiConnector holds all the data necessary to authenticate
against the soundcloud-api.</em>
</li>
<li> <strong class="uidlink">exceptions.BaseException</strong>:
<em class="summary">Common base class for all exceptions</em>
<ul>
<li> <strong class="uidlink">exceptions.Exception</strong>:
<em class="summary">Common base class for all non-exit exceptions.</em>
<ul>
<li> <strong class="uidlink"><a href="scapi.InvalidMethodException-class.html" onclick="show_private();">scapi.InvalidMethodException</a></strong>
</li>
<li> <strong class="uidlink"><a href="scapi.NoResultFromRequest-class.html" onclick="show_private();">scapi.NoResultFromRequest</a></strong>
</li>
<li> <strong class="uidlink"><a href="scapi.json.ReadException-class.html">scapi.json.ReadException</a></strong>
</li>
<li> <strong class="uidlink">exceptions.StandardError</strong>:
<em class="summary">Base class for all standard Python exceptions that do not represent
interpreter exiting.</em>
<ul>
<li> <strong class="uidlink"><a href="exceptions.AssertionError-class.html">exceptions.AssertionError</a></strong>:
<em class="summary">Assertion failed.</em>
</li>
</ul>
</li>
<li> <strong class="uidlink"><a href="scapi.UnknownContentType-class.html" onclick="show_private();">scapi.UnknownContentType</a></strong>
</li>
<li> <strong class="uidlink"><a href="scapi.json.WriteException-class.html">scapi.json.WriteException</a></strong>
</li>
</ul>
</li>
</ul>
</li>
<li> <strong class="uidlink"><a href="scapi.authentication.BasicAuthenticator-class.html">scapi.authentication.BasicAuthenticator</a></strong>
</li>
<li> <strong class="uidlink"><a href="scapi.json.JsonReader-class.html">scapi.json.JsonReader</a></strong>
</li>
<li> <strong class="uidlink"><a href="scapi.json.JsonWriter-class.html">scapi.json.JsonWriter</a></strong>
</li>
<li> <strong class="uidlink"><a href="scapi.authentication.OAuthAuthenticator-class.html">scapi.authentication.OAuthAuthenticator</a></strong>
</li>
<li> <strong class="uidlink"><a href="scapi.authentication.OAuthSignatureMethod_HMAC_SHA1-class.html">scapi.authentication.OAuthSignatureMethod_HMAC_SHA1</a></strong>
</li>
<li> <strong class="uidlink"><a href="scapi.RESTBase-class.html" onclick="show_private();">scapi.RESTBase</a></strong>:
<em class="summary">The baseclass for all our domain-objects/resources.</em>
<ul>
<li> <strong class="uidlink"><a href="scapi.Comment-class.html">scapi.Comment</a></strong>:
<em class="summary">A comment domain object/resource.</em>
</li>
<li> <strong class="uidlink"><a href="scapi.Event-class.html">scapi.Event</a></strong>:
<em class="summary">A event domain object/resource.</em>
</li>
<li> <strong class="uidlink"><a href="scapi.Group-class.html">scapi.Group</a></strong>:
<em class="summary">A group domain object/resource</em>
</li>
<li> <strong class="uidlink"><a href="scapi.Playlist-class.html">scapi.Playlist</a></strong>:
<em class="summary">A playlist/set domain object/resource</em>
</li>
<li> <strong class="uidlink"><a href="scapi.Track-class.html">scapi.Track</a></strong>:
<em class="summary">A track domain object/resource.</em>
</li>
<li> <strong class="uidlink"><a href="scapi.User-class.html">scapi.User</a></strong>:
<em class="summary">A user domain object/resource.</em>
</li>
</ul>
</li>
<li> <strong class="uidlink"><a href="scapi.Scope-class.html" onclick="show_private();">scapi.Scope</a></strong>:
<em class="summary">The basic means to query and create resources.</em>
</li>
<li> <strong class="uidlink">unittest.TestCase</strong>:
<em class="summary">A class whose instances are single test cases.</em>
<ul>
<li> <strong class="uidlink"><a href="scapi.tests.scapi_tests.SCAPITests-class.html">scapi.tests.scapi_tests.SCAPITests</a></strong>
</li>
</ul>
</li>
<li> <strong class="uidlink"><a href="scapi.json._StringGenerator-class.html" onclick="show_private();">scapi.json._StringGenerator</a></strong>
</li>
<li> <strong class="uidlink">dict</strong>:
<em class="summary">dict() -&gt; new empty dictionary.</em>
<ul>
<li> <strong class="uidlink"><a href="scapi.util.MultiDict-class.html">scapi.util.MultiDict</a></strong>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
bgcolor="#a0c0ff" cellspacing="0">
<tr valign="middle">
<!-- Home link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="scapi-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Tree link -->
<th bgcolor="#70b0f0" class="navbar-select"
>&nbsp;&nbsp;&nbsp;Trees&nbsp;&nbsp;&nbsp;</th>
<!-- Index link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Help link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Project homepage -->
<th class="navbar" align="right" width="100%">
<table border="0" cellpadding="0" cellspacing="0">
<tr><th class="navbar" align="center"
>SoundCloud API</th>
</tr></table></th>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
Generated by Epydoc 3.0.1 on Thu Sep 10 00:58:49 2009
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
>http://epydoc.sourceforge.net</a>
</td>
</tr>
</table>
<script type="text/javascript">
<!--
// Private objects are initially displayed (because if
// javascript is turned off then we want them to be
// visible); but by default, we want to hide them. So hide
// them unless we have a cookie that says to show them.
checkCookie();
// -->
</script>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 340 B

View file

@ -0,0 +1,322 @@
/* Epydoc CSS Stylesheet
*
* This stylesheet can be used to customize the appearance of epydoc's
* HTML output.
*
*/
/* Default Colors & Styles
* - Set the default foreground & background color with 'body'; and
* link colors with 'a:link' and 'a:visited'.
* - Use bold for decision list terms.
* - The heading styles defined here are used for headings *within*
* docstring descriptions. All headings used by epydoc itself use
* either class='epydoc' or class='toc' (CSS styles for both
* defined below).
*/
body { background: #ffffff; color: #000000; }
p { margin-top: 0.5em; margin-bottom: 0.5em; }
a:link { color: #0000ff; }
a:visited { color: #204080; }
dt { font-weight: bold; }
h1 { font-size: +140%; font-style: italic;
font-weight: bold; }
h2 { font-size: +125%; font-style: italic;
font-weight: bold; }
h3 { font-size: +110%; font-style: italic;
font-weight: normal; }
code { font-size: 100%; }
/* N.B.: class, not pseudoclass */
a.link { font-family: monospace; }
/* Page Header & Footer
* - The standard page header consists of a navigation bar (with
* pointers to standard pages such as 'home' and 'trees'); a
* breadcrumbs list, which can be used to navigate to containing
* classes or modules; options links, to show/hide private
* variables and to show/hide frames; and a page title (using
* <h1>). The page title may be followed by a link to the
* corresponding source code (using 'span.codelink').
* - The footer consists of a navigation bar, a timestamp, and a
* pointer to epydoc's homepage.
*/
h1.epydoc { margin: 0; font-size: +140%; font-weight: bold; }
h2.epydoc { font-size: +130%; font-weight: bold; }
h3.epydoc { font-size: +115%; font-weight: bold;
margin-top: 0.2em; }
td h3.epydoc { font-size: +115%; font-weight: bold;
margin-bottom: 0; }
table.navbar { background: #a0c0ff; color: #000000;
border: 2px groove #c0d0d0; }
table.navbar table { color: #000000; }
th.navbar-select { background: #70b0ff;
color: #000000; }
table.navbar a { text-decoration: none; }
table.navbar a:link { color: #0000ff; }
table.navbar a:visited { color: #204080; }
span.breadcrumbs { font-size: 85%; font-weight: bold; }
span.options { font-size: 70%; }
span.codelink { font-size: 85%; }
td.footer { font-size: 85%; }
/* Table Headers
* - Each summary table and details section begins with a 'header'
* row. This row contains a section title (marked by
* 'span.table-header') as well as a show/hide private link
* (marked by 'span.options', defined above).
* - Summary tables that contain user-defined groups mark those
* groups using 'group header' rows.
*/
td.table-header { background: #70b0ff; color: #000000;
border: 1px solid #608090; }
td.table-header table { color: #000000; }
td.table-header table a:link { color: #0000ff; }
td.table-header table a:visited { color: #204080; }
span.table-header { font-size: 120%; font-weight: bold; }
th.group-header { background: #c0e0f8; color: #000000;
text-align: left; font-style: italic;
font-size: 115%;
border: 1px solid #608090; }
/* Summary Tables (functions, variables, etc)
* - Each object is described by a single row of the table with
* two cells. The left cell gives the object's type, and is
* marked with 'code.summary-type'. The right cell gives the
* object's name and a summary description.
* - CSS styles for the table's header and group headers are
* defined above, under 'Table Headers'
*/
table.summary { border-collapse: collapse;
background: #e8f0f8; color: #000000;
border: 1px solid #608090;
margin-bottom: 0.5em; }
td.summary { border: 1px solid #608090; }
code.summary-type { font-size: 85%; }
table.summary a:link { color: #0000ff; }
table.summary a:visited { color: #204080; }
/* Details Tables (functions, variables, etc)
* - Each object is described in its own div.
* - A single-row summary table w/ table-header is used as
* a header for each details section (CSS style for table-header
* is defined above, under 'Table Headers').
*/
table.details { border-collapse: collapse;
background: #e8f0f8; color: #000000;
border: 1px solid #608090;
margin: .2em 0 0 0; }
table.details table { color: #000000; }
table.details a:link { color: #0000ff; }
table.details a:visited { color: #204080; }
/* Fields */
dl.fields { margin-left: 2em; margin-top: 1em;
margin-bottom: 1em; }
dl.fields dd ul { margin-left: 0em; padding-left: 0em; }
dl.fields dd ul li ul { margin-left: 2em; padding-left: 0em; }
div.fields { margin-left: 2em; }
div.fields p { margin-bottom: 0.5em; }
/* Index tables (identifier index, term index, etc)
* - link-index is used for indices containing lists of links
* (namely, the identifier index & term index).
* - index-where is used in link indices for the text indicating
* the container/source for each link.
* - metadata-index is used for indices containing metadata
* extracted from fields (namely, the bug index & todo index).
*/
table.link-index { border-collapse: collapse;
background: #e8f0f8; color: #000000;
border: 1px solid #608090; }
td.link-index { border-width: 0px; }
table.link-index a:link { color: #0000ff; }
table.link-index a:visited { color: #204080; }
span.index-where { font-size: 70%; }
table.metadata-index { border-collapse: collapse;
background: #e8f0f8; color: #000000;
border: 1px solid #608090;
margin: .2em 0 0 0; }
td.metadata-index { border-width: 1px; border-style: solid; }
table.metadata-index a:link { color: #0000ff; }
table.metadata-index a:visited { color: #204080; }
/* Function signatures
* - sig* is used for the signature in the details section.
* - .summary-sig* is used for the signature in the summary
* table, and when listing property accessor functions.
* */
.sig-name { color: #006080; }
.sig-arg { color: #008060; }
.sig-default { color: #602000; }
.summary-sig { font-family: monospace; }
.summary-sig-name { color: #006080; font-weight: bold; }
table.summary a.summary-sig-name:link
{ color: #006080; font-weight: bold; }
table.summary a.summary-sig-name:visited
{ color: #006080; font-weight: bold; }
.summary-sig-arg { color: #006040; }
.summary-sig-default { color: #501800; }
/* Subclass list
*/
ul.subclass-list { display: inline; }
ul.subclass-list li { display: inline; }
/* To render variables, classes etc. like functions */
table.summary .summary-name { color: #006080; font-weight: bold;
font-family: monospace; }
table.summary
a.summary-name:link { color: #006080; font-weight: bold;
font-family: monospace; }
table.summary
a.summary-name:visited { color: #006080; font-weight: bold;
font-family: monospace; }
/* Variable values
* - In the 'variable details' sections, each varaible's value is
* listed in a 'pre.variable' box. The width of this box is
* restricted to 80 chars; if the value's repr is longer than
* this it will be wrapped, using a backslash marked with
* class 'variable-linewrap'. If the value's repr is longer
* than 3 lines, the rest will be ellided; and an ellipsis
* marker ('...' marked with 'variable-ellipsis') will be used.
* - If the value is a string, its quote marks will be marked
* with 'variable-quote'.
* - If the variable is a regexp, it is syntax-highlighted using
* the re* CSS classes.
*/
pre.variable { padding: .5em; margin: 0;
background: #dce4ec; color: #000000;
border: 1px solid #708890; }
.variable-linewrap { color: #604000; font-weight: bold; }
.variable-ellipsis { color: #604000; font-weight: bold; }
.variable-quote { color: #604000; font-weight: bold; }
.variable-group { color: #008000; font-weight: bold; }
.variable-op { color: #604000; font-weight: bold; }
.variable-string { color: #006030; }
.variable-unknown { color: #a00000; font-weight: bold; }
.re { color: #000000; }
.re-char { color: #006030; }
.re-op { color: #600000; }
.re-group { color: #003060; }
.re-ref { color: #404040; }
/* Base tree
* - Used by class pages to display the base class hierarchy.
*/
pre.base-tree { font-size: 80%; margin: 0; }
/* Frames-based table of contents headers
* - Consists of two frames: one for selecting modules; and
* the other listing the contents of the selected module.
* - h1.toc is used for each frame's heading
* - h2.toc is used for subheadings within each frame.
*/
h1.toc { text-align: center; font-size: 105%;
margin: 0; font-weight: bold;
padding: 0; }
h2.toc { font-size: 100%; font-weight: bold;
margin: 0.5em 0 0 -0.3em; }
/* Syntax Highlighting for Source Code
* - doctest examples are displayed in a 'pre.py-doctest' block.
* If the example is in a details table entry, then it will use
* the colors specified by the 'table pre.py-doctest' line.
* - Source code listings are displayed in a 'pre.py-src' block.
* Each line is marked with 'span.py-line' (used to draw a line
* down the left margin, separating the code from the line
* numbers). Line numbers are displayed with 'span.py-lineno'.
* The expand/collapse block toggle button is displayed with
* 'a.py-toggle' (Note: the CSS style for 'a.py-toggle' should not
* modify the font size of the text.)
* - If a source code page is opened with an anchor, then the
* corresponding code block will be highlighted. The code
* block's header is highlighted with 'py-highlight-hdr'; and
* the code block's body is highlighted with 'py-highlight'.
* - The remaining py-* classes are used to perform syntax
* highlighting (py-string for string literals, py-name for names,
* etc.)
*/
pre.py-doctest { padding: .5em; margin: 1em;
background: #e8f0f8; color: #000000;
border: 1px solid #708890; }
table pre.py-doctest { background: #dce4ec;
color: #000000; }
pre.py-src { border: 2px solid #000000;
background: #f0f0f0; color: #000000; }
.py-line { border-left: 2px solid #000000;
margin-left: .2em; padding-left: .4em; }
.py-lineno { font-style: italic; font-size: 90%;
padding-left: .5em; }
a.py-toggle { text-decoration: none; }
div.py-highlight-hdr { border-top: 2px solid #000000;
border-bottom: 2px solid #000000;
background: #d8e8e8; }
div.py-highlight { border-bottom: 2px solid #000000;
background: #d0e0e0; }
.py-prompt { color: #005050; font-weight: bold;}
.py-more { color: #005050; font-weight: bold;}
.py-string { color: #006030; }
.py-comment { color: #003060; }
.py-keyword { color: #600000; }
.py-output { color: #404040; }
.py-name { color: #000050; }
.py-name:link { color: #000050 !important; }
.py-name:visited { color: #000050 !important; }
.py-number { color: #005000; }
.py-defname { color: #000060; font-weight: bold; }
.py-def-name { color: #000060; font-weight: bold; }
.py-base-class { color: #000060; }
.py-param { color: #000060; }
.py-docstring { color: #006030; }
.py-decorator { color: #804020; }
/* Use this if you don't want links to names underlined: */
/*a.py-name { text-decoration: none; }*/
/* Graphs & Diagrams
* - These CSS styles are used for graphs & diagrams generated using
* Graphviz dot. 'img.graph-without-title' is used for bare
* diagrams (to remove the border created by making the image
* clickable).
*/
img.graph-without-title { border: none; }
img.graph-with-title { border: 1px solid #000000; }
span.graph-title { font-weight: bold; }
span.graph-caption { }
/* General-purpose classes
* - 'p.indent-wrapped-lines' defines a paragraph whose first line
* is not indented, but whose subsequent lines are.
* - The 'nomargin-top' class is used to remove the top margin (e.g.
* from lists). The 'nomargin' class is used to remove both the
* top and bottom margin (but not the left or right margin --
* for lists, that would cause the bullets to disappear.)
*/
p.indent-wrapped-lines { padding: 0 0 0 7em; text-indent: -7em;
margin: 0; }
.nomargin-top { margin-top: 0; }
.nomargin { margin-top: 0; margin-bottom: 0; }
/* HTML Log */
div.log-block { padding: 0; margin: .5em 0 .5em 0;
background: #e8f0f8; color: #000000;
border: 1px solid #000000; }
div.log-error { padding: .1em .3em .1em .3em; margin: 4px;
background: #ffb0b0; color: #000000;
border: 1px solid #000000; }
div.log-warning { padding: .1em .3em .1em .3em; margin: 4px;
background: #ffffb0; color: #000000;
border: 1px solid #000000; }
div.log-info { padding: .1em .3em .1em .3em; margin: 4px;
background: #b0ffb0; color: #000000;
border: 1px solid #000000; }
h2.log-hdr { background: #70b0ff; color: #000000;
margin: 0; padding: 0em 0.5em 0em 0.5em;
border-bottom: 1px solid #000000; font-size: 110%; }
p.log { font-weight: bold; margin: .5em 0 .5em 0; }
tr.opt-changed { color: #000000; font-weight: bold; }
tr.opt-default { color: #606060; }
pre.log { margin: 0; padding: 0; padding-left: 1em; }

View file

@ -0,0 +1,293 @@
function toggle_private() {
// Search for any private/public links on this page. Store
// their old text in "cmd," so we will know what action to
// take; and change their text to the opposite action.
var cmd = "?";
var elts = document.getElementsByTagName("a");
for(var i=0; i<elts.length; i++) {
if (elts[i].className == "privatelink") {
cmd = elts[i].innerHTML;
elts[i].innerHTML = ((cmd && cmd.substr(0,4)=="show")?
"hide&nbsp;private":"show&nbsp;private");
}
}
// Update all DIVs containing private objects.
var elts = document.getElementsByTagName("div");
for(var i=0; i<elts.length; i++) {
if (elts[i].className == "private") {
elts[i].style.display = ((cmd && cmd.substr(0,4)=="hide")?"none":"block");
}
else if (elts[i].className == "public") {
elts[i].style.display = ((cmd && cmd.substr(0,4)=="hide")?"block":"none");
}
}
// Update all table rows containing private objects. Note, we
// use "" instead of "block" becaue IE & firefox disagree on what
// this should be (block vs table-row), and "" just gives the
// default for both browsers.
var elts = document.getElementsByTagName("tr");
for(var i=0; i<elts.length; i++) {
if (elts[i].className == "private") {
elts[i].style.display = ((cmd && cmd.substr(0,4)=="hide")?"none":"");
}
}
// Update all list items containing private objects.
var elts = document.getElementsByTagName("li");
for(var i=0; i<elts.length; i++) {
if (elts[i].className == "private") {
elts[i].style.display = ((cmd && cmd.substr(0,4)=="hide")?
"none":"");
}
}
// Update all list items containing private objects.
var elts = document.getElementsByTagName("ul");
for(var i=0; i<elts.length; i++) {
if (elts[i].className == "private") {
elts[i].style.display = ((cmd && cmd.substr(0,4)=="hide")?"none":"block");
}
}
// Set a cookie to remember the current option.
document.cookie = "EpydocPrivate="+cmd;
}
function show_private() {
var elts = document.getElementsByTagName("a");
for(var i=0; i<elts.length; i++) {
if (elts[i].className == "privatelink") {
cmd = elts[i].innerHTML;
if (cmd && cmd.substr(0,4)=="show")
toggle_private();
}
}
}
function getCookie(name) {
var dc = document.cookie;
var prefix = name + "=";
var begin = dc.indexOf("; " + prefix);
if (begin == -1) {
begin = dc.indexOf(prefix);
if (begin != 0) return null;
} else
{ begin += 2; }
var end = document.cookie.indexOf(";", begin);
if (end == -1)
{ end = dc.length; }
return unescape(dc.substring(begin + prefix.length, end));
}
function setFrame(url1, url2) {
parent.frames[1].location.href = url1;
parent.frames[2].location.href = url2;
}
function checkCookie() {
var cmd=getCookie("EpydocPrivate");
if (cmd && cmd.substr(0,4)!="show" && location.href.indexOf("#_") < 0)
toggle_private();
}
function toggleCallGraph(id) {
var elt = document.getElementById(id);
if (elt.style.display == "none")
elt.style.display = "block";
else
elt.style.display = "none";
}
function expand(id) {
var elt = document.getElementById(id+"-expanded");
if (elt) elt.style.display = "block";
var elt = document.getElementById(id+"-expanded-linenums");
if (elt) elt.style.display = "block";
var elt = document.getElementById(id+"-collapsed");
if (elt) { elt.innerHTML = ""; elt.style.display = "none"; }
var elt = document.getElementById(id+"-collapsed-linenums");
if (elt) { elt.innerHTML = ""; elt.style.display = "none"; }
var elt = document.getElementById(id+"-toggle");
if (elt) { elt.innerHTML = "-"; }
}
function collapse(id) {
var elt = document.getElementById(id+"-expanded");
if (elt) elt.style.display = "none";
var elt = document.getElementById(id+"-expanded-linenums");
if (elt) elt.style.display = "none";
var elt = document.getElementById(id+"-collapsed-linenums");
if (elt) { elt.innerHTML = "<br />"; elt.style.display="block"; }
var elt = document.getElementById(id+"-toggle");
if (elt) { elt.innerHTML = "+"; }
var elt = document.getElementById(id+"-collapsed");
if (elt) {
elt.style.display = "block";
var indent = elt.getAttribute("indent");
var pad = elt.getAttribute("pad");
var s = "<tt class='py-lineno'>";
for (var i=0; i<pad.length; i++) { s += "&nbsp;" }
s += "</tt>";
s += "&nbsp;&nbsp;<tt class='py-line'>";
for (var i=0; i<indent.length; i++) { s += "&nbsp;" }
s += "<a href='#' onclick='expand(\"" + id;
s += "\");return false'>...</a></tt><br />";
elt.innerHTML = s;
}
}
function toggle(id) {
elt = document.getElementById(id+"-toggle");
if (elt.innerHTML == "-")
collapse(id);
else
expand(id);
return false;
}
function highlight(id) {
var elt = document.getElementById(id+"-def");
if (elt) elt.className = "py-highlight-hdr";
var elt = document.getElementById(id+"-expanded");
if (elt) elt.className = "py-highlight";
var elt = document.getElementById(id+"-collapsed");
if (elt) elt.className = "py-highlight";
}
function num_lines(s) {
var n = 1;
var pos = s.indexOf("\n");
while ( pos > 0) {
n += 1;
pos = s.indexOf("\n", pos+1);
}
return n;
}
// Collapse all blocks that mave more than `min_lines` lines.
function collapse_all(min_lines) {
var elts = document.getElementsByTagName("div");
for (var i=0; i<elts.length; i++) {
var elt = elts[i];
var split = elt.id.indexOf("-");
if (split > 0)
if (elt.id.substring(split, elt.id.length) == "-expanded")
if (num_lines(elt.innerHTML) > min_lines)
collapse(elt.id.substring(0, split));
}
}
function expandto(href) {
var start = href.indexOf("#")+1;
if (start != 0 && start != href.length) {
if (href.substring(start, href.length) != "-") {
collapse_all(4);
pos = href.indexOf(".", start);
while (pos != -1) {
var id = href.substring(start, pos);
expand(id);
pos = href.indexOf(".", pos+1);
}
var id = href.substring(start, href.length);
expand(id);
highlight(id);
}
}
}
function kill_doclink(id) {
var parent = document.getElementById(id);
parent.removeChild(parent.childNodes.item(0));
}
function auto_kill_doclink(ev) {
if (!ev) var ev = window.event;
if (!this.contains(ev.toElement)) {
var parent = document.getElementById(this.parentID);
parent.removeChild(parent.childNodes.item(0));
}
}
function doclink(id, name, targets_id) {
var elt = document.getElementById(id);
// If we already opened the box, then destroy it.
// (This case should never occur, but leave it in just in case.)
if (elt.childNodes.length > 1) {
elt.removeChild(elt.childNodes.item(0));
}
else {
// The outer box: relative + inline positioning.
var box1 = document.createElement("div");
box1.style.position = "relative";
box1.style.display = "inline";
box1.style.top = 0;
box1.style.left = 0;
// A shadow for fun
var shadow = document.createElement("div");
shadow.style.position = "absolute";
shadow.style.left = "-1.3em";
shadow.style.top = "-1.3em";
shadow.style.background = "#404040";
// The inner box: absolute positioning.
var box2 = document.createElement("div");
box2.style.position = "relative";
box2.style.border = "1px solid #a0a0a0";
box2.style.left = "-.2em";
box2.style.top = "-.2em";
box2.style.background = "white";
box2.style.padding = ".3em .4em .3em .4em";
box2.style.fontStyle = "normal";
box2.onmouseout=auto_kill_doclink;
box2.parentID = id;
// Get the targets
var targets_elt = document.getElementById(targets_id);
var targets = targets_elt.getAttribute("targets");
var links = "";
target_list = targets.split(",");
for (var i=0; i<target_list.length; i++) {
var target = target_list[i].split("=");
links += "<li><a href='" + target[1] +
"' style='text-decoration:none'>" +
target[0] + "</a></li>";
}
// Put it all together.
elt.insertBefore(box1, elt.childNodes.item(0));
//box1.appendChild(box2);
box1.appendChild(shadow);
shadow.appendChild(box2);
box2.innerHTML =
"Which <b>"+name+"</b> do you want to see documentation for?" +
"<ul style='margin-bottom: 0;'>" +
links +
"<li><a href='#' style='text-decoration:none' " +
"onclick='kill_doclink(\""+id+"\");return false;'>"+
"<i>None of the above</i></a></li></ul>";
}
return false;
}
function get_anchor() {
var href = location.href;
var start = href.indexOf("#")+1;
if ((start != 0) && (start != href.length))
return href.substring(start, href.length);
}
function redirect_url(dottedName) {
// Scan through each element of the "pages" list, and check
// if "name" matches with any of them.
for (var i=0; i<pages.length; i++) {
// Each page has the form "<pagename>-m" or "<pagename>-c";
// extract the <pagename> portion & compare it to dottedName.
var pagename = pages[i].substring(0, pages[i].length-2);
if (pagename == dottedName.substring(0,pagename.length)) {
// We've found a page that matches `dottedName`;
// construct its URL, using leftover `dottedName`
// content to form an anchor.
var pagetype = pages[i].charAt(pages[i].length-1);
var url = pagename + ((pagetype=="m")?"-module.html":
"-class.html");
if (dottedName.length > pagename.length)
url += "#" + dottedName.substring(pagename.length+1,
dottedName.length);
return url;
}
}
}

View file

@ -0,0 +1,299 @@
<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>exceptions.AssertionError</title>
<link rel="stylesheet" href="epydoc.css" type="text/css" />
<script type="text/javascript" src="epydoc.js"></script>
</head>
<body bgcolor="white" text="black" link="blue" vlink="#204080"
alink="#204080">
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
bgcolor="#a0c0ff" cellspacing="0">
<tr valign="middle">
<!-- Home link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="scapi-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Tree link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Index link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Help link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Project homepage -->
<th class="navbar" align="right" width="100%">
<table border="0" cellpadding="0" cellspacing="0">
<tr><th class="navbar" align="center"
>SoundCloud API</th>
</tr></table></th>
</tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0">
<tr valign="top">
<td width="100%">
<span class="breadcrumbs">
exceptions ::
AssertionError ::
Class&nbsp;AssertionError
</span>
</td>
<td>
<table cellpadding="0" cellspacing="0">
<!-- hide/show private -->
<tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
<tr><td align="right"><span class="options"
>[<a href="frames.html" target="_top">frames</a
>]&nbsp;|&nbsp;<a href="exceptions.AssertionError-class.html"
target="_top">no&nbsp;frames</a>]</span></td></tr>
</table>
</td>
</tr>
</table>
<!-- ==================== CLASS DESCRIPTION ==================== -->
<h1 class="epydoc">Class AssertionError</h1><p class="nomargin-top"></p>
<pre class="base-tree">
object --+
|
BaseException --+
|
Exception --+
|
StandardError --+
|
<strong class="uidshort">AssertionError</strong>
</pre>
<hr />
<p>Assertion failed.</p>
<!-- ==================== INSTANCE METHODS ==================== -->
<a name="section-InstanceMethods"></a>
<table class="summary" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Instance Methods</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-InstanceMethods"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="exceptions.AssertionError-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">...</span>)</span><br />
x.__init__(...) initializes x; see x.__class__.__doc__ for signature</td>
<td align="right" valign="top">
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">a new object with type S, a subtype of T</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="exceptions.AssertionError-class.html#__new__" class="summary-sig-name">__new__</a>(<span class="summary-sig-arg">T</span>,
<span class="summary-sig-arg">S</span>,
<span class="summary-sig-arg">...</span>)</span></td>
<td align="right" valign="top">
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td colspan="2" class="summary">
<p class="indent-wrapped-lines"><b>Inherited from <code>BaseException</code></b>:
<code>__delattr__</code>,
<code>__getattribute__</code>,
<code>__getitem__</code>,
<code>__getslice__</code>,
<code>__reduce__</code>,
<code>__repr__</code>,
<code>__setattr__</code>,
<code>__setstate__</code>,
<code>__str__</code>
</p>
<p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
<code>__hash__</code>,
<code>__reduce_ex__</code>
</p>
</td>
</tr>
</table>
<!-- ==================== PROPERTIES ==================== -->
<a name="section-Properties"></a>
<table class="summary" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Properties</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-Properties"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
<tr>
<td colspan="2" class="summary">
<p class="indent-wrapped-lines"><b>Inherited from <code>BaseException</code></b>:
<code>args</code>,
<code>message</code>
</p>
<p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
<code>__class__</code>
</p>
</td>
</tr>
</table>
<!-- ==================== METHOD DETAILS ==================== -->
<a name="section-MethodDetails"></a>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Method Details</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-MethodDetails"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
</table>
<a name="__init__"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">...</span>)</span>
<br /><em class="fname">(Constructor)</em>
</h3>
</td><td align="right" valign="top"
>&nbsp;
</td>
</tr></table>
<p>x.__init__(...) initializes x; see x.__class__.__doc__ for
signature</p>
<dl class="fields">
<dt>Overrides:
object.__init__
</dt>
</dl>
</td></tr></table>
</div>
<a name="__new__"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">__new__</span>(<span class="sig-arg">T</span>,
<span class="sig-arg">S</span>,
<span class="sig-arg">...</span>)</span>
</h3>
</td><td align="right" valign="top"
>&nbsp;
</td>
</tr></table>
<dl class="fields">
<dt>Returns: a new object with type S, a subtype of T</dt>
<dt>Overrides:
object.__new__
</dt>
</dl>
</td></tr></table>
</div>
<br />
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
bgcolor="#a0c0ff" cellspacing="0">
<tr valign="middle">
<!-- Home link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="scapi-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Tree link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Index link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Help link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Project homepage -->
<th class="navbar" align="right" width="100%">
<table border="0" cellpadding="0" cellspacing="0">
<tr><th class="navbar" align="center"
>SoundCloud API</th>
</tr></table></th>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
Generated by Epydoc 3.0.1 on Thu Sep 10 00:58:49 2009
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
>http://epydoc.sourceforge.net</a>
</td>
</tr>
</table>
<script type="text/javascript">
<!--
// Private objects are initially displayed (because if
// javascript is turned off then we want them to be
// visible); but by default, we want to hide them. So hide
// them unless we have a cookie that says to show them.
checkCookie();
// -->
</script>
</body>
</html>

View file

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
"DTD/xhtml1-frameset.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title> SoundCloud API </title>
</head>
<frameset cols="20%,80%">
<frameset rows="30%,70%">
<frame src="toc.html" name="moduleListFrame"
id="moduleListFrame" />
<frame src="toc-everything.html" name="moduleFrame"
id="moduleFrame" />
</frameset>
<frame src="scapi-module.html" name="mainFrame" id="mainFrame" />
</frameset>
</html>

View file

@ -0,0 +1,278 @@
<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>Help</title>
<link rel="stylesheet" href="epydoc.css" type="text/css" />
<script type="text/javascript" src="epydoc.js"></script>
</head>
<body bgcolor="white" text="black" link="blue" vlink="#204080"
alink="#204080">
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
bgcolor="#a0c0ff" cellspacing="0">
<tr valign="middle">
<!-- Home link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="scapi-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Tree link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Index link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Help link -->
<th bgcolor="#70b0f0" class="navbar-select"
>&nbsp;&nbsp;&nbsp;Help&nbsp;&nbsp;&nbsp;</th>
<!-- Project homepage -->
<th class="navbar" align="right" width="100%">
<table border="0" cellpadding="0" cellspacing="0">
<tr><th class="navbar" align="center"
>SoundCloud API</th>
</tr></table></th>
</tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0">
<tr valign="top">
<td width="100%">&nbsp;</td>
<td>
<table cellpadding="0" cellspacing="0">
<!-- hide/show private -->
<tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
<tr><td align="right"><span class="options"
>[<a href="frames.html" target="_top">frames</a
>]&nbsp;|&nbsp;<a href="help.html"
target="_top">no&nbsp;frames</a>]</span></td></tr>
</table>
</td>
</tr>
</table>
<h1 class="epydoc"> API Documentation </h1>
<p> This document contains the API (Application Programming Interface)
documentation for SoundCloud API. Documentation for the Python
objects defined by the project is divided into separate pages for each
package, module, and class. The API documentation also includes two
pages containing information about the project as a whole: a trees
page, and an index page. </p>
<h2> Object Documentation </h2>
<p>Each <strong>Package Documentation</strong> page contains: </p>
<ul>
<li> A description of the package. </li>
<li> A list of the modules and sub-packages contained by the
package. </li>
<li> A summary of the classes defined by the package. </li>
<li> A summary of the functions defined by the package. </li>
<li> A summary of the variables defined by the package. </li>
<li> A detailed description of each function defined by the
package. </li>
<li> A detailed description of each variable defined by the
package. </li>
</ul>
<p>Each <strong>Module Documentation</strong> page contains:</p>
<ul>
<li> A description of the module. </li>
<li> A summary of the classes defined by the module. </li>
<li> A summary of the functions defined by the module. </li>
<li> A summary of the variables defined by the module. </li>
<li> A detailed description of each function defined by the
module. </li>
<li> A detailed description of each variable defined by the
module. </li>
</ul>
<p>Each <strong>Class Documentation</strong> page contains: </p>
<ul>
<li> A class inheritance diagram. </li>
<li> A list of known subclasses. </li>
<li> A description of the class. </li>
<li> A summary of the methods defined by the class. </li>
<li> A summary of the instance variables defined by the class. </li>
<li> A summary of the class (static) variables defined by the
class. </li>
<li> A detailed description of each method defined by the
class. </li>
<li> A detailed description of each instance variable defined by the
class. </li>
<li> A detailed description of each class (static) variable defined
by the class. </li>
</ul>
<h2> Project Documentation </h2>
<p> The <strong>Trees</strong> page contains the module and class hierarchies: </p>
<ul>
<li> The <em>module hierarchy</em> lists every package and module, with
modules grouped into packages. At the top level, and within each
package, modules and sub-packages are listed alphabetically. </li>
<li> The <em>class hierarchy</em> lists every class, grouped by base
class. If a class has more than one base class, then it will be
listed under each base class. At the top level, and under each base
class, classes are listed alphabetically. </li>
</ul>
<p> The <strong>Index</strong> page contains indices of terms and
identifiers: </p>
<ul>
<li> The <em>term index</em> lists every term indexed by any object's
documentation. For each term, the index provides links to each
place where the term is indexed. </li>
<li> The <em>identifier index</em> lists the (short) name of every package,
module, class, method, function, variable, and parameter. For each
identifier, the index provides a short description, and a link to
its documentation. </li>
</ul>
<h2> The Table of Contents </h2>
<p> The table of contents occupies the two frames on the left side of
the window. The upper-left frame displays the <em>project
contents</em>, and the lower-left frame displays the <em>module
contents</em>: </p>
<table class="help summary" border="1" cellspacing="0" cellpadding="3">
<tr style="height: 30%">
<td align="center" style="font-size: small">
Project<br />Contents<hr />...</td>
<td align="center" style="font-size: small" rowspan="2" width="70%">
API<br />Documentation<br />Frame<br /><br /><br />
</td>
</tr>
<tr>
<td align="center" style="font-size: small">
Module<br />Contents<hr />&nbsp;<br />...<br />&nbsp;
</td>
</tr>
</table><br />
<p> The <strong>project contents frame</strong> contains a list of all packages
and modules that are defined by the project. Clicking on an entry
will display its contents in the module contents frame. Clicking on a
special entry, labeled "Everything," will display the contents of
the entire project. </p>
<p> The <strong>module contents frame</strong> contains a list of every
submodule, class, type, exception, function, and variable defined by a
module or package. Clicking on an entry will display its
documentation in the API documentation frame. Clicking on the name of
the module, at the top of the frame, will display the documentation
for the module itself. </p>
<p> The "<strong>frames</strong>" and "<strong>no frames</strong>" buttons below the top
navigation bar can be used to control whether the table of contents is
displayed or not. </p>
<h2> The Navigation Bar </h2>
<p> A navigation bar is located at the top and bottom of every page.
It indicates what type of page you are currently viewing, and allows
you to go to related pages. The following table describes the labels
on the navigation bar. Note that not some labels (such as
[Parent]) are not displayed on all pages. </p>
<table class="summary" border="1" cellspacing="0" cellpadding="3" width="100%">
<tr class="summary">
<th>Label</th>
<th>Highlighted when...</th>
<th>Links to...</th>
</tr>
<tr><td valign="top"><strong>[Parent]</strong></td>
<td valign="top"><em>(never highlighted)</em></td>
<td valign="top"> the parent of the current package </td></tr>
<tr><td valign="top"><strong>[Package]</strong></td>
<td valign="top">viewing a package</td>
<td valign="top">the package containing the current object
</td></tr>
<tr><td valign="top"><strong>[Module]</strong></td>
<td valign="top">viewing a module</td>
<td valign="top">the module containing the current object
</td></tr>
<tr><td valign="top"><strong>[Class]</strong></td>
<td valign="top">viewing a class </td>
<td valign="top">the class containing the current object</td></tr>
<tr><td valign="top"><strong>[Trees]</strong></td>
<td valign="top">viewing the trees page</td>
<td valign="top"> the trees page </td></tr>
<tr><td valign="top"><strong>[Index]</strong></td>
<td valign="top">viewing the index page</td>
<td valign="top"> the index page </td></tr>
<tr><td valign="top"><strong>[Help]</strong></td>
<td valign="top">viewing the help page</td>
<td valign="top"> the help page </td></tr>
</table>
<p> The "<strong>show private</strong>" and "<strong>hide private</strong>" buttons below
the top navigation bar can be used to control whether documentation
for private objects is displayed. Private objects are usually defined
as objects whose (short) names begin with a single underscore, but do
not end with an underscore. For example, "<code>_x</code>",
"<code>__pprint</code>", and "<code>epydoc.epytext._tokenize</code>"
are private objects; but "<code>re.sub</code>",
"<code>__init__</code>", and "<code>type_</code>" are not. However,
if a module defines the "<code>__all__</code>" variable, then its
contents are used to decide which objects are private. </p>
<p> A timestamp below the bottom navigation bar indicates when each
page was last updated. </p>
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
bgcolor="#a0c0ff" cellspacing="0">
<tr valign="middle">
<!-- Home link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="scapi-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Tree link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Index link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Help link -->
<th bgcolor="#70b0f0" class="navbar-select"
>&nbsp;&nbsp;&nbsp;Help&nbsp;&nbsp;&nbsp;</th>
<!-- Project homepage -->
<th class="navbar" align="right" width="100%">
<table border="0" cellpadding="0" cellspacing="0">
<tr><th class="navbar" align="center"
>SoundCloud API</th>
</tr></table></th>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
Generated by Epydoc 3.0.1 on Thu Sep 10 00:58:49 2009
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
>http://epydoc.sourceforge.net</a>
</td>
</tr>
</table>
<script type="text/javascript">
<!--
// Private objects are initially displayed (because if
// javascript is turned off then we want them to be
// visible); but by default, we want to hide them. So hide
// them unless we have a cookie that says to show them.
checkCookie();
// -->
</script>
</body>
</html>

View file

@ -0,0 +1,892 @@
<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>Identifier Index</title>
<link rel="stylesheet" href="epydoc.css" type="text/css" />
<script type="text/javascript" src="epydoc.js"></script>
</head>
<body bgcolor="white" text="black" link="blue" vlink="#204080"
alink="#204080">
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
bgcolor="#a0c0ff" cellspacing="0">
<tr valign="middle">
<!-- Home link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="scapi-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Tree link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Index link -->
<th bgcolor="#70b0f0" class="navbar-select"
>&nbsp;&nbsp;&nbsp;Indices&nbsp;&nbsp;&nbsp;</th>
<!-- Help link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Project homepage -->
<th class="navbar" align="right" width="100%">
<table border="0" cellpadding="0" cellspacing="0">
<tr><th class="navbar" align="center"
>SoundCloud API</th>
</tr></table></th>
</tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0">
<tr valign="top">
<td width="100%">&nbsp;</td>
<td>
<table cellpadding="0" cellspacing="0">
<!-- hide/show private -->
<tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
<tr><td align="right"><span class="options"
>[<a href="frames.html" target="_top">frames</a
>]&nbsp;|&nbsp;<a href="identifier-index.html"
target="_top">no&nbsp;frames</a>]</span></td></tr>
</table>
</td>
</tr>
</table>
<table border="0" width="100%">
<tr valign="bottom"><td>
<h1 class="epydoc">Identifier Index</h1>
</td><td>
[
<a href="#A">A</a>
<a href="#B">B</a>
<a href="#C">C</a>
D
<a href="#E">E</a>
<a href="#F">F</a>
<a href="#G">G</a>
<a href="#H">H</a>
<a href="#I">I</a>
<a href="#J">J</a>
<a href="#K">K</a>
<a href="#L">L</a>
<a href="#M">M</a>
<a href="#N">N</a>
<a href="#O">O</a>
<a href="#P">P</a>
Q
<a href="#R">R</a>
<a href="#S">S</a>
<a href="#T">T</a>
<a href="#U">U</a>
V
<a href="#W">W</a>
X
Y
Z
<a href="#_">_</a>
]
</td></table>
<table border="0" width="100%">
<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="A">A</a></h2></td>
<td valign="top">
<table class="link-index" width="100%" border="1">
<tr>
<td width="33%" class="link-index"><a href="scapi-module.html#ACCESS_TOKEN_URL">ACCESS_TOKEN_URL</a><br />
<span class="index-where">(in&nbsp;<a href="scapi-module.html">scapi</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.SCRedirectHandler-class.html#alternate_method">alternate_method</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.SCRedirectHandler-class.html" onclick="show_private();">SCRedirectHandler</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.authentication.OAuthAuthenticator-class.html#augment_request">augment_request()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.authentication.OAuthAuthenticator-class.html">OAuthAuthenticator</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="scapi.util.MultiDict-class.html#add">add()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.util.MultiDict-class.html">MultiDict</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.tests.scapi_tests.SCAPITests-class.html#API_HOST">API_HOST</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.tests.scapi_tests.SCAPITests-class.html">SCAPITests</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.authentication-module.html">authentication</a><br />
<span class="index-where">(in&nbsp;<a href="scapi-module.html">scapi</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="scapi.RESTBase-class.html#ALIASES">ALIASES</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.RESTBase-class.html" onclick="show_private();">RESTBase</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.tests.test_connect-module.html#API_HOST">API_HOST</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.tests.test_connect-module.html">scapi.tests.test_connect</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.tests.scapi_tests.SCAPITests-class.html#AUTHENTICATOR">AUTHENTICATOR</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.tests.scapi_tests.SCAPITests-class.html">SCAPITests</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="scapi.Track-class.html#ALIASES">ALIASES</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.Track-class.html">Track</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.tests.scapi_tests-module.html#api_logger">api_logger</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.tests.scapi_tests-module.html">scapi.tests.scapi_tests</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.authentication.OAuthAuthenticator-class.html#AUTHORIZATION_HEADER">AUTHORIZATION_HEADER</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.authentication.OAuthAuthenticator-class.html">OAuthAuthenticator</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="scapi.User-class.html#ALIASES">ALIASES</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.User-class.html">User</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.ApiConnector-class.html">ApiConnector</a><br />
<span class="index-where">(in&nbsp;<a href="scapi-module.html">scapi</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi-module.html#AUTHORIZATION_URL">AUTHORIZATION_URL</a><br />
<span class="index-where">(in&nbsp;<a href="scapi-module.html">scapi</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="scapi.json._StringGenerator-class.html#all">all()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.json._StringGenerator-class.html" onclick="show_private();">_StringGenerator</a>)</span></td>
<td width="33%" class="link-index"><a href="exceptions.AssertionError-class.html">AssertionError</a></td>
<td width="33%" class="link-index">&nbsp;</td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="scapi.RESTBase-class.html#ALL_DOMAIN_CLASSES">ALL_DOMAIN_CLASSES</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.RESTBase-class.html" onclick="show_private();">RESTBase</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.authentication.BasicAuthenticator-class.html#augment_request">augment_request()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.authentication.BasicAuthenticator-class.html">BasicAuthenticator</a>)</span></td>
<td width="33%" class="link-index">&nbsp;</td>
</tr>
</table>
</td></tr>
<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="B">B</a></h2></td>
<td valign="top">
<table class="link-index" width="100%" border="1">
<tr>
<td width="33%" class="link-index"><a href="scapi.authentication.BasicAuthenticator-class.html">BasicAuthenticator</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.authentication-module.html" onclick="show_private();">scapi.authentication</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.authentication.OAuthSignatureMethod_HMAC_SHA1-class.html#build_signature">build_signature()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.authentication.OAuthSignatureMethod_HMAC_SHA1-class.html">OAuthSignatureMethod_HMAC_SHA1</a>)</span></td>
<td width="33%" class="link-index">&nbsp;</td>
</tr>
<tr><td class="link-index">&nbsp;</td><td class="link-index">&nbsp;</td><td class="link-index">&nbsp;</td></tr>
</table>
</td></tr>
<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="C">C</a></h2></td>
<td valign="top">
<table class="link-index" width="100%" border="1">
<tr>
<td width="33%" class="link-index"><a href="scapi.Comment-class.html">Comment</a><br />
<span class="index-where">(in&nbsp;<a href="scapi-module.html">scapi</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.tests.test_connect-module.html#CONNECTOR">CONNECTOR</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.tests.test_connect-module.html">scapi.tests.test_connect</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.tests.test_connect-module.html#CONSUMER_SECRET">CONSUMER_SECRET</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.tests.test_connect-module.html">scapi.tests.test_connect</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="scapi.config-module.html">config</a><br />
<span class="index-where">(in&nbsp;<a href="scapi-module.html">scapi</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.tests.scapi_tests.SCAPITests-class.html#CONSUMER">CONSUMER</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.tests.scapi_tests.SCAPITests-class.html">SCAPITests</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.tests.test_oauth-module.html#CONSUMER_SECRET">CONSUMER_SECRET</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.tests.test_oauth-module.html">scapi.tests.test_oauth</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="scapi.tests.scapi_tests.SCAPITests-class.html#CONFIG_NAME">CONFIG_NAME</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.tests.scapi_tests.SCAPITests-class.html">SCAPITests</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.tests.test_connect-module.html#CONSUMER">CONSUMER</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.tests.test_connect-module.html">scapi.tests.test_connect</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.RESTBase-class.html#create">create()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.RESTBase-class.html" onclick="show_private();">RESTBase</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="scapi.tests.test_connect-module.html#CONFIG_NAME">CONFIG_NAME</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.tests.test_connect-module.html">scapi.tests.test_connect</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.tests.test_oauth-module.html#CONSUMER">CONSUMER</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.tests.test_oauth-module.html">scapi.tests.test_oauth</a>)</span></td>
<td width="33%" class="link-index">&nbsp;</td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="scapi.tests.scapi_tests.SCAPITests-class.html#CONFIGSPEC">CONFIGSPEC</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.tests.scapi_tests.SCAPITests-class.html">SCAPITests</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.tests.scapi_tests.SCAPITests-class.html#CONSUMER_SECRET">CONSUMER_SECRET</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.tests.scapi_tests.SCAPITests-class.html">SCAPITests</a>)</span></td>
<td width="33%" class="link-index">&nbsp;</td>
</tr>
</table>
</td></tr>
<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="E">E</a></h2></td>
<td valign="top">
<table class="link-index" width="100%" border="1">
<tr>
<td width="33%" class="link-index"><a href="scapi.util-module.html#escape">escape()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.util-module.html" onclick="show_private();">scapi.util</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.json.JsonReader-class.html#escapes">escapes</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.json.JsonReader-class.html">JsonReader</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.Event-class.html">Event</a><br />
<span class="index-where">(in&nbsp;<a href="scapi-module.html">scapi</a>)</span></td>
</tr>
<tr><td class="link-index">&nbsp;</td><td class="link-index">&nbsp;</td><td class="link-index">&nbsp;</td></tr>
</table>
</td></tr>
<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="F">F</a></h2></td>
<td valign="top">
<table class="link-index" width="100%" border="1">
<tr>
<td width="33%" class="link-index"><a href="scapi.ApiConnector-class.html#fetch_access_token">fetch_access_token()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.ApiConnector-class.html" onclick="show_private();">ApiConnector</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.ApiConnector-class.html#fetch_request_token">fetch_request_token()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.ApiConnector-class.html" onclick="show_private();">ApiConnector</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.authentication.OAuthSignatureMethod_HMAC_SHA1-class.html#FORBIDDEN">FORBIDDEN</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.authentication.OAuthSignatureMethod_HMAC_SHA1-class.html">OAuthSignatureMethod_HMAC_SHA1</a>)</span></td>
</tr>
<tr><td class="link-index">&nbsp;</td><td class="link-index">&nbsp;</td><td class="link-index">&nbsp;</td></tr>
</table>
</td></tr>
<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="G">G</a></h2></td>
<td valign="top">
<table class="link-index" width="100%" border="1">
<tr>
<td width="33%" class="link-index"><a href="scapi.authentication.OAuthAuthenticator-class.html#generate_nonce">generate_nonce()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.authentication.OAuthAuthenticator-class.html">OAuthAuthenticator</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.authentication.OAuthSignatureMethod_HMAC_SHA1-class.html#get_name">get_name()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.authentication.OAuthSignatureMethod_HMAC_SHA1-class.html">OAuthSignatureMethod_HMAC_SHA1</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.authentication.OAuthSignatureMethod_HMAC_SHA1-class.html#get_normalized_parameters">get_normalized_parameters()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.authentication.OAuthSignatureMethod_HMAC_SHA1-class.html">OAuthSignatureMethod_HMAC_SHA1</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="scapi.authentication.OAuthAuthenticator-class.html#generate_timestamp">generate_timestamp()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.authentication.OAuthAuthenticator-class.html">OAuthAuthenticator</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.authentication.OAuthSignatureMethod_HMAC_SHA1-class.html#get_normalized_http_method">get_normalized_http_method()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.authentication.OAuthSignatureMethod_HMAC_SHA1-class.html">OAuthSignatureMethod_HMAC_SHA1</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.ApiConnector-class.html#get_request_token_authorization_url">get_request_token_authorization_url()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.ApiConnector-class.html" onclick="show_private();">ApiConnector</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="scapi.RESTBase-class.html#get">get()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.RESTBase-class.html" onclick="show_private();">RESTBase</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.authentication.OAuthSignatureMethod_HMAC_SHA1-class.html#get_normalized_http_url">get_normalized_http_url()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.authentication.OAuthSignatureMethod_HMAC_SHA1-class.html">OAuthSignatureMethod_HMAC_SHA1</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.Group-class.html">Group</a><br />
<span class="index-where">(in&nbsp;<a href="scapi-module.html">scapi</a>)</span></td>
</tr>
</table>
</td></tr>
<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="H">H</a></h2></td>
<td valign="top">
<table class="link-index" width="100%" border="1">
<tr>
<td width="33%" class="link-index"><a href="scapi.json.JsonReader-class.html#hex_digits">hex_digits</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.json.JsonReader-class.html">JsonReader</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.SCRedirectHandler-class.html#http_error_201">http_error_201()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.SCRedirectHandler-class.html" onclick="show_private();">SCRedirectHandler</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.SCRedirectHandler-class.html#http_error_303">http_error_303()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.SCRedirectHandler-class.html" onclick="show_private();">SCRedirectHandler</a>)</span></td>
</tr>
<tr><td class="link-index">&nbsp;</td><td class="link-index">&nbsp;</td><td class="link-index">&nbsp;</td></tr>
</table>
</td></tr>
<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="I">I</a></h2></td>
<td valign="top">
<table class="link-index" width="100%" border="1">
<tr>
<td width="33%" class="link-index"><a href="scapi.InvalidMethodException-class.html">InvalidMethodException</a><br />
<span class="index-where">(in&nbsp;<a href="scapi-module.html">scapi</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.util.MultiDict-class.html#iteritemslist">iteritemslist()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.util.MultiDict-class.html">MultiDict</a>)</span></td>
<td width="33%" class="link-index">&nbsp;</td>
</tr>
<tr><td class="link-index">&nbsp;</td><td class="link-index">&nbsp;</td><td class="link-index">&nbsp;</td></tr>
</table>
</td></tr>
<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="J">J</a></h2></td>
<td valign="top">
<table class="link-index" width="100%" border="1">
<tr>
<td width="33%" class="link-index"><a href="scapi.json-module.html">json</a><br />
<span class="index-where">(in&nbsp;<a href="scapi-module.html">scapi</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.json.JsonReader-class.html">JsonReader</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.json-module.html">scapi.json</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.json.JsonWriter-class.html">JsonWriter</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.json-module.html">scapi.json</a>)</span></td>
</tr>
<tr><td class="link-index">&nbsp;</td><td class="link-index">&nbsp;</td><td class="link-index">&nbsp;</td></tr>
</table>
</td></tr>
<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="K">K</a></h2></td>
<td valign="top">
<table class="link-index" width="100%" border="1">
<tr>
<td width="33%" class="link-index"><a href="scapi.Comment-class.html#KIND">KIND</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.Comment-class.html">Comment</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.Playlist-class.html#KIND">KIND</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.Playlist-class.html">Playlist</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.User-class.html#KIND">KIND</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.User-class.html">User</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="scapi.Event-class.html#KIND">KIND</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.Event-class.html">Event</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.RESTBase-class.html#KIND">KIND</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.RESTBase-class.html" onclick="show_private();">RESTBase</a>)</span></td>
<td width="33%" class="link-index">&nbsp;</td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="scapi.Group-class.html#KIND">KIND</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.Group-class.html">Group</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.Track-class.html#KIND">KIND</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.Track-class.html">Track</a>)</span></td>
<td width="33%" class="link-index">&nbsp;</td>
</tr>
</table>
</td></tr>
<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="L">L</a></h2></td>
<td valign="top">
<table class="link-index" width="100%" border="1">
<tr>
<td width="33%" class="link-index"><a href="scapi.ApiConnector-class.html#LIST_LIMIT">LIST_LIMIT</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.ApiConnector-class.html" onclick="show_private();">ApiConnector</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.tests.test_connect-module.html#load_config">load_config()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.tests.test_connect-module.html">scapi.tests.test_connect</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.tests.scapi_tests-module.html#logger">logger</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.tests.scapi_tests-module.html">scapi.tests.scapi_tests</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="scapi.ApiConnector-class.html#LIST_LIMIT_PARAMETER">LIST_LIMIT_PARAMETER</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.ApiConnector-class.html" onclick="show_private();">ApiConnector</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.authentication-module.html#logger">logger</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.authentication-module.html" onclick="show_private();">scapi.authentication</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.tests.test_connect-module.html#logger">logger</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.tests.test_connect-module.html">scapi.tests.test_connect</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="scapi.ApiConnector-class.html#LIST_OFFSET_PARAMETER">LIST_OFFSET_PARAMETER</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.ApiConnector-class.html" onclick="show_private();">ApiConnector</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi-module.html#logger">logger</a><br />
<span class="index-where">(in&nbsp;<a href="scapi-module.html">scapi</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.tests.test_oauth-module.html#logger">logger</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.tests.test_oauth-module.html">scapi.tests.test_oauth</a>)</span></td>
</tr>
</table>
</td></tr>
<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="M">M</a></h2></td>
<td valign="top">
<table class="link-index" width="100%" border="1">
<tr>
<td width="33%" class="link-index"><a href="scapi.multidict-module.html">multidict</a><br />
<span class="index-where">(in&nbsp;<a href="scapi-module.html">scapi</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.util.MultiDict-class.html">MultiDict</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.util-module.html" onclick="show_private();">scapi.util</a>)</span></td>
<td width="33%" class="link-index">&nbsp;</td>
</tr>
<tr><td class="link-index">&nbsp;</td><td class="link-index">&nbsp;</td><td class="link-index">&nbsp;</td></tr>
</table>
</td></tr>
<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="N">N</a></h2></td>
<td valign="top">
<table class="link-index" width="100%" border="1">
<tr>
<td width="33%" class="link-index"><a href="scapi.RESTBase-class.html#new">new()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.RESTBase-class.html" onclick="show_private();">RESTBase</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.NoResultFromRequest-class.html">NoResultFromRequest</a><br />
<span class="index-where">(in&nbsp;<a href="scapi-module.html">scapi</a>)</span></td>
<td width="33%" class="link-index">&nbsp;</td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="scapi.json._StringGenerator-class.html#next">next()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.json._StringGenerator-class.html" onclick="show_private();">_StringGenerator</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.ApiConnector-class.html#normalize_method">normalize_method()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.ApiConnector-class.html" onclick="show_private();">ApiConnector</a>)</span></td>
<td width="33%" class="link-index">&nbsp;</td>
</tr>
</table>
</td></tr>
<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="O">O</a></h2></td>
<td valign="top">
<table class="link-index" width="100%" border="1">
<tr>
<td width="33%" class="link-index"><a href="scapi.authentication.OAuthAuthenticator-class.html#OAUTH_API_VERSION">OAUTH_API_VERSION</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.authentication.OAuthAuthenticator-class.html">OAuthAuthenticator</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.authentication.OAuthAuthenticator-class.html">OAuthAuthenticator</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.authentication-module.html" onclick="show_private();">scapi.authentication</a>)</span></td>
<td width="33%" class="link-index">&nbsp;</td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="scapi.Scope-class.html#oauth_sign_get_request">oauth_sign_get_request()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.Scope-class.html" onclick="show_private();">Scope</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.authentication.OAuthSignatureMethod_HMAC_SHA1-class.html">OAuthSignatureMethod_HMAC_SHA1</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.authentication-module.html" onclick="show_private();">scapi.authentication</a>)</span></td>
<td width="33%" class="link-index">&nbsp;</td>
</tr>
</table>
</td></tr>
<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="P">P</a></h2></td>
<td valign="top">
<table class="link-index" width="100%" border="1">
<tr>
<td width="33%" class="link-index"><a href="scapi.tests.scapi_tests.SCAPITests-class.html#PASSWORD">PASSWORD</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.tests.scapi_tests.SCAPITests-class.html">SCAPITests</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.json._StringGenerator-class.html#peek">peek()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.json._StringGenerator-class.html" onclick="show_private();">_StringGenerator</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi-module.html#PROXY">PROXY</a><br />
<span class="index-where">(in&nbsp;<a href="scapi-module.html">scapi</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="scapi.tests.test_connect-module.html#PASSWORD">PASSWORD</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.tests.test_connect-module.html">scapi.tests.test_connect</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.Playlist-class.html">Playlist</a><br />
<span class="index-where">(in&nbsp;<a href="scapi-module.html">scapi</a>)</span></td>
<td width="33%" class="link-index">&nbsp;</td>
</tr>
</table>
</td></tr>
<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="R">R</a></h2></td>
<td valign="top">
<table class="link-index" width="100%" border="1">
<tr>
<td width="33%" class="link-index"><a href="scapi.json.JsonReader-class.html#read">read()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.json.JsonReader-class.html">JsonReader</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.RESTBase-class.html#REGISTRY">REGISTRY</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.RESTBase-class.html" onclick="show_private();">RESTBase</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.tests.test_connect-module.html#ROOT">ROOT</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.tests.test_connect-module.html">scapi.tests.test_connect</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="scapi.json-module.html#read">read()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.json-module.html">scapi.json</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi-module.html#REQUEST_TOKEN_URL">REQUEST_TOKEN_URL</a><br />
<span class="index-where">(in&nbsp;<a href="scapi-module.html">scapi</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.tests.scapi_tests.SCAPITests-class.html#RUN_INTERACTIVE_TESTS">RUN_INTERACTIVE_TESTS</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.tests.scapi_tests.SCAPITests-class.html">SCAPITests</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="scapi.json.ReadException-class.html">ReadException</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.json-module.html">scapi.json</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.RESTBase-class.html">RESTBase</a><br />
<span class="index-where">(in&nbsp;<a href="scapi-module.html">scapi</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.tests.test_connect-module.html#RUN_INTERACTIVE_TESTS">RUN_INTERACTIVE_TESTS</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.tests.test_connect-module.html">scapi.tests.test_connect</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="scapi-module.html#register_classes">register_classes()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi-module.html">scapi</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.tests.scapi_tests.SCAPITests-class.html#root">root</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.tests.scapi_tests.SCAPITests-class.html">SCAPITests</a>)</span></td>
<td width="33%" class="link-index">&nbsp;</td>
</tr>
</table>
</td></tr>
<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="S">S</a></h2></td>
<td valign="top">
<table class="link-index" width="100%" border="1">
<tr>
<td width="33%" class="link-index"><a href="scapi-module.html">scapi</a></td>
<td width="33%" class="link-index"><a href="scapi.SCRedirectHandler-class.html">SCRedirectHandler</a><br />
<span class="index-where">(in&nbsp;<a href="scapi-module.html">scapi</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.tests.scapi_tests.SCAPITests-class.html#setUp">setUp()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.tests.scapi_tests.SCAPITests-class.html">SCAPITests</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="scapi.tests.scapi_tests-module.html">scapi_tests</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.tests-module.html">scapi.tests</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.tests.scapi_tests.SCAPITests-class.html#SECRET">SECRET</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.tests.scapi_tests.SCAPITests-class.html">SCAPITests</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.tests.test_connect-module.html#setup">setup()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.tests.test_connect-module.html">scapi.tests.test_connect</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="scapi.tests.scapi_tests.SCAPITests-class.html">SCAPITests</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.tests.scapi_tests-module.html">scapi.tests.scapi_tests</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.tests.test_connect-module.html#SECRET">SECRET</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.tests.test_connect-module.html">scapi.tests.test_connect</a>)</span></td>
<td width="33%" class="link-index">&nbsp;</td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="scapi.Scope-class.html">Scope</a><br />
<span class="index-where">(in&nbsp;<a href="scapi-module.html">scapi</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.tests.test_oauth-module.html#SECRET">SECRET</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.tests.test_oauth-module.html">scapi.tests.test_oauth</a>)</span></td>
<td width="33%" class="link-index">&nbsp;</td>
</tr>
</table>
</td></tr>
<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="T">T</a></h2></td>
<td valign="top">
<table class="link-index" width="100%" border="1">
<tr>
<td width="33%" class="link-index"><a href="scapi.tests.scapi_tests.SCAPITests-class.html#test_access_token_acquisition">test_access_token_acquisition()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.tests.scapi_tests.SCAPITests-class.html">SCAPITests</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.tests.test_connect-module.html#test_load_config">test_load_config()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.tests.test_connect-module.html">scapi.tests.test_connect</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.tests.test_connect-module.html#test_setting_comments_the_way_shawn_says_its_correct">test_setting_comments_the_way_shawn_says_its_correct()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.tests.test_connect-module.html">scapi.tests.test_connect</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="scapi.tests.test_connect-module.html#test_access_token_acquisition">test_access_token_acquisition()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.tests.test_connect-module.html">scapi.tests.test_connect</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.tests.scapi_tests.SCAPITests-class.html#test_me_having_stress">test_me_having_stress()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.tests.scapi_tests.SCAPITests-class.html">SCAPITests</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.tests.scapi_tests.SCAPITests-class.html#test_setting_permissions">test_setting_permissions()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.tests.scapi_tests.SCAPITests-class.html">SCAPITests</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="scapi.tests.test_oauth-module.html#test_base64_connect">test_base64_connect()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.tests.test_oauth-module.html">scapi.tests.test_oauth</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.tests.test_connect-module.html#test_me_having_stress">test_me_having_stress()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.tests.test_connect-module.html">scapi.tests.test_connect</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.tests.test_connect-module.html#test_setting_permissions">test_setting_permissions()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.tests.test_connect-module.html">scapi.tests.test_connect</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="scapi.tests.test_connect-module.html">test_connect</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.tests-module.html">scapi.tests</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.tests.scapi_tests.SCAPITests-class.html#test_modifying_playlists">test_modifying_playlists()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.tests.scapi_tests.SCAPITests-class.html">SCAPITests</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.tests.scapi_tests.SCAPITests-class.html#test_streaming">test_streaming()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.tests.scapi_tests.SCAPITests-class.html">SCAPITests</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="scapi.tests.scapi_tests.SCAPITests-class.html#test_connect">test_connect()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.tests.scapi_tests.SCAPITests-class.html">SCAPITests</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.tests.scapi_tests.SCAPITests-class.html#test_non_global_api">test_non_global_api()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.tests.scapi_tests.SCAPITests-class.html">SCAPITests</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.tests.scapi_tests.SCAPITests-class.html#test_track_creation">test_track_creation()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.tests.scapi_tests.SCAPITests-class.html">SCAPITests</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="scapi.tests.test_connect-module.html#test_connect">test_connect()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.tests.test_connect-module.html">scapi.tests.test_connect</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.tests.test_connect-module.html#test_non_global_api">test_non_global_api()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.tests.test_connect-module.html">scapi.tests.test_connect</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.tests.test_connect-module.html#test_track_creation">test_track_creation()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.tests.test_connect-module.html">scapi.tests.test_connect</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="scapi.tests.scapi_tests.SCAPITests-class.html#test_contact_add_and_removal">test_contact_add_and_removal()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.tests.scapi_tests.SCAPITests-class.html">SCAPITests</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.tests.test_oauth-module.html">test_oauth</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.tests-module.html">scapi.tests</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.tests.scapi_tests.SCAPITests-class.html#test_track_creation_with_artwork">test_track_creation_with_artwork()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.tests.scapi_tests.SCAPITests-class.html">SCAPITests</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="scapi.tests.test_connect-module.html#test_contact_add_and_removal">test_contact_add_and_removal()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.tests.test_connect-module.html">scapi.tests.test_connect</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.tests.test_oauth-module.html#test_oauth_connect">test_oauth_connect()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.tests.test_oauth-module.html">scapi.tests.test_oauth</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.tests.scapi_tests.SCAPITests-class.html#test_track_creation_with_email_sharers">test_track_creation_with_email_sharers()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.tests.scapi_tests.SCAPITests-class.html">SCAPITests</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="scapi.tests.scapi_tests.SCAPITests-class.html#test_contact_list">test_contact_list()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.tests.scapi_tests.SCAPITests-class.html">SCAPITests</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.tests.scapi_tests.SCAPITests-class.html#test_oauth_get_signing">test_oauth_get_signing()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.tests.scapi_tests.SCAPITests-class.html">SCAPITests</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.tests.scapi_tests.SCAPITests-class.html#test_track_creation_with_updated_artwork">test_track_creation_with_updated_artwork()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.tests.scapi_tests.SCAPITests-class.html">SCAPITests</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="scapi.tests.test_connect-module.html#test_contact_list">test_contact_list()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.tests.test_connect-module.html">scapi.tests.test_connect</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.tests.scapi_tests.SCAPITests-class.html#test_permissions">test_permissions()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.tests.scapi_tests.SCAPITests-class.html">SCAPITests</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.tests.scapi_tests.SCAPITests-class.html#test_track_deletion">test_track_deletion()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.tests.scapi_tests.SCAPITests-class.html">SCAPITests</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="scapi.tests.scapi_tests.SCAPITests-class.html#test_downloadable">test_downloadable()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.tests.scapi_tests.SCAPITests-class.html">SCAPITests</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.tests.test_connect-module.html#test_permissions">test_permissions()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.tests.test_connect-module.html">scapi.tests.test_connect</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.tests.scapi_tests.SCAPITests-class.html#test_track_update">test_track_update()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.tests.scapi_tests.SCAPITests-class.html">SCAPITests</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="scapi.tests.scapi_tests.SCAPITests-class.html#test_events">test_events()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.tests.scapi_tests.SCAPITests-class.html">SCAPITests</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.tests.scapi_tests.SCAPITests-class.html#test_playlist_creation">test_playlist_creation()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.tests.scapi_tests.SCAPITests-class.html">SCAPITests</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.tests.test_connect-module.html#test_track_update">test_track_update()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.tests.test_connect-module.html">scapi.tests.test_connect</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="scapi.tests.test_connect-module.html#test_events">test_events()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.tests.test_connect-module.html">scapi.tests.test_connect</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.tests.scapi_tests.SCAPITests-class.html#test_playlists">test_playlists()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.tests.scapi_tests.SCAPITests-class.html">SCAPITests</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.tests.scapi_tests.SCAPITests-class.html#test_upload">test_upload()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.tests.scapi_tests.SCAPITests-class.html">SCAPITests</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="scapi.tests.scapi_tests.SCAPITests-class.html#test_favorites">test_favorites()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.tests.scapi_tests.SCAPITests-class.html">SCAPITests</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.tests.test_connect-module.html#test_playlists">test_playlists()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.tests.test_connect-module.html">scapi.tests.test_connect</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.tests.test_connect-module.html#test_upload">test_upload()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.tests.test_connect-module.html">scapi.tests.test_connect</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="scapi.tests.test_connect-module.html#test_favorites">test_favorites()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.tests.test_connect-module.html">scapi.tests.test_connect</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.tests.scapi_tests.SCAPITests-class.html#test_scoped_track_creation">test_scoped_track_creation()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.tests.scapi_tests.SCAPITests-class.html">SCAPITests</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.tests-module.html">tests</a><br />
<span class="index-where">(in&nbsp;<a href="scapi-module.html">scapi</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="scapi.tests.scapi_tests.SCAPITests-class.html#test_filtered_list">test_filtered_list()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.tests.scapi_tests.SCAPITests-class.html">SCAPITests</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.tests.test_connect-module.html#test_scoped_track_creation">test_scoped_track_creation()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.tests.test_connect-module.html">scapi.tests.test_connect</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.tests.scapi_tests.SCAPITests-class.html#TOKEN">TOKEN</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.tests.scapi_tests.SCAPITests-class.html">SCAPITests</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="scapi.tests.scapi_tests.SCAPITests-class.html#test_groups">test_groups()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.tests.scapi_tests.SCAPITests-class.html">SCAPITests</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.tests.scapi_tests.SCAPITests-class.html#test_setting_comments">test_setting_comments()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.tests.scapi_tests.SCAPITests-class.html">SCAPITests</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.tests.test_connect-module.html#TOKEN">TOKEN</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.tests.test_connect-module.html">scapi.tests.test_connect</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="scapi.tests.scapi_tests.SCAPITests-class.html#test_large_list">test_large_list()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.tests.scapi_tests.SCAPITests-class.html">SCAPITests</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.tests.test_connect-module.html#test_setting_comments">test_setting_comments()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.tests.test_connect-module.html">scapi.tests.test_connect</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.tests.test_oauth-module.html#TOKEN">TOKEN</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.tests.test_oauth-module.html">scapi.tests.test_oauth</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="scapi.tests.test_connect-module.html#test_large_list">test_large_list()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.tests.test_connect-module.html">scapi.tests.test_connect</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.tests.scapi_tests.SCAPITests-class.html#test_setting_comments_the_way_shawn_says_its_correct">test_setting_comments_the_way_shawn_says_its_correct()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.tests.scapi_tests.SCAPITests-class.html">SCAPITests</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.Track-class.html">Track</a><br />
<span class="index-where">(in&nbsp;<a href="scapi-module.html">scapi</a>)</span></td>
</tr>
</table>
</td></tr>
<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="U">U</a></h2></td>
<td valign="top">
<table class="link-index" width="100%" border="1">
<tr>
<td width="33%" class="link-index"><a href="scapi.UnknownContentType-class.html">UnknownContentType</a><br />
<span class="index-where">(in&nbsp;<a href="scapi-module.html">scapi</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi-module.html#USE_PROXY">USE_PROXY</a><br />
<span class="index-where">(in&nbsp;<a href="scapi-module.html">scapi</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.tests.test_connect-module.html#USER">USER</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.tests.test_connect-module.html">scapi.tests.test_connect</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="scapi.authentication-module.html#USE_DOUBLE_ESCAPE_HACK">USE_DOUBLE_ESCAPE_HACK</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.authentication-module.html" onclick="show_private();">scapi.authentication</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.User-class.html">User</a><br />
<span class="index-where">(in&nbsp;<a href="scapi-module.html">scapi</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.util-module.html">util</a><br />
<span class="index-where">(in&nbsp;<a href="scapi-module.html">scapi</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="scapi.tests.test_connect-module.html#USE_OAUTH">USE_OAUTH</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.tests.test_connect-module.html">scapi.tests.test_connect</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.tests.scapi_tests.SCAPITests-class.html#USER">USER</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.tests.scapi_tests.SCAPITests-class.html">SCAPITests</a>)</span></td>
<td width="33%" class="link-index">&nbsp;</td>
</tr>
</table>
</td></tr>
<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="W">W</a></h2></td>
<td valign="top">
<table class="link-index" width="100%" border="1">
<tr>
<td width="33%" class="link-index"><a href="scapi.json.JsonWriter-class.html#write">write()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.json.JsonWriter-class.html">JsonWriter</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.json-module.html#write">write()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.json-module.html">scapi.json</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.json.WriteException-class.html">WriteException</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.json-module.html">scapi.json</a>)</span></td>
</tr>
<tr><td class="link-index">&nbsp;</td><td class="link-index">&nbsp;</td><td class="link-index">&nbsp;</td></tr>
</table>
</td></tr>
<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="_">_</a></h2></td>
<td valign="top">
<table class="link-index" width="100%" border="1">
<tr>
<td width="33%" class="link-index"><a href="scapi.RESTBase-class.html#__eq__">__eq__()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.RESTBase-class.html" onclick="show_private();">RESTBase</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.RESTBase-class.html#__setattr__">__setattr__()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.RESTBase-class.html" onclick="show_private();">RESTBase</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.json.JsonReader-class.html#_next">_next()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.json.JsonReader-class.html">JsonReader</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="scapi.RESTBase-class.html#__getattr__">__getattr__()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.RESTBase-class.html" onclick="show_private();">RESTBase</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.Scope-class.html#__str__">__str__()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.Scope-class.html" onclick="show_private();">Scope</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.json.JsonReader-class.html#_peek">_peek()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.json.JsonReader-class.html">JsonReader</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="scapi.Scope-class.html#__getattr__">__getattr__()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.Scope-class.html" onclick="show_private();">Scope</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.UnknownContentType-class.html#__str__">__str__()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.UnknownContentType-class.html" onclick="show_private();">UnknownContentType</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.json.JsonReader-class.html#_read">_read()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.json.JsonReader-class.html">JsonReader</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="scapi.RESTBase-class.html#__hash__">__hash__()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.RESTBase-class.html" onclick="show_private();">RESTBase</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.json.JsonWriter-class.html#_append">_append()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.json.JsonWriter-class.html">JsonWriter</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.json.JsonReader-class.html#_readArray">_readArray()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.json.JsonReader-class.html">JsonReader</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="scapi.ApiConnector-class.html#__init__">__init__()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.ApiConnector-class.html" onclick="show_private();">ApiConnector</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.RESTBase-class.html#_as_arguments">_as_arguments()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.RESTBase-class.html" onclick="show_private();">RESTBase</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.json.JsonReader-class.html#_readComment">_readComment()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.json.JsonReader-class.html">JsonReader</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="scapi.InvalidMethodException-class.html#__init__">__init__()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.InvalidMethodException-class.html" onclick="show_private();">InvalidMethodException</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.json.JsonReader-class.html#_assertNext">_assertNext()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.json.JsonReader-class.html">JsonReader</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.json.JsonReader-class.html#_readCStyleComment">_readCStyleComment()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.json.JsonReader-class.html">JsonReader</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="scapi.RESTBase-class.html#__init__">__init__()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.RESTBase-class.html" onclick="show_private();">RESTBase</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.Scope-class.html#_call">_call()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.Scope-class.html" onclick="show_private();">Scope</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.json.JsonReader-class.html#_readDoubleSolidusComment">_readDoubleSolidusComment()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.json.JsonReader-class.html">JsonReader</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="scapi.Scope-class.html#__init__">__init__()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.Scope-class.html" onclick="show_private();">Scope</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.RESTBase-class.html#_convert_value">_convert_value()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.RESTBase-class.html" onclick="show_private();">RESTBase</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.json.JsonReader-class.html#_readFalse">_readFalse()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.json.JsonReader-class.html">JsonReader</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="scapi.UnknownContentType-class.html#__init__">__init__()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.UnknownContentType-class.html" onclick="show_private();">UnknownContentType</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.Scope-class.html#_create_query_string">_create_query_string()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.Scope-class.html" onclick="show_private();">Scope</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.json.JsonReader-class.html#_readNull">_readNull()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.json.JsonReader-class.html">JsonReader</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="scapi.authentication.BasicAuthenticator-class.html#__init__">__init__()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.authentication.BasicAuthenticator-class.html">BasicAuthenticator</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.Scope-class.html#_create_request">_create_request()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.Scope-class.html" onclick="show_private();">Scope</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.json.JsonReader-class.html#_readNumber">_readNumber()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.json.JsonReader-class.html">JsonReader</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="scapi.authentication.OAuthAuthenticator-class.html#__init__">__init__()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.authentication.OAuthAuthenticator-class.html">OAuthAuthenticator</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.json.JsonReader-class.html#_eatWhitespace">_eatWhitespace()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.json.JsonReader-class.html">JsonReader</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.json.JsonReader-class.html#_readObject">_readObject()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.json.JsonReader-class.html">JsonReader</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="scapi.json._StringGenerator-class.html#__init__">__init__()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.json._StringGenerator-class.html" onclick="show_private();">_StringGenerator</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.Scope-class.html#_get_connector">_get_connector()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.Scope-class.html" onclick="show_private();">Scope</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.json.JsonReader-class.html#_readString">_readString()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.json.JsonReader-class.html">JsonReader</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="scapi.RESTBase-class.html#__ne__">__ne__()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.RESTBase-class.html" onclick="show_private();">RESTBase</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.json.JsonReader-class.html#_hexDigitToInt">_hexDigitToInt()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.json.JsonReader-class.html">JsonReader</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.json.JsonReader-class.html#_readTrue">_readTrue()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.json.JsonReader-class.html">JsonReader</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="scapi.InvalidMethodException-class.html#__repr__">__repr__()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.InvalidMethodException-class.html" onclick="show_private();">InvalidMethodException</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.tests.scapi_tests.SCAPITests-class.html#_load_config">_load_config()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.tests.scapi_tests.SCAPITests-class.html">SCAPITests</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.RESTBase-class.html#_scope">_scope()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.RESTBase-class.html" onclick="show_private();">RESTBase</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="scapi.RESTBase-class.html#__repr__">__repr__()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.RESTBase-class.html" onclick="show_private();">RESTBase</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.tests.test_connect-module.html#_logger">_logger</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.tests.test_connect-module.html">scapi.tests.test_connect</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.RESTBase-class.html#_singleton">_singleton()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.RESTBase-class.html" onclick="show_private();">RESTBase</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="scapi.Scope-class.html#__repr__">__repr__()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.Scope-class.html" onclick="show_private();">Scope</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.tests.test_oauth-module.html#_logger">_logger</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.tests.test_oauth-module.html">scapi.tests.test_oauth</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.json._StringGenerator-class.html">_StringGenerator</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.json-module.html">scapi.json</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="scapi.UnknownContentType-class.html#__repr__">__repr__()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.UnknownContentType-class.html" onclick="show_private();">UnknownContentType</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.Scope-class.html#_map">_map()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.Scope-class.html" onclick="show_private();">Scope</a>)</span></td>
<td width="33%" class="link-index"><a href="scapi.json.JsonWriter-class.html#_write">_write()</a><br />
<span class="index-where">(in&nbsp;<a href="scapi.json.JsonWriter-class.html">JsonWriter</a>)</span></td>
</tr>
</table>
</td></tr>
</table>
<br /><br /><!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
bgcolor="#a0c0ff" cellspacing="0">
<tr valign="middle">
<!-- Home link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="scapi-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Tree link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Index link -->
<th bgcolor="#70b0f0" class="navbar-select"
>&nbsp;&nbsp;&nbsp;Indices&nbsp;&nbsp;&nbsp;</th>
<!-- Help link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Project homepage -->
<th class="navbar" align="right" width="100%">
<table border="0" cellpadding="0" cellspacing="0">
<tr><th class="navbar" align="center"
>SoundCloud API</th>
</tr></table></th>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
Generated by Epydoc 3.0.1 on Thu Sep 10 00:58:49 2009
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
>http://epydoc.sourceforge.net</a>
</td>
</tr>
</table>
<script type="text/javascript">
<!--
// Private objects are initially displayed (because if
// javascript is turned off then we want them to be
// visible); but by default, we want to hide them. So hide
// them unless we have a cookie that says to show them.
checkCookie();
// -->
</script>
</body>
</html>

View file

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
"DTD/xhtml1-frameset.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title> SoundCloud API </title>
</head>
<frameset cols="20%,80%">
<frameset rows="30%,70%">
<frame src="toc.html" name="moduleListFrame"
id="moduleListFrame" />
<frame src="toc-everything.html" name="moduleFrame"
id="moduleFrame" />
</frameset>
<frame src="scapi-module.html" name="mainFrame" id="mainFrame" />
</frameset>
</html>

View file

@ -0,0 +1,130 @@
<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>Module Hierarchy</title>
<link rel="stylesheet" href="epydoc.css" type="text/css" />
<script type="text/javascript" src="epydoc.js"></script>
</head>
<body bgcolor="white" text="black" link="blue" vlink="#204080"
alink="#204080">
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
bgcolor="#a0c0ff" cellspacing="0">
<tr valign="middle">
<!-- Home link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="scapi-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Tree link -->
<th bgcolor="#70b0f0" class="navbar-select"
>&nbsp;&nbsp;&nbsp;Trees&nbsp;&nbsp;&nbsp;</th>
<!-- Index link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Help link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Project homepage -->
<th class="navbar" align="right" width="100%">
<table border="0" cellpadding="0" cellspacing="0">
<tr><th class="navbar" align="center"
>SoundCloud API</th>
</tr></table></th>
</tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0">
<tr valign="top">
<td width="100%">&nbsp;</td>
<td>
<table cellpadding="0" cellspacing="0">
<!-- hide/show private -->
<tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
<tr><td align="right"><span class="options"
>[<a href="frames.html" target="_top">frames</a
>]&nbsp;|&nbsp;<a href="module-tree.html"
target="_top">no&nbsp;frames</a>]</span></td></tr>
</table>
</td>
</tr>
</table>
<center><b>
[ <a href="module-tree.html">Module Hierarchy</a>
| <a href="class-tree.html">Class Hierarchy</a> ]
</b></center><br />
<h1 class="epydoc">Module Hierarchy</h1>
<ul class="nomargin-top">
<li> <strong class="uidlink"><a href="scapi-module.html">scapi</a></strong>
<ul>
<li class="private"> <strong class="uidlink"><a href="scapi.authentication-module.html" onclick="show_private();">scapi.authentication</a></strong> </li>
<li> <strong class="uidlink"><a href="scapi.config-module.html">scapi.config</a></strong> </li>
<li> <strong class="uidlink"><a href="scapi.json-module.html">scapi.json</a></strong> </li>
<li> <strong class="uidlink"><a href="scapi.multidict-module.html">scapi.multidict</a></strong> </li>
<li> <strong class="uidlink"><a href="scapi.tests-module.html">scapi.tests</a></strong>
<ul>
<li> <strong class="uidlink"><a href="scapi.tests.scapi_tests-module.html">scapi.tests.scapi_tests</a></strong> </li>
<li> <strong class="uidlink"><a href="scapi.tests.test_connect-module.html">scapi.tests.test_connect</a></strong> </li>
<li> <strong class="uidlink"><a href="scapi.tests.test_oauth-module.html">scapi.tests.test_oauth</a></strong> </li>
</ul>
</li>
<li class="private"> <strong class="uidlink"><a href="scapi.util-module.html" onclick="show_private();">scapi.util</a></strong> </li>
</ul>
</li>
</ul>
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
bgcolor="#a0c0ff" cellspacing="0">
<tr valign="middle">
<!-- Home link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="scapi-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Tree link -->
<th bgcolor="#70b0f0" class="navbar-select"
>&nbsp;&nbsp;&nbsp;Trees&nbsp;&nbsp;&nbsp;</th>
<!-- Index link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Help link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Project homepage -->
<th class="navbar" align="right" width="100%">
<table border="0" cellpadding="0" cellspacing="0">
<tr><th class="navbar" align="center"
>SoundCloud API</th>
</tr></table></th>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
Generated by Epydoc 3.0.1 on Thu Sep 10 00:58:49 2009
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
>http://epydoc.sourceforge.net</a>
</td>
</tr>
</table>
<script type="text/javascript">
<!--
// Private objects are initially displayed (because if
// javascript is turned off then we want them to be
// visible); but by default, we want to hide them. So hide
// them unless we have a cookie that says to show them.
checkCookie();
// -->
</script>
</body>
</html>

View file

@ -0,0 +1,38 @@
<html><head><title>Epydoc Redirect Page</title>
<meta http-equiv="cache-control" content="no-cache" />
<meta http-equiv="expires" content="0" />
<meta http-equiv="pragma" content="no-cache" />
<script type="text/javascript" src="epydoc.js"></script>
</head>
<body>
<script type="text/javascript">
<!--
var pages = ["scapi.authentication.OAuthSignatureMethod_HMAC_SHA1-c", "scapi.authentication.BasicAuthenticator-c", "scapi.authentication.OAuthAuthenticator-c", "scapi.tests.scapi_tests.SCAPITests-c", "scapi.InvalidMethodException-c", "scapi.json._StringGenerator-c", "exceptions.AssertionError-c", "scapi.NoResultFromRequest-c", "scapi.json.WriteException-c", "scapi.tests.test_connect-m", "scapi.UnknownContentType-c", "scapi.json.ReadException-c", "scapi.tests.scapi_tests-m", "scapi.SCRedirectHandler-c", "scapi.tests.test_oauth-m", "scapi.json.JsonReader-c", "scapi.json.JsonWriter-c", "scapi.authentication-m", "scapi.util.MultiDict-c", "scapi.ApiConnector-c", "scapi.multidict-m", "scapi.Playlist-c", "scapi.RESTBase-c", "scapi.Comment-c", "scapi.config-m", "scapi.tests-m", "scapi.Event-c", "scapi.Group-c", "scapi.Scope-c", "scapi.Track-c", "scapi.json-m", "scapi.util-m", "scapi.User-c", "scapi-m"];
var dottedName = get_anchor();
if (dottedName) {
var target = redirect_url(dottedName);
if (target) window.location.replace(target);
}
// -->
</script>
<h3>Epydoc Auto-redirect page</h3>
<p>When javascript is enabled, this page will redirect URLs of
the form <tt>redirect.html#<i>dotted.name</i></tt> to the
documentation for the object with the given fully-qualified
dotted name.</p>
<p><a id="message"> &nbsp; </a></p>
<script type="text/javascript">
<!--
if (dottedName) {
var msg = document.getElementById("message");
msg.innerHTML = "No documentation found for <tt>"+
dottedName+"</tt>";
}
// -->
</script>
</body>
</html>

View file

@ -0,0 +1,444 @@
<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>scapi</title>
<link rel="stylesheet" href="epydoc.css" type="text/css" />
<script type="text/javascript" src="epydoc.js"></script>
</head>
<body bgcolor="white" text="black" link="blue" vlink="#204080"
alink="#204080">
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
bgcolor="#a0c0ff" cellspacing="0">
<tr valign="middle">
<!-- Home link -->
<th bgcolor="#70b0f0" class="navbar-select"
>&nbsp;&nbsp;&nbsp;Home&nbsp;&nbsp;&nbsp;</th>
<!-- Tree link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Index link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Help link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Project homepage -->
<th class="navbar" align="right" width="100%">
<table border="0" cellpadding="0" cellspacing="0">
<tr><th class="navbar" align="center"
>SoundCloud API</th>
</tr></table></th>
</tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0">
<tr valign="top">
<td width="100%">
<span class="breadcrumbs">
Package&nbsp;scapi
</span>
</td>
<td>
<table cellpadding="0" cellspacing="0">
<!-- hide/show private -->
<tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
<tr><td align="right"><span class="options"
>[<a href="frames.html" target="_top">frames</a
>]&nbsp;|&nbsp;<a href="scapi-module.html"
target="_top">no&nbsp;frames</a>]</span></td></tr>
</table>
</td>
</tr>
</table>
<!-- ==================== PACKAGE DESCRIPTION ==================== -->
<h1 class="epydoc">Package scapi</h1><p class="nomargin-top"><span class="codelink"><a href="scapi-pysrc.html">source&nbsp;code</a></span></p>
<!-- ==================== SUBMODULES ==================== -->
<a name="section-Submodules"></a>
<table class="summary" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Submodules</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-Submodules"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
<tr><td class="summary">
<ul class="nomargin">
<li class="private"> <strong class="uidlink"><a href="scapi.authentication-module.html" onclick="show_private();">scapi.authentication</a></strong> </li>
<li> <strong class="uidlink"><a href="scapi.config-module.html">scapi.config</a></strong> </li>
<li> <strong class="uidlink"><a href="scapi.json-module.html">scapi.json</a></strong> </li>
<li> <strong class="uidlink"><a href="scapi.multidict-module.html">scapi.multidict</a></strong> </li>
<li> <strong class="uidlink"><a href="scapi.tests-module.html">scapi.tests</a></strong>
<ul>
<li> <strong class="uidlink"><a href="scapi.tests.scapi_tests-module.html">scapi.tests.scapi_tests</a></strong> </li>
<li> <strong class="uidlink"><a href="scapi.tests.test_connect-module.html">scapi.tests.test_connect</a></strong> </li>
<li> <strong class="uidlink"><a href="scapi.tests.test_oauth-module.html">scapi.tests.test_oauth</a></strong> </li>
</ul>
</li>
<li class="private"> <strong class="uidlink"><a href="scapi.util-module.html" onclick="show_private();">scapi.util</a></strong> </li>
</ul></td></tr>
</table>
<br />
<!-- ==================== CLASSES ==================== -->
<a name="section-Classes"></a>
<table class="summary" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Classes</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-Classes"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
<tr class="private">
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a href="scapi.ApiConnector-class.html" class="summary-name" onclick="show_private();">ApiConnector</a><br />
The ApiConnector holds all the data necessary to authenticate
against the soundcloud-api.
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a href="scapi.Comment-class.html" class="summary-name">Comment</a><br />
A comment domain object/resource.
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a href="scapi.Event-class.html" class="summary-name">Event</a><br />
A event domain object/resource.
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a href="scapi.Group-class.html" class="summary-name">Group</a><br />
A group domain object/resource
</td>
</tr>
<tr class="private">
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a href="scapi.InvalidMethodException-class.html" class="summary-name" onclick="show_private();">InvalidMethodException</a>
</td>
</tr>
<tr class="private">
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a href="scapi.NoResultFromRequest-class.html" class="summary-name" onclick="show_private();">NoResultFromRequest</a>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a href="scapi.Playlist-class.html" class="summary-name">Playlist</a><br />
A playlist/set domain object/resource
</td>
</tr>
<tr class="private">
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a href="scapi.RESTBase-class.html" class="summary-name" onclick="show_private();">RESTBase</a><br />
The baseclass for all our domain-objects/resources.
</td>
</tr>
<tr class="private">
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a href="scapi.SCRedirectHandler-class.html" class="summary-name" onclick="show_private();">SCRedirectHandler</a><br />
A urllib2-Handler to deal with the redirects the RESTful API of SC
uses.
</td>
</tr>
<tr class="private">
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a href="scapi.Scope-class.html" class="summary-name" onclick="show_private();">Scope</a><br />
The basic means to query and create resources.
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a href="scapi.Track-class.html" class="summary-name">Track</a><br />
A track domain object/resource.
</td>
</tr>
<tr class="private">
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a href="scapi.UnknownContentType-class.html" class="summary-name" onclick="show_private();">UnknownContentType</a>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a href="scapi.User-class.html" class="summary-name">User</a><br />
A user domain object/resource.
</td>
</tr>
</table>
<!-- ==================== FUNCTIONS ==================== -->
<a name="section-Functions"></a>
<table class="summary" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Functions</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-Functions"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
<tr class="private">
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="register_classes"></a><span class="summary-sig-name">register_classes</span>()</span></td>
<td align="right" valign="top">
<span class="codelink"><a href="scapi-pysrc.html#register_classes">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
</table>
<!-- ==================== VARIABLES ==================== -->
<a name="section-Variables"></a>
<table class="summary" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Variables</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-Variables"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a href="scapi-module.html#ACCESS_TOKEN_URL" class="summary-name">ACCESS_TOKEN_URL</a> = <code title="'http://api.soundcloud.com/oauth/access_token'"><code class="variable-quote">'</code><code class="variable-string">http://api.soundcloud.com/oauth/ac</code><code class="variable-ellipsis">...</code></code><br />
The url Soundcould offers to make users authorize a concrete request
token.
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a href="scapi-module.html#AUTHORIZATION_URL" class="summary-name">AUTHORIZATION_URL</a> = <code title="'http://api.soundcloud.com/oauth/authorize'"><code class="variable-quote">'</code><code class="variable-string">http://api.soundcloud.com/oauth/a</code><code class="variable-ellipsis">...</code></code>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a name="PROXY"></a><span class="summary-name">PROXY</span> = <code title="''"><code class="variable-quote">'</code><code class="variable-string"></code><code class="variable-quote">'</code></code><br />
The url Soundcould offers to obtain request-tokens
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a href="scapi-module.html#REQUEST_TOKEN_URL" class="summary-name">REQUEST_TOKEN_URL</a> = <code title="'http://api.soundcloud.com/oauth/request_token'"><code class="variable-quote">'</code><code class="variable-string">http://api.soundcloud.com/oauth/r</code><code class="variable-ellipsis">...</code></code><br />
The url Soundcould offers to exchange access-tokens for
request-tokens.
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a name="USE_PROXY"></a><span class="summary-name">USE_PROXY</span> = <code title="False">False</code><br />
Something like http://127.0.0.1:10000/
</td>
</tr>
<tr class="private">
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a name="logger"></a><span class="summary-name">logger</span> = <code title="logging.getLogger(&quot;scapi&quot;)">logging.getLogger(&quot;scapi&quot;)</code>
</td>
</tr>
</table>
<!-- ==================== VARIABLES DETAILS ==================== -->
<a name="section-VariablesDetails"></a>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Variables Details</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-VariablesDetails"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
</table>
<a name="ACCESS_TOKEN_URL"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<h3 class="epydoc">ACCESS_TOKEN_URL</h3>
<p>The url Soundcould offers to make users authorize a concrete request
token.</p>
<dl class="fields">
</dl>
<dl class="fields">
<dt>Value:</dt>
<dd><table><tr><td><pre class="variable">
<code class="variable-quote">'</code><code class="variable-string">http://api.soundcloud.com/oauth/access_token</code><code class="variable-quote">'</code>
</pre></td></tr></table>
</dd>
</dl>
</td></tr></table>
</div>
<a name="AUTHORIZATION_URL"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<h3 class="epydoc">AUTHORIZATION_URL</h3>
<dl class="fields">
</dl>
<dl class="fields">
<dt>Value:</dt>
<dd><table><tr><td><pre class="variable">
<code class="variable-quote">'</code><code class="variable-string">http://api.soundcloud.com/oauth/authorize</code><code class="variable-quote">'</code>
</pre></td></tr></table>
</dd>
</dl>
</td></tr></table>
</div>
<a name="REQUEST_TOKEN_URL"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<h3 class="epydoc">REQUEST_TOKEN_URL</h3>
<p>The url Soundcould offers to exchange access-tokens for
request-tokens.</p>
<dl class="fields">
</dl>
<dl class="fields">
<dt>Value:</dt>
<dd><table><tr><td><pre class="variable">
<code class="variable-quote">'</code><code class="variable-string">http://api.soundcloud.com/oauth/request_token</code><code class="variable-quote">'</code>
</pre></td></tr></table>
</dd>
</dl>
</td></tr></table>
</div>
<br />
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
bgcolor="#a0c0ff" cellspacing="0">
<tr valign="middle">
<!-- Home link -->
<th bgcolor="#70b0f0" class="navbar-select"
>&nbsp;&nbsp;&nbsp;Home&nbsp;&nbsp;&nbsp;</th>
<!-- Tree link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Index link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Help link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Project homepage -->
<th class="navbar" align="right" width="100%">
<table border="0" cellpadding="0" cellspacing="0">
<tr><th class="navbar" align="center"
>SoundCloud API</th>
</tr></table></th>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
Generated by Epydoc 3.0.1 on Thu Sep 10 00:58:49 2009
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
>http://epydoc.sourceforge.net</a>
</td>
</tr>
</table>
<script type="text/javascript">
<!--
// Private objects are initially displayed (because if
// javascript is turned off then we want them to be
// visible); but by default, we want to hide them. So hide
// them unless we have a cookie that says to show them.
checkCookie();
// -->
</script>
</body>
</html>

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,544 @@
<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>scapi.ApiConnector</title>
<link rel="stylesheet" href="epydoc.css" type="text/css" />
<script type="text/javascript" src="epydoc.js"></script>
</head>
<body bgcolor="white" text="black" link="blue" vlink="#204080"
alink="#204080">
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
bgcolor="#a0c0ff" cellspacing="0">
<tr valign="middle">
<!-- Home link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="scapi-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Tree link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Index link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Help link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Project homepage -->
<th class="navbar" align="right" width="100%">
<table border="0" cellpadding="0" cellspacing="0">
<tr><th class="navbar" align="center"
>SoundCloud API</th>
</tr></table></th>
</tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0">
<tr valign="top">
<td width="100%">
<span class="breadcrumbs">
<a href="scapi-module.html">Package&nbsp;scapi</a> ::
Class&nbsp;ApiConnector
</span>
</td>
<td>
<table cellpadding="0" cellspacing="0">
<!-- hide/show private -->
<tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
<tr><td align="right"><span class="options"
>[<a href="frames.html" target="_top">frames</a
>]&nbsp;|&nbsp;<a href="scapi.ApiConnector-class.html"
target="_top">no&nbsp;frames</a>]</span></td></tr>
</table>
</td>
</tr>
</table>
<!-- ==================== CLASS DESCRIPTION ==================== -->
<h1 class="epydoc">Class ApiConnector</h1><p class="nomargin-top"><span class="codelink"><a href="scapi-pysrc.html#ApiConnector">source&nbsp;code</a></span></p>
<pre class="base-tree">
object --+
|
<strong class="uidshort">ApiConnector</strong>
</pre>
<hr />
<p>The ApiConnector holds all the data necessary to authenticate against
the soundcloud-api. You can instantiate several connectors if you like,
but usually one should be sufficient.</p>
<!-- ==================== INSTANCE METHODS ==================== -->
<a name="section-InstanceMethods"></a>
<table class="summary" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Instance Methods</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-InstanceMethods"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="scapi.ApiConnector-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">host</span>,
<span class="summary-sig-arg">user</span>=<span class="summary-sig-default">None</span>,
<span class="summary-sig-arg">password</span>=<span class="summary-sig-default">None</span>,
<span class="summary-sig-arg">authenticator</span>=<span class="summary-sig-default">None</span>,
<span class="summary-sig-arg">base</span>=<span class="summary-sig-default"><code class="variable-quote">'</code><code class="variable-string"></code><code class="variable-quote">'</code></span>,
<span class="summary-sig-arg">collapse_scope</span>=<span class="summary-sig-default">True</span>)</span><br />
Constructor for the API-Singleton.</td>
<td align="right" valign="top">
<span class="codelink"><a href="scapi-pysrc.html#ApiConnector.__init__">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="scapi.ApiConnector-class.html#normalize_method" class="summary-sig-name">normalize_method</a>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">method</span>)</span><br />
This method will take a method that has been part of a redirect of
some sort and see if it's valid, which means that it's located
beneath our base.</td>
<td align="right" valign="top">
<span class="codelink"><a href="scapi-pysrc.html#ApiConnector.normalize_method">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="scapi.ApiConnector-class.html#fetch_request_token" class="summary-sig-name">fetch_request_token</a>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">url</span>=<span class="summary-sig-default">None</span>,
<span class="summary-sig-arg">oauth_callback</span>=<span class="summary-sig-default"><code class="variable-quote">'</code><code class="variable-string">oob</code><code class="variable-quote">'</code></span>,
<span class="summary-sig-arg">oauth_verifier</span>=<span class="summary-sig-default">None</span>)</span><br />
Helper-function for a registered consumer to obtain a request token,
as used by oauth.</td>
<td align="right" valign="top">
<span class="codelink"><a href="scapi-pysrc.html#ApiConnector.fetch_request_token">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="scapi.ApiConnector-class.html#fetch_access_token" class="summary-sig-name">fetch_access_token</a>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">oauth_verifier</span>)</span><br />
Helper-function for a registered consumer to exchange an access token
for a request token.</td>
<td align="right" valign="top">
<span class="codelink"><a href="scapi-pysrc.html#ApiConnector.fetch_access_token">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="scapi.ApiConnector-class.html#get_request_token_authorization_url" class="summary-sig-name">get_request_token_authorization_url</a>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">token</span>)</span><br />
Simple helper function to generate the url needed to ask a user for
request token authorization.</td>
<td align="right" valign="top">
<span class="codelink"><a href="scapi-pysrc.html#ApiConnector.get_request_token_authorization_url">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td colspan="2" class="summary">
<p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
<code>__delattr__</code>,
<code>__getattribute__</code>,
<code>__hash__</code>,
<code>__new__</code>,
<code>__reduce__</code>,
<code>__reduce_ex__</code>,
<code>__repr__</code>,
<code>__setattr__</code>,
<code>__str__</code>
</p>
</td>
</tr>
</table>
<!-- ==================== CLASS VARIABLES ==================== -->
<a name="section-ClassVariables"></a>
<table class="summary" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Class Variables</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-ClassVariables"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a name="LIST_LIMIT"></a><span class="summary-name">LIST_LIMIT</span> = <code title="50">50</code><br />
The query-parameter that is used to request results beginning from a
certain offset.
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a href="scapi.ApiConnector-class.html#LIST_OFFSET_PARAMETER" class="summary-name">LIST_OFFSET_PARAMETER</a> = <code title="'offset'"><code class="variable-quote">'</code><code class="variable-string">offset</code><code class="variable-quote">'</code></code><br />
The query-parameter that is used to request results being limited to
a certain amount.
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a name="LIST_LIMIT_PARAMETER"></a><span class="summary-name">LIST_LIMIT_PARAMETER</span> = <code title="'limit'"><code class="variable-quote">'</code><code class="variable-string">limit</code><code class="variable-quote">'</code></code>
</td>
</tr>
</table>
<!-- ==================== PROPERTIES ==================== -->
<a name="section-Properties"></a>
<table class="summary" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Properties</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-Properties"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
<tr>
<td colspan="2" class="summary">
<p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
<code>__class__</code>
</p>
</td>
</tr>
</table>
<!-- ==================== METHOD DETAILS ==================== -->
<a name="section-MethodDetails"></a>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Method Details</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-MethodDetails"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
</table>
<a name="__init__"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
<span class="sig-arg">host</span>,
<span class="sig-arg">user</span>=<span class="sig-default">None</span>,
<span class="sig-arg">password</span>=<span class="sig-default">None</span>,
<span class="sig-arg">authenticator</span>=<span class="sig-default">None</span>,
<span class="sig-arg">base</span>=<span class="sig-default"><code class="variable-quote">'</code><code class="variable-string"></code><code class="variable-quote">'</code></span>,
<span class="sig-arg">collapse_scope</span>=<span class="sig-default">True</span>)</span>
<br /><em class="fname">(Constructor)</em>
</h3>
</td><td align="right" valign="top"
><span class="codelink"><a href="scapi-pysrc.html#ApiConnector.__init__">source&nbsp;code</a></span>&nbsp;
</td>
</tr></table>
<p>Constructor for the API-Singleton. Use it once with parameters, and
then the subsequent calls internal to the API will work.</p>
<dl class="fields">
<dt>Parameters:</dt>
<dd><ul class="nomargin-top">
<li><strong class="pname"><code>host</code></strong> (str) - the host to connect to, e.g. &quot;api.soundcloud.com&quot;. If a
port is needed, use &quot;api.soundcloud.com:1234&quot;</li>
<li><strong class="pname"><code>user</code></strong> (str) - if given, the username for basic HTTP authentication</li>
<li><strong class="pname"><code>password</code></strong> (str) - if the user is given, you have to give a password as well</li>
<li><strong class="pname"><code>authenticator</code></strong> (OAuthAuthenticator | BasicAuthenticator) - the authenticator to use, see <a
href="scapi.authentication-module.html" class="link"
onclick="show_private();">scapi.authentication</a></li>
</ul></dd>
<dt>Overrides:
object.__init__
</dt>
</dl>
</td></tr></table>
</div>
<a name="normalize_method"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">normalize_method</span>(<span class="sig-arg">self</span>,
<span class="sig-arg">method</span>)</span>
</h3>
</td><td align="right" valign="top"
><span class="codelink"><a href="scapi-pysrc.html#ApiConnector.normalize_method">source&nbsp;code</a></span>&nbsp;
</td>
</tr></table>
<p>This method will take a method that has been part of a redirect of
some sort and see if it's valid, which means that it's located beneath
our base. If yes, we return it normalized without that very base.</p>
<dl class="fields">
</dl>
</td></tr></table>
</div>
<a name="fetch_request_token"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">fetch_request_token</span>(<span class="sig-arg">self</span>,
<span class="sig-arg">url</span>=<span class="sig-default">None</span>,
<span class="sig-arg">oauth_callback</span>=<span class="sig-default"><code class="variable-quote">'</code><code class="variable-string">oob</code><code class="variable-quote">'</code></span>,
<span class="sig-arg">oauth_verifier</span>=<span class="sig-default">None</span>)</span>
</h3>
</td><td align="right" valign="top"
><span class="codelink"><a href="scapi-pysrc.html#ApiConnector.fetch_request_token">source&nbsp;code</a></span>&nbsp;
</td>
</tr></table>
<p>Helper-function for a registered consumer to obtain a request token,
as used by oauth.</p>
<p>Use it like this:</p>
<pre class="py-doctest">
<span class="py-prompt">&gt;&gt;&gt; </span>oauth_authenticator = scapi.authentication.OAuthAuthenticator(CONSUMER,
<span class="py-output"> CONSUMER_SECRET,</span>
<span class="py-output"> None, </span>
<span class="py-output"> None)</span></pre>
<pre class="py-doctest">
<span class="py-prompt">&gt;&gt;&gt; </span>sca = scapi.ApiConnector(host=API_HOST, authenticator=oauth_authenticator)
<span class="py-prompt">&gt;&gt;&gt; </span>token, secret = sca.fetch_request_token()
<span class="py-prompt">&gt;&gt;&gt; </span>authorization_url = sca.get_request_token_authorization_url(token)</pre>
<p>Please note the None passed as token &amp; secret to the
authenticator.</p>
<dl class="fields">
</dl>
</td></tr></table>
</div>
<a name="fetch_access_token"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">fetch_access_token</span>(<span class="sig-arg">self</span>,
<span class="sig-arg">oauth_verifier</span>)</span>
</h3>
</td><td align="right" valign="top"
><span class="codelink"><a href="scapi-pysrc.html#ApiConnector.fetch_access_token">source&nbsp;code</a></span>&nbsp;
</td>
</tr></table>
<p>Helper-function for a registered consumer to exchange an access token
for a request token.</p>
<p>Use it like this:</p>
<pre class="py-doctest">
<span class="py-prompt">&gt;&gt;&gt; </span>oauth_authenticator = scapi.authentication.OAuthAuthenticator(CONSUMER,
<span class="py-output"> CONSUMER_SECRET,</span>
<span class="py-output"> request_token, </span>
<span class="py-output"> request_token_secret)</span></pre>
<pre class="py-doctest">
<span class="py-prompt">&gt;&gt;&gt; </span>sca = scapi.ApiConnector(host=API_HOST, authenticator=oauth_authenticator)
<span class="py-prompt">&gt;&gt;&gt; </span>token, secret = sca.fetch_access_token()</pre>
<p>Please note the values passed as token &amp; secret to the
authenticator.</p>
<dl class="fields">
</dl>
</td></tr></table>
</div>
<a name="get_request_token_authorization_url"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">get_request_token_authorization_url</span>(<span class="sig-arg">self</span>,
<span class="sig-arg">token</span>)</span>
</h3>
</td><td align="right" valign="top"
><span class="codelink"><a href="scapi-pysrc.html#ApiConnector.get_request_token_authorization_url">source&nbsp;code</a></span>&nbsp;
</td>
</tr></table>
<p>Simple helper function to generate the url needed to ask a user for
request token authorization.</p>
<p>See also <a href="scapi.ApiConnector-class.html#fetch_request_token"
class="link">fetch_request_token</a>.</p>
<p>Possible usage:</p>
<pre class="py-doctest">
<span class="py-prompt">&gt;&gt;&gt; </span><span class="py-keyword">import</span> webbrowser
<span class="py-prompt">&gt;&gt;&gt; </span>sca = scapi.ApiConnector()
<span class="py-prompt">&gt;&gt;&gt; </span>authorization_url = sca.get_request_token_authorization_url(token)
<span class="py-prompt">&gt;&gt;&gt; </span>webbrowser.open(authorization_url)</pre>
<dl class="fields">
</dl>
</td></tr></table>
</div>
<br />
<!-- ==================== CLASS VARIABLE DETAILS ==================== -->
<a name="section-ClassVariableDetails"></a>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Class Variable Details</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-ClassVariableDetails"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
</table>
<a name="LIST_OFFSET_PARAMETER"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<h3 class="epydoc">LIST_OFFSET_PARAMETER</h3>
<p>The query-parameter that is used to request results being limited to a
certain amount.</p>
<p>Currently this is of no use and just for completeness sake.</p>
<dl class="fields">
</dl>
<dl class="fields">
<dt>Value:</dt>
<dd><table><tr><td><pre class="variable">
<code class="variable-quote">'</code><code class="variable-string">offset</code><code class="variable-quote">'</code>
</pre></td></tr></table>
</dd>
</dl>
</td></tr></table>
</div>
<br />
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
bgcolor="#a0c0ff" cellspacing="0">
<tr valign="middle">
<!-- Home link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="scapi-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Tree link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Index link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Help link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Project homepage -->
<th class="navbar" align="right" width="100%">
<table border="0" cellpadding="0" cellspacing="0">
<tr><th class="navbar" align="center"
>SoundCloud API</th>
</tr></table></th>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
Generated by Epydoc 3.0.1 on Thu Sep 10 00:58:49 2009
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
>http://epydoc.sourceforge.net</a>
</td>
</tr>
</table>
<script type="text/javascript">
<!--
// Private objects are initially displayed (because if
// javascript is turned off then we want them to be
// visible); but by default, we want to hide them. So hide
// them unless we have a cookie that says to show them.
checkCookie();
// -->
</script>
</body>
</html>

View file

@ -0,0 +1,258 @@
<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>scapi.Asset</title>
<link rel="stylesheet" href="epydoc.css" type="text/css" />
<script type="text/javascript" src="epydoc.js"></script>
</head>
<body bgcolor="white" text="black" link="blue" vlink="#204080"
alink="#204080">
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
bgcolor="#a0c0ff" cellspacing="0">
<tr valign="middle">
<!-- Home link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="scapi-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Tree link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Index link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Help link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Project homepage -->
<th class="navbar" align="right" width="100%">
<table border="0" cellpadding="0" cellspacing="0">
<tr><th class="navbar" align="center"
>SoundCloud API</th>
</tr></table></th>
</tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0">
<tr valign="top">
<td width="100%">
<span class="breadcrumbs">
<a href="scapi-module.html">Package&nbsp;scapi</a> ::
Class&nbsp;Asset
</span>
</td>
<td>
<table cellpadding="0" cellspacing="0">
<!-- hide/show private -->
<tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
<tr><td align="right"><span class="options"
>[<a href="frames.html" target="_top">frames</a
>]&nbsp;|&nbsp;<a href="scapi.Asset-class.html"
target="_top">no&nbsp;frames</a>]</span></td></tr>
</table>
</td>
</tr>
</table>
<!-- ==================== CLASS DESCRIPTION ==================== -->
<h1 class="epydoc">Class Asset</h1><span class="codelink"><a href="scapi-pysrc.html#Asset">source&nbsp;code</a></span><br /><br />
<pre class="base-tree">
object --+
|
<a href="scapi.RESTBase-class.html">RESTBase</a> --+
|
<strong class="uidshort">Asset</strong>
</pre>
<hr />
An asset domain object/resource.<br /><br />
<!-- ==================== INSTANCE METHODS ==================== -->
<a name="section-InstanceMethods"></a>
<table class="summary" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Instance Methods</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-InstanceMethods"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
<tr>
<td colspan="2" class="summary">
<p class="indent-wrapped-lines"><b>Inherited from <code><a href="scapi.RESTBase-class.html">RESTBase</a></code></b>:
<code><a href="scapi.RESTBase-class.html#__eq__">__eq__</a></code>,
<code><a href="scapi.RESTBase-class.html#__getattr__">__getattr__</a></code>,
<code><a href="scapi.RESTBase-class.html#__hash__">__hash__</a></code>,
<code><a href="scapi.RESTBase-class.html#__init__">__init__</a></code>,
<code><a href="scapi.RESTBase-class.html#__ne__">__ne__</a></code>,
<code><a href="scapi.RESTBase-class.html#__repr__">__repr__</a></code>,
<code><a href="scapi.RESTBase-class.html#__setattr__">__setattr__</a></code>
</p>
<div class="private"> <p class="indent-wrapped-lines"><b>Inherited from <code><a href="scapi.RESTBase-class.html">RESTBase</a></code></b> (private):
<code><a href="scapi.RESTBase-class.html#_as_arguments">_as_arguments</a></code>,
<code><a href="scapi.RESTBase-class.html#_convert_value">_convert_value</a></code>,
<code><a href="scapi.RESTBase-class.html#_scope">_scope</a></code>
</p></div>
<p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
<code>__delattr__</code>,
<code>__getattribute__</code>,
<code>__new__</code>,
<code>__reduce__</code>,
<code>__reduce_ex__</code>,
<code>__str__</code>
</p>
</td>
</tr>
</table>
<!-- ==================== CLASS METHODS ==================== -->
<a name="section-ClassMethods"></a>
<table class="summary" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Class Methods</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-ClassMethods"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
<tr>
<td colspan="2" class="summary">
<p class="indent-wrapped-lines"><b>Inherited from <code><a href="scapi.RESTBase-class.html">RESTBase</a></code></b>:
<code><a href="scapi.RESTBase-class.html#create">create</a></code>,
<code><a href="scapi.RESTBase-class.html#get">get</a></code>,
<code><a href="scapi.RESTBase-class.html#new">new</a></code>
</p>
<div class="private"> <p class="indent-wrapped-lines"><b>Inherited from <code><a href="scapi.RESTBase-class.html">RESTBase</a></code></b> (private):
<code><a href="scapi.RESTBase-class.html#_singleton">_singleton</a></code>
</p></div>
</td>
</tr>
</table>
<!-- ==================== CLASS VARIABLES ==================== -->
<a name="section-ClassVariables"></a>
<table class="summary" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Class Variables</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-ClassVariables"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a name="KIND"></a><span class="summary-name">KIND</span> = <code title="'assets'"><code class="variable-quote">'</code><code class="variable-string">assets</code><code class="variable-quote">'</code></code>
</td>
</tr>
<tr>
<td colspan="2" class="summary">
<p class="indent-wrapped-lines"><b>Inherited from <code><a href="scapi.RESTBase-class.html">RESTBase</a></code></b>:
<code><a href="scapi.RESTBase-class.html#ALIASES">ALIASES</a></code>,
<code><a href="scapi.RESTBase-class.html#ALL_DOMAIN_CLASSES">ALL_DOMAIN_CLASSES</a></code>,
<code><a href="scapi.RESTBase-class.html#REGISTRY">REGISTRY</a></code>
</p>
</td>
</tr>
</table>
<!-- ==================== PROPERTIES ==================== -->
<a name="section-Properties"></a>
<table class="summary" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Properties</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-Properties"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
<tr>
<td colspan="2" class="summary">
<p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
<code>__class__</code>
</p>
</td>
</tr>
</table>
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
bgcolor="#a0c0ff" cellspacing="0">
<tr valign="middle">
<!-- Home link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="scapi-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Tree link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Index link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Help link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Project homepage -->
<th class="navbar" align="right" width="100%">
<table border="0" cellpadding="0" cellspacing="0">
<tr><th class="navbar" align="center"
>SoundCloud API</th>
</tr></table></th>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
Generated by Epydoc 3.0beta1 on Fri Apr 18 16:28:18 2008
</td>
<td align="right" class="footer">
<a href="http://epydoc.sourceforge.net">http://epydoc.sourceforge.net</a>
</td>
</tr>
</table>
<script type="text/javascript">
<!--
// Private objects are initially displayed (because if
// javascript is turned off then we want them to be
// visible); but by default, we want to hide them. So hide
// them unless we have a cookie that says to show them.
checkCookie()
// -->
</script>
</body>
</html>

View file

@ -0,0 +1,258 @@
<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>scapi.Comment</title>
<link rel="stylesheet" href="epydoc.css" type="text/css" />
<script type="text/javascript" src="epydoc.js"></script>
</head>
<body bgcolor="white" text="black" link="blue" vlink="#204080"
alink="#204080">
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
bgcolor="#a0c0ff" cellspacing="0">
<tr valign="middle">
<!-- Home link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="scapi-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Tree link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Index link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Help link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Project homepage -->
<th class="navbar" align="right" width="100%">
<table border="0" cellpadding="0" cellspacing="0">
<tr><th class="navbar" align="center"
>SoundCloud API</th>
</tr></table></th>
</tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0">
<tr valign="top">
<td width="100%">
<span class="breadcrumbs">
<a href="scapi-module.html">Package&nbsp;scapi</a> ::
Class&nbsp;Comment
</span>
</td>
<td>
<table cellpadding="0" cellspacing="0">
<!-- hide/show private -->
<tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
<tr><td align="right"><span class="options"
>[<a href="frames.html" target="_top">frames</a
>]&nbsp;|&nbsp;<a href="scapi.Comment-class.html"
target="_top">no&nbsp;frames</a>]</span></td></tr>
</table>
</td>
</tr>
</table>
<!-- ==================== CLASS DESCRIPTION ==================== -->
<h1 class="epydoc">Class Comment</h1><p class="nomargin-top"><span class="codelink"><a href="scapi-pysrc.html#Comment">source&nbsp;code</a></span></p>
<pre class="base-tree">
object --+
|
<a href="scapi.RESTBase-class.html" onclick="show_private();">RESTBase</a> --+
|
<strong class="uidshort">Comment</strong>
</pre>
<hr />
<p>A comment domain object/resource.</p>
<!-- ==================== INSTANCE METHODS ==================== -->
<a name="section-InstanceMethods"></a>
<table class="summary" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Instance Methods</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-InstanceMethods"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
<tr>
<td colspan="2" class="summary">
<p class="indent-wrapped-lines"><b>Inherited from <code><a href="scapi.RESTBase-class.html" onclick="show_private();">RESTBase</a></code></b>:
<code><a href="scapi.RESTBase-class.html#__eq__">__eq__</a></code>,
<code><a href="scapi.RESTBase-class.html#__getattr__">__getattr__</a></code>,
<code><a href="scapi.RESTBase-class.html#__hash__">__hash__</a></code>,
<code><a href="scapi.RESTBase-class.html#__init__">__init__</a></code>,
<code><a href="scapi.RESTBase-class.html#__ne__">__ne__</a></code>,
<code><a href="scapi.RESTBase-class.html#__repr__">__repr__</a></code>,
<code><a href="scapi.RESTBase-class.html#__setattr__">__setattr__</a></code>
</p>
<div class="private"> <p class="indent-wrapped-lines"><b>Inherited from <code><a href="scapi.RESTBase-class.html" onclick="show_private();">RESTBase</a></code></b> (private):
<code><a href="scapi.RESTBase-class.html#_as_arguments" onclick="show_private();">_as_arguments</a></code>,
<code><a href="scapi.RESTBase-class.html#_convert_value" onclick="show_private();">_convert_value</a></code>,
<code><a href="scapi.RESTBase-class.html#_scope" onclick="show_private();">_scope</a></code>
</p></div>
<p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
<code>__delattr__</code>,
<code>__getattribute__</code>,
<code>__new__</code>,
<code>__reduce__</code>,
<code>__reduce_ex__</code>,
<code>__str__</code>
</p>
</td>
</tr>
</table>
<!-- ==================== CLASS METHODS ==================== -->
<a name="section-ClassMethods"></a>
<table class="summary" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Class Methods</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-ClassMethods"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
<tr>
<td colspan="2" class="summary">
<p class="indent-wrapped-lines"><b>Inherited from <code><a href="scapi.RESTBase-class.html" onclick="show_private();">RESTBase</a></code></b>:
<code><a href="scapi.RESTBase-class.html#create">create</a></code>,
<code><a href="scapi.RESTBase-class.html#get">get</a></code>,
<code><a href="scapi.RESTBase-class.html#new">new</a></code>
</p>
<div class="private"> <p class="indent-wrapped-lines"><b>Inherited from <code><a href="scapi.RESTBase-class.html" onclick="show_private();">RESTBase</a></code></b> (private):
<code><a href="scapi.RESTBase-class.html#_singleton" onclick="show_private();">_singleton</a></code>
</p></div>
</td>
</tr>
</table>
<!-- ==================== CLASS VARIABLES ==================== -->
<a name="section-ClassVariables"></a>
<table class="summary" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Class Variables</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-ClassVariables"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a name="KIND"></a><span class="summary-name">KIND</span> = <code title="'comments'"><code class="variable-quote">'</code><code class="variable-string">comments</code><code class="variable-quote">'</code></code>
</td>
</tr>
<tr>
<td colspan="2" class="summary">
<p class="indent-wrapped-lines"><b>Inherited from <code><a href="scapi.RESTBase-class.html" onclick="show_private();">RESTBase</a></code></b>:
<code><a href="scapi.RESTBase-class.html#ALIASES">ALIASES</a></code>,
<code><a href="scapi.RESTBase-class.html#ALL_DOMAIN_CLASSES">ALL_DOMAIN_CLASSES</a></code>,
<code><a href="scapi.RESTBase-class.html#REGISTRY">REGISTRY</a></code>
</p>
</td>
</tr>
</table>
<!-- ==================== PROPERTIES ==================== -->
<a name="section-Properties"></a>
<table class="summary" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Properties</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-Properties"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
<tr>
<td colspan="2" class="summary">
<p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
<code>__class__</code>
</p>
</td>
</tr>
</table>
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
bgcolor="#a0c0ff" cellspacing="0">
<tr valign="middle">
<!-- Home link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="scapi-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Tree link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Index link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Help link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Project homepage -->
<th class="navbar" align="right" width="100%">
<table border="0" cellpadding="0" cellspacing="0">
<tr><th class="navbar" align="center"
>SoundCloud API</th>
</tr></table></th>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
Generated by Epydoc 3.0.1 on Thu Sep 10 00:58:49 2009
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
>http://epydoc.sourceforge.net</a>
</td>
</tr>
</table>
<script type="text/javascript">
<!--
// Private objects are initially displayed (because if
// javascript is turned off then we want them to be
// visible); but by default, we want to hide them. So hide
// them unless we have a cookie that says to show them.
checkCookie();
// -->
</script>
</body>
</html>

View file

@ -0,0 +1,258 @@
<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>scapi.Event</title>
<link rel="stylesheet" href="epydoc.css" type="text/css" />
<script type="text/javascript" src="epydoc.js"></script>
</head>
<body bgcolor="white" text="black" link="blue" vlink="#204080"
alink="#204080">
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
bgcolor="#a0c0ff" cellspacing="0">
<tr valign="middle">
<!-- Home link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="scapi-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Tree link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Index link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Help link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Project homepage -->
<th class="navbar" align="right" width="100%">
<table border="0" cellpadding="0" cellspacing="0">
<tr><th class="navbar" align="center"
>SoundCloud API</th>
</tr></table></th>
</tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0">
<tr valign="top">
<td width="100%">
<span class="breadcrumbs">
<a href="scapi-module.html">Package&nbsp;scapi</a> ::
Class&nbsp;Event
</span>
</td>
<td>
<table cellpadding="0" cellspacing="0">
<!-- hide/show private -->
<tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
<tr><td align="right"><span class="options"
>[<a href="frames.html" target="_top">frames</a
>]&nbsp;|&nbsp;<a href="scapi.Event-class.html"
target="_top">no&nbsp;frames</a>]</span></td></tr>
</table>
</td>
</tr>
</table>
<!-- ==================== CLASS DESCRIPTION ==================== -->
<h1 class="epydoc">Class Event</h1><p class="nomargin-top"><span class="codelink"><a href="scapi-pysrc.html#Event">source&nbsp;code</a></span></p>
<pre class="base-tree">
object --+
|
<a href="scapi.RESTBase-class.html" onclick="show_private();">RESTBase</a> --+
|
<strong class="uidshort">Event</strong>
</pre>
<hr />
<p>A event domain object/resource.</p>
<!-- ==================== INSTANCE METHODS ==================== -->
<a name="section-InstanceMethods"></a>
<table class="summary" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Instance Methods</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-InstanceMethods"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
<tr>
<td colspan="2" class="summary">
<p class="indent-wrapped-lines"><b>Inherited from <code><a href="scapi.RESTBase-class.html" onclick="show_private();">RESTBase</a></code></b>:
<code><a href="scapi.RESTBase-class.html#__eq__">__eq__</a></code>,
<code><a href="scapi.RESTBase-class.html#__getattr__">__getattr__</a></code>,
<code><a href="scapi.RESTBase-class.html#__hash__">__hash__</a></code>,
<code><a href="scapi.RESTBase-class.html#__init__">__init__</a></code>,
<code><a href="scapi.RESTBase-class.html#__ne__">__ne__</a></code>,
<code><a href="scapi.RESTBase-class.html#__repr__">__repr__</a></code>,
<code><a href="scapi.RESTBase-class.html#__setattr__">__setattr__</a></code>
</p>
<div class="private"> <p class="indent-wrapped-lines"><b>Inherited from <code><a href="scapi.RESTBase-class.html" onclick="show_private();">RESTBase</a></code></b> (private):
<code><a href="scapi.RESTBase-class.html#_as_arguments" onclick="show_private();">_as_arguments</a></code>,
<code><a href="scapi.RESTBase-class.html#_convert_value" onclick="show_private();">_convert_value</a></code>,
<code><a href="scapi.RESTBase-class.html#_scope" onclick="show_private();">_scope</a></code>
</p></div>
<p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
<code>__delattr__</code>,
<code>__getattribute__</code>,
<code>__new__</code>,
<code>__reduce__</code>,
<code>__reduce_ex__</code>,
<code>__str__</code>
</p>
</td>
</tr>
</table>
<!-- ==================== CLASS METHODS ==================== -->
<a name="section-ClassMethods"></a>
<table class="summary" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Class Methods</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-ClassMethods"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
<tr>
<td colspan="2" class="summary">
<p class="indent-wrapped-lines"><b>Inherited from <code><a href="scapi.RESTBase-class.html" onclick="show_private();">RESTBase</a></code></b>:
<code><a href="scapi.RESTBase-class.html#create">create</a></code>,
<code><a href="scapi.RESTBase-class.html#get">get</a></code>,
<code><a href="scapi.RESTBase-class.html#new">new</a></code>
</p>
<div class="private"> <p class="indent-wrapped-lines"><b>Inherited from <code><a href="scapi.RESTBase-class.html" onclick="show_private();">RESTBase</a></code></b> (private):
<code><a href="scapi.RESTBase-class.html#_singleton" onclick="show_private();">_singleton</a></code>
</p></div>
</td>
</tr>
</table>
<!-- ==================== CLASS VARIABLES ==================== -->
<a name="section-ClassVariables"></a>
<table class="summary" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Class Variables</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-ClassVariables"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a name="KIND"></a><span class="summary-name">KIND</span> = <code title="'events'"><code class="variable-quote">'</code><code class="variable-string">events</code><code class="variable-quote">'</code></code>
</td>
</tr>
<tr>
<td colspan="2" class="summary">
<p class="indent-wrapped-lines"><b>Inherited from <code><a href="scapi.RESTBase-class.html" onclick="show_private();">RESTBase</a></code></b>:
<code><a href="scapi.RESTBase-class.html#ALIASES">ALIASES</a></code>,
<code><a href="scapi.RESTBase-class.html#ALL_DOMAIN_CLASSES">ALL_DOMAIN_CLASSES</a></code>,
<code><a href="scapi.RESTBase-class.html#REGISTRY">REGISTRY</a></code>
</p>
</td>
</tr>
</table>
<!-- ==================== PROPERTIES ==================== -->
<a name="section-Properties"></a>
<table class="summary" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Properties</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-Properties"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
<tr>
<td colspan="2" class="summary">
<p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
<code>__class__</code>
</p>
</td>
</tr>
</table>
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
bgcolor="#a0c0ff" cellspacing="0">
<tr valign="middle">
<!-- Home link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="scapi-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Tree link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Index link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Help link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Project homepage -->
<th class="navbar" align="right" width="100%">
<table border="0" cellpadding="0" cellspacing="0">
<tr><th class="navbar" align="center"
>SoundCloud API</th>
</tr></table></th>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
Generated by Epydoc 3.0.1 on Thu Sep 10 00:58:49 2009
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
>http://epydoc.sourceforge.net</a>
</td>
</tr>
</table>
<script type="text/javascript">
<!--
// Private objects are initially displayed (because if
// javascript is turned off then we want them to be
// visible); but by default, we want to hide them. So hide
// them unless we have a cookie that says to show them.
checkCookie();
// -->
</script>
</body>
</html>

View file

@ -0,0 +1,258 @@
<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>scapi.Group</title>
<link rel="stylesheet" href="epydoc.css" type="text/css" />
<script type="text/javascript" src="epydoc.js"></script>
</head>
<body bgcolor="white" text="black" link="blue" vlink="#204080"
alink="#204080">
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
bgcolor="#a0c0ff" cellspacing="0">
<tr valign="middle">
<!-- Home link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="scapi-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Tree link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Index link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Help link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Project homepage -->
<th class="navbar" align="right" width="100%">
<table border="0" cellpadding="0" cellspacing="0">
<tr><th class="navbar" align="center"
>SoundCloud API</th>
</tr></table></th>
</tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0">
<tr valign="top">
<td width="100%">
<span class="breadcrumbs">
<a href="scapi-module.html">Package&nbsp;scapi</a> ::
Class&nbsp;Group
</span>
</td>
<td>
<table cellpadding="0" cellspacing="0">
<!-- hide/show private -->
<tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
<tr><td align="right"><span class="options"
>[<a href="frames.html" target="_top">frames</a
>]&nbsp;|&nbsp;<a href="scapi.Group-class.html"
target="_top">no&nbsp;frames</a>]</span></td></tr>
</table>
</td>
</tr>
</table>
<!-- ==================== CLASS DESCRIPTION ==================== -->
<h1 class="epydoc">Class Group</h1><p class="nomargin-top"><span class="codelink"><a href="scapi-pysrc.html#Group">source&nbsp;code</a></span></p>
<pre class="base-tree">
object --+
|
<a href="scapi.RESTBase-class.html" onclick="show_private();">RESTBase</a> --+
|
<strong class="uidshort">Group</strong>
</pre>
<hr />
<p>A group domain object/resource</p>
<!-- ==================== INSTANCE METHODS ==================== -->
<a name="section-InstanceMethods"></a>
<table class="summary" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Instance Methods</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-InstanceMethods"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
<tr>
<td colspan="2" class="summary">
<p class="indent-wrapped-lines"><b>Inherited from <code><a href="scapi.RESTBase-class.html" onclick="show_private();">RESTBase</a></code></b>:
<code><a href="scapi.RESTBase-class.html#__eq__">__eq__</a></code>,
<code><a href="scapi.RESTBase-class.html#__getattr__">__getattr__</a></code>,
<code><a href="scapi.RESTBase-class.html#__hash__">__hash__</a></code>,
<code><a href="scapi.RESTBase-class.html#__init__">__init__</a></code>,
<code><a href="scapi.RESTBase-class.html#__ne__">__ne__</a></code>,
<code><a href="scapi.RESTBase-class.html#__repr__">__repr__</a></code>,
<code><a href="scapi.RESTBase-class.html#__setattr__">__setattr__</a></code>
</p>
<div class="private"> <p class="indent-wrapped-lines"><b>Inherited from <code><a href="scapi.RESTBase-class.html" onclick="show_private();">RESTBase</a></code></b> (private):
<code><a href="scapi.RESTBase-class.html#_as_arguments" onclick="show_private();">_as_arguments</a></code>,
<code><a href="scapi.RESTBase-class.html#_convert_value" onclick="show_private();">_convert_value</a></code>,
<code><a href="scapi.RESTBase-class.html#_scope" onclick="show_private();">_scope</a></code>
</p></div>
<p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
<code>__delattr__</code>,
<code>__getattribute__</code>,
<code>__new__</code>,
<code>__reduce__</code>,
<code>__reduce_ex__</code>,
<code>__str__</code>
</p>
</td>
</tr>
</table>
<!-- ==================== CLASS METHODS ==================== -->
<a name="section-ClassMethods"></a>
<table class="summary" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Class Methods</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-ClassMethods"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
<tr>
<td colspan="2" class="summary">
<p class="indent-wrapped-lines"><b>Inherited from <code><a href="scapi.RESTBase-class.html" onclick="show_private();">RESTBase</a></code></b>:
<code><a href="scapi.RESTBase-class.html#create">create</a></code>,
<code><a href="scapi.RESTBase-class.html#get">get</a></code>,
<code><a href="scapi.RESTBase-class.html#new">new</a></code>
</p>
<div class="private"> <p class="indent-wrapped-lines"><b>Inherited from <code><a href="scapi.RESTBase-class.html" onclick="show_private();">RESTBase</a></code></b> (private):
<code><a href="scapi.RESTBase-class.html#_singleton" onclick="show_private();">_singleton</a></code>
</p></div>
</td>
</tr>
</table>
<!-- ==================== CLASS VARIABLES ==================== -->
<a name="section-ClassVariables"></a>
<table class="summary" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Class Variables</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-ClassVariables"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a name="KIND"></a><span class="summary-name">KIND</span> = <code title="'groups'"><code class="variable-quote">'</code><code class="variable-string">groups</code><code class="variable-quote">'</code></code>
</td>
</tr>
<tr>
<td colspan="2" class="summary">
<p class="indent-wrapped-lines"><b>Inherited from <code><a href="scapi.RESTBase-class.html" onclick="show_private();">RESTBase</a></code></b>:
<code><a href="scapi.RESTBase-class.html#ALIASES">ALIASES</a></code>,
<code><a href="scapi.RESTBase-class.html#ALL_DOMAIN_CLASSES">ALL_DOMAIN_CLASSES</a></code>,
<code><a href="scapi.RESTBase-class.html#REGISTRY">REGISTRY</a></code>
</p>
</td>
</tr>
</table>
<!-- ==================== PROPERTIES ==================== -->
<a name="section-Properties"></a>
<table class="summary" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Properties</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-Properties"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
<tr>
<td colspan="2" class="summary">
<p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
<code>__class__</code>
</p>
</td>
</tr>
</table>
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
bgcolor="#a0c0ff" cellspacing="0">
<tr valign="middle">
<!-- Home link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="scapi-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Tree link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Index link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Help link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Project homepage -->
<th class="navbar" align="right" width="100%">
<table border="0" cellpadding="0" cellspacing="0">
<tr><th class="navbar" align="center"
>SoundCloud API</th>
</tr></table></th>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
Generated by Epydoc 3.0.1 on Thu Sep 10 00:58:49 2009
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
>http://epydoc.sourceforge.net</a>
</td>
</tr>
</table>
<script type="text/javascript">
<!--
// Private objects are initially displayed (because if
// javascript is turned off then we want them to be
// visible); but by default, we want to hide them. So hide
// them unless we have a cookie that says to show them.
checkCookie();
// -->
</script>
</body>
</html>

View file

@ -0,0 +1,297 @@
<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>scapi.InvalidMethodException</title>
<link rel="stylesheet" href="epydoc.css" type="text/css" />
<script type="text/javascript" src="epydoc.js"></script>
</head>
<body bgcolor="white" text="black" link="blue" vlink="#204080"
alink="#204080">
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
bgcolor="#a0c0ff" cellspacing="0">
<tr valign="middle">
<!-- Home link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="scapi-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Tree link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Index link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Help link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Project homepage -->
<th class="navbar" align="right" width="100%">
<table border="0" cellpadding="0" cellspacing="0">
<tr><th class="navbar" align="center"
>SoundCloud API</th>
</tr></table></th>
</tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0">
<tr valign="top">
<td width="100%">
<span class="breadcrumbs">
<a href="scapi-module.html">Package&nbsp;scapi</a> ::
Class&nbsp;InvalidMethodException
</span>
</td>
<td>
<table cellpadding="0" cellspacing="0">
<!-- hide/show private -->
<tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
<tr><td align="right"><span class="options"
>[<a href="frames.html" target="_top">frames</a
>]&nbsp;|&nbsp;<a href="scapi.InvalidMethodException-class.html"
target="_top">no&nbsp;frames</a>]</span></td></tr>
</table>
</td>
</tr>
</table>
<!-- ==================== CLASS DESCRIPTION ==================== -->
<h1 class="epydoc">Class InvalidMethodException</h1><p class="nomargin-top"><span class="codelink"><a href="scapi-pysrc.html#InvalidMethodException">source&nbsp;code</a></span></p>
<pre class="base-tree">
object --+
|
exceptions.BaseException --+
|
exceptions.Exception --+
|
<strong class="uidshort">InvalidMethodException</strong>
</pre>
<hr />
<!-- ==================== INSTANCE METHODS ==================== -->
<a name="section-InstanceMethods"></a>
<table class="summary" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Instance Methods</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-InstanceMethods"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="scapi.InvalidMethodException-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">message</span>)</span><br />
x.__init__(...) initializes x; see x.__class__.__doc__ for signature</td>
<td align="right" valign="top">
<span class="codelink"><a href="scapi-pysrc.html#InvalidMethodException.__init__">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="scapi.InvalidMethodException-class.html#__repr__" class="summary-sig-name">__repr__</a>(<span class="summary-sig-arg">self</span>)</span><br />
repr(x)</td>
<td align="right" valign="top">
<span class="codelink"><a href="scapi-pysrc.html#InvalidMethodException.__repr__">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td colspan="2" class="summary">
<p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.Exception</code></b>:
<code>__new__</code>
</p>
<p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
<code>__delattr__</code>,
<code>__getattribute__</code>,
<code>__getitem__</code>,
<code>__getslice__</code>,
<code>__reduce__</code>,
<code>__setattr__</code>,
<code>__setstate__</code>,
<code>__str__</code>
</p>
<p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
<code>__hash__</code>,
<code>__reduce_ex__</code>
</p>
</td>
</tr>
</table>
<!-- ==================== PROPERTIES ==================== -->
<a name="section-Properties"></a>
<table class="summary" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Properties</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-Properties"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
<tr>
<td colspan="2" class="summary">
<p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
<code>args</code>,
<code>message</code>
</p>
<p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
<code>__class__</code>
</p>
</td>
</tr>
</table>
<!-- ==================== METHOD DETAILS ==================== -->
<a name="section-MethodDetails"></a>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Method Details</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-MethodDetails"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
</table>
<a name="__init__"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
<span class="sig-arg">message</span>)</span>
<br /><em class="fname">(Constructor)</em>
</h3>
</td><td align="right" valign="top"
><span class="codelink"><a href="scapi-pysrc.html#InvalidMethodException.__init__">source&nbsp;code</a></span>&nbsp;
</td>
</tr></table>
<p>x.__init__(...) initializes x; see x.__class__.__doc__ for
signature</p>
<dl class="fields">
<dt>Overrides:
object.__init__
<dd><em class="note">(inherited documentation)</em></dd>
</dt>
</dl>
</td></tr></table>
</div>
<a name="__repr__"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">__repr__</span>(<span class="sig-arg">self</span>)</span>
<br /><em class="fname">(Representation operator)</em>
</h3>
</td><td align="right" valign="top"
><span class="codelink"><a href="scapi-pysrc.html#InvalidMethodException.__repr__">source&nbsp;code</a></span>&nbsp;
</td>
</tr></table>
<p>repr(x)</p>
<dl class="fields">
<dt>Overrides:
object.__repr__
<dd><em class="note">(inherited documentation)</em></dd>
</dt>
</dl>
</td></tr></table>
</div>
<br />
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
bgcolor="#a0c0ff" cellspacing="0">
<tr valign="middle">
<!-- Home link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="scapi-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Tree link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Index link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Help link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Project homepage -->
<th class="navbar" align="right" width="100%">
<table border="0" cellpadding="0" cellspacing="0">
<tr><th class="navbar" align="center"
>SoundCloud API</th>
</tr></table></th>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
Generated by Epydoc 3.0.1 on Thu Sep 10 00:58:49 2009
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
>http://epydoc.sourceforge.net</a>
</td>
</tr>
</table>
<script type="text/javascript">
<!--
// Private objects are initially displayed (because if
// javascript is turned off then we want them to be
// visible); but by default, we want to hide them. So hide
// them unless we have a cookie that says to show them.
checkCookie();
// -->
</script>
</body>
</html>

View file

@ -0,0 +1,195 @@
<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>scapi.NoResultFromRequest</title>
<link rel="stylesheet" href="epydoc.css" type="text/css" />
<script type="text/javascript" src="epydoc.js"></script>
</head>
<body bgcolor="white" text="black" link="blue" vlink="#204080"
alink="#204080">
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
bgcolor="#a0c0ff" cellspacing="0">
<tr valign="middle">
<!-- Home link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="scapi-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Tree link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Index link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Help link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Project homepage -->
<th class="navbar" align="right" width="100%">
<table border="0" cellpadding="0" cellspacing="0">
<tr><th class="navbar" align="center"
>SoundCloud API</th>
</tr></table></th>
</tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0">
<tr valign="top">
<td width="100%">
<span class="breadcrumbs">
<a href="scapi-module.html">Package&nbsp;scapi</a> ::
Class&nbsp;NoResultFromRequest
</span>
</td>
<td>
<table cellpadding="0" cellspacing="0">
<!-- hide/show private -->
<tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
<tr><td align="right"><span class="options"
>[<a href="frames.html" target="_top">frames</a
>]&nbsp;|&nbsp;<a href="scapi.NoResultFromRequest-class.html"
target="_top">no&nbsp;frames</a>]</span></td></tr>
</table>
</td>
</tr>
</table>
<!-- ==================== CLASS DESCRIPTION ==================== -->
<h1 class="epydoc">Class NoResultFromRequest</h1><p class="nomargin-top"><span class="codelink"><a href="scapi-pysrc.html#NoResultFromRequest">source&nbsp;code</a></span></p>
<pre class="base-tree">
object --+
|
exceptions.BaseException --+
|
exceptions.Exception --+
|
<strong class="uidshort">NoResultFromRequest</strong>
</pre>
<hr />
<!-- ==================== INSTANCE METHODS ==================== -->
<a name="section-InstanceMethods"></a>
<table class="summary" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Instance Methods</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-InstanceMethods"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
<tr>
<td colspan="2" class="summary">
<p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.Exception</code></b>:
<code>__init__</code>,
<code>__new__</code>
</p>
<p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
<code>__delattr__</code>,
<code>__getattribute__</code>,
<code>__getitem__</code>,
<code>__getslice__</code>,
<code>__reduce__</code>,
<code>__repr__</code>,
<code>__setattr__</code>,
<code>__setstate__</code>,
<code>__str__</code>
</p>
<p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
<code>__hash__</code>,
<code>__reduce_ex__</code>
</p>
</td>
</tr>
</table>
<!-- ==================== PROPERTIES ==================== -->
<a name="section-Properties"></a>
<table class="summary" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Properties</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-Properties"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
<tr>
<td colspan="2" class="summary">
<p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
<code>args</code>,
<code>message</code>
</p>
<p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
<code>__class__</code>
</p>
</td>
</tr>
</table>
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
bgcolor="#a0c0ff" cellspacing="0">
<tr valign="middle">
<!-- Home link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="scapi-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Tree link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Index link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Help link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Project homepage -->
<th class="navbar" align="right" width="100%">
<table border="0" cellpadding="0" cellspacing="0">
<tr><th class="navbar" align="center"
>SoundCloud API</th>
</tr></table></th>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
Generated by Epydoc 3.0.1 on Thu Sep 10 00:58:49 2009
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
>http://epydoc.sourceforge.net</a>
</td>
</tr>
</table>
<script type="text/javascript">
<!--
// Private objects are initially displayed (because if
// javascript is turned off then we want them to be
// visible); but by default, we want to hide them. So hide
// them unless we have a cookie that says to show them.
checkCookie();
// -->
</script>
</body>
</html>

View file

@ -0,0 +1,258 @@
<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>scapi.Playlist</title>
<link rel="stylesheet" href="epydoc.css" type="text/css" />
<script type="text/javascript" src="epydoc.js"></script>
</head>
<body bgcolor="white" text="black" link="blue" vlink="#204080"
alink="#204080">
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
bgcolor="#a0c0ff" cellspacing="0">
<tr valign="middle">
<!-- Home link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="scapi-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Tree link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Index link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Help link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Project homepage -->
<th class="navbar" align="right" width="100%">
<table border="0" cellpadding="0" cellspacing="0">
<tr><th class="navbar" align="center"
>SoundCloud API</th>
</tr></table></th>
</tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0">
<tr valign="top">
<td width="100%">
<span class="breadcrumbs">
<a href="scapi-module.html">Package&nbsp;scapi</a> ::
Class&nbsp;Playlist
</span>
</td>
<td>
<table cellpadding="0" cellspacing="0">
<!-- hide/show private -->
<tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
<tr><td align="right"><span class="options"
>[<a href="frames.html" target="_top">frames</a
>]&nbsp;|&nbsp;<a href="scapi.Playlist-class.html"
target="_top">no&nbsp;frames</a>]</span></td></tr>
</table>
</td>
</tr>
</table>
<!-- ==================== CLASS DESCRIPTION ==================== -->
<h1 class="epydoc">Class Playlist</h1><p class="nomargin-top"><span class="codelink"><a href="scapi-pysrc.html#Playlist">source&nbsp;code</a></span></p>
<pre class="base-tree">
object --+
|
<a href="scapi.RESTBase-class.html" onclick="show_private();">RESTBase</a> --+
|
<strong class="uidshort">Playlist</strong>
</pre>
<hr />
<p>A playlist/set domain object/resource</p>
<!-- ==================== INSTANCE METHODS ==================== -->
<a name="section-InstanceMethods"></a>
<table class="summary" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Instance Methods</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-InstanceMethods"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
<tr>
<td colspan="2" class="summary">
<p class="indent-wrapped-lines"><b>Inherited from <code><a href="scapi.RESTBase-class.html" onclick="show_private();">RESTBase</a></code></b>:
<code><a href="scapi.RESTBase-class.html#__eq__">__eq__</a></code>,
<code><a href="scapi.RESTBase-class.html#__getattr__">__getattr__</a></code>,
<code><a href="scapi.RESTBase-class.html#__hash__">__hash__</a></code>,
<code><a href="scapi.RESTBase-class.html#__init__">__init__</a></code>,
<code><a href="scapi.RESTBase-class.html#__ne__">__ne__</a></code>,
<code><a href="scapi.RESTBase-class.html#__repr__">__repr__</a></code>,
<code><a href="scapi.RESTBase-class.html#__setattr__">__setattr__</a></code>
</p>
<div class="private"> <p class="indent-wrapped-lines"><b>Inherited from <code><a href="scapi.RESTBase-class.html" onclick="show_private();">RESTBase</a></code></b> (private):
<code><a href="scapi.RESTBase-class.html#_as_arguments" onclick="show_private();">_as_arguments</a></code>,
<code><a href="scapi.RESTBase-class.html#_convert_value" onclick="show_private();">_convert_value</a></code>,
<code><a href="scapi.RESTBase-class.html#_scope" onclick="show_private();">_scope</a></code>
</p></div>
<p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
<code>__delattr__</code>,
<code>__getattribute__</code>,
<code>__new__</code>,
<code>__reduce__</code>,
<code>__reduce_ex__</code>,
<code>__str__</code>
</p>
</td>
</tr>
</table>
<!-- ==================== CLASS METHODS ==================== -->
<a name="section-ClassMethods"></a>
<table class="summary" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Class Methods</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-ClassMethods"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
<tr>
<td colspan="2" class="summary">
<p class="indent-wrapped-lines"><b>Inherited from <code><a href="scapi.RESTBase-class.html" onclick="show_private();">RESTBase</a></code></b>:
<code><a href="scapi.RESTBase-class.html#create">create</a></code>,
<code><a href="scapi.RESTBase-class.html#get">get</a></code>,
<code><a href="scapi.RESTBase-class.html#new">new</a></code>
</p>
<div class="private"> <p class="indent-wrapped-lines"><b>Inherited from <code><a href="scapi.RESTBase-class.html" onclick="show_private();">RESTBase</a></code></b> (private):
<code><a href="scapi.RESTBase-class.html#_singleton" onclick="show_private();">_singleton</a></code>
</p></div>
</td>
</tr>
</table>
<!-- ==================== CLASS VARIABLES ==================== -->
<a name="section-ClassVariables"></a>
<table class="summary" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Class Variables</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-ClassVariables"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a name="KIND"></a><span class="summary-name">KIND</span> = <code title="'playlists'"><code class="variable-quote">'</code><code class="variable-string">playlists</code><code class="variable-quote">'</code></code>
</td>
</tr>
<tr>
<td colspan="2" class="summary">
<p class="indent-wrapped-lines"><b>Inherited from <code><a href="scapi.RESTBase-class.html" onclick="show_private();">RESTBase</a></code></b>:
<code><a href="scapi.RESTBase-class.html#ALIASES">ALIASES</a></code>,
<code><a href="scapi.RESTBase-class.html#ALL_DOMAIN_CLASSES">ALL_DOMAIN_CLASSES</a></code>,
<code><a href="scapi.RESTBase-class.html#REGISTRY">REGISTRY</a></code>
</p>
</td>
</tr>
</table>
<!-- ==================== PROPERTIES ==================== -->
<a name="section-Properties"></a>
<table class="summary" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Properties</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-Properties"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
<tr>
<td colspan="2" class="summary">
<p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
<code>__class__</code>
</p>
</td>
</tr>
</table>
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
bgcolor="#a0c0ff" cellspacing="0">
<tr valign="middle">
<!-- Home link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="scapi-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Tree link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Index link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Help link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Project homepage -->
<th class="navbar" align="right" width="100%">
<table border="0" cellpadding="0" cellspacing="0">
<tr><th class="navbar" align="center"
>SoundCloud API</th>
</tr></table></th>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
Generated by Epydoc 3.0.1 on Thu Sep 10 00:58:49 2009
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
>http://epydoc.sourceforge.net</a>
</td>
</tr>
</table>
<script type="text/javascript">
<!--
// Private objects are initially displayed (because if
// javascript is turned off then we want them to be
// visible); but by default, we want to hide them. So hide
// them unless we have a cookie that says to show them.
checkCookie();
// -->
</script>
</body>
</html>

View file

@ -0,0 +1,895 @@
<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>scapi.RESTBase</title>
<link rel="stylesheet" href="epydoc.css" type="text/css" />
<script type="text/javascript" src="epydoc.js"></script>
</head>
<body bgcolor="white" text="black" link="blue" vlink="#204080"
alink="#204080">
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
bgcolor="#a0c0ff" cellspacing="0">
<tr valign="middle">
<!-- Home link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="scapi-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Tree link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Index link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Help link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Project homepage -->
<th class="navbar" align="right" width="100%">
<table border="0" cellpadding="0" cellspacing="0">
<tr><th class="navbar" align="center"
>SoundCloud API</th>
</tr></table></th>
</tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0">
<tr valign="top">
<td width="100%">
<span class="breadcrumbs">
<a href="scapi-module.html">Package&nbsp;scapi</a> ::
Class&nbsp;RESTBase
</span>
</td>
<td>
<table cellpadding="0" cellspacing="0">
<!-- hide/show private -->
<tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
<tr><td align="right"><span class="options"
>[<a href="frames.html" target="_top">frames</a
>]&nbsp;|&nbsp;<a href="scapi.RESTBase-class.html"
target="_top">no&nbsp;frames</a>]</span></td></tr>
</table>
</td>
</tr>
</table>
<!-- ==================== CLASS DESCRIPTION ==================== -->
<h1 class="epydoc">Class RESTBase</h1><p class="nomargin-top"><span class="codelink"><a href="scapi-pysrc.html#RESTBase">source&nbsp;code</a></span></p>
<pre class="base-tree">
object --+
|
<strong class="uidshort">RESTBase</strong>
</pre>
<dl><dt>Known Subclasses:</dt>
<dd>
<ul class="subclass-list">
<li><a href="scapi.Comment-class.html">Comment</a></li><li>, <a href="scapi.Event-class.html">Event</a></li><li>, <a href="scapi.Group-class.html">Group</a></li><li>, <a href="scapi.Playlist-class.html">Playlist</a></li><li>, <a href="scapi.Track-class.html">Track</a></li><li>, <a href="scapi.User-class.html">User</a></li> </ul>
</dd></dl>
<hr />
<p>The baseclass for all our domain-objects/resources.</p>
<!-- ==================== INSTANCE METHODS ==================== -->
<a name="section-InstanceMethods"></a>
<table class="summary" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Instance Methods</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-InstanceMethods"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="scapi.RESTBase-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">data</span>,
<span class="summary-sig-arg">scope</span>,
<span class="summary-sig-arg">path_stack</span>=<span class="summary-sig-default">None</span>)</span><br />
x.__init__(...) initializes x; see x.__class__.__doc__ for signature</td>
<td align="right" valign="top">
<span class="codelink"><a href="scapi-pysrc.html#RESTBase.__init__">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="__getattr__"></a><span class="summary-sig-name">__getattr__</span>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">name</span>)</span></td>
<td align="right" valign="top">
<span class="codelink"><a href="scapi-pysrc.html#RESTBase.__getattr__">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="scapi.RESTBase-class.html#__setattr__" class="summary-sig-name">__setattr__</a>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">name</span>,
<span class="summary-sig-arg">value</span>)</span><br />
This method is used to set a property, a resource or a list of
resources as property of the resource the method is invoked on.</td>
<td align="right" valign="top">
<span class="codelink"><a href="scapi-pysrc.html#RESTBase.__setattr__">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr class="private">
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="_as_arguments"></a><span class="summary-sig-name">_as_arguments</span>(<span class="summary-sig-arg">self</span>)</span><br />
Converts a resource to a argument-string the way Rails expects it.</td>
<td align="right" valign="top">
<span class="codelink"><a href="scapi-pysrc.html#RESTBase._as_arguments">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr class="private">
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="_convert_value"></a><span class="summary-sig-name">_convert_value</span>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">value</span>)</span></td>
<td align="right" valign="top">
<span class="codelink"><a href="scapi-pysrc.html#RESTBase._convert_value">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr class="private">
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="scapi.RESTBase-class.html#_scope" class="summary-sig-name" onclick="show_private();">_scope</a>(<span class="summary-sig-arg">self</span>)</span><br />
Return the scope this resource lives in, which is the KIND and id</td>
<td align="right" valign="top">
<span class="codelink"><a href="scapi-pysrc.html#RESTBase._scope">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="scapi.RESTBase-class.html#__repr__" class="summary-sig-name">__repr__</a>(<span class="summary-sig-arg">self</span>)</span><br />
repr(x)</td>
<td align="right" valign="top">
<span class="codelink"><a href="scapi-pysrc.html#RESTBase.__repr__">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="scapi.RESTBase-class.html#__hash__" class="summary-sig-name">__hash__</a>(<span class="summary-sig-arg">self</span>)</span><br />
hash(x)</td>
<td align="right" valign="top">
<span class="codelink"><a href="scapi-pysrc.html#RESTBase.__hash__">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="scapi.RESTBase-class.html#__eq__" class="summary-sig-name">__eq__</a>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">other</span>)</span><br />
Test for equality.</td>
<td align="right" valign="top">
<span class="codelink"><a href="scapi-pysrc.html#RESTBase.__eq__">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="__ne__"></a><span class="summary-sig-name">__ne__</span>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">other</span>)</span></td>
<td align="right" valign="top">
<span class="codelink"><a href="scapi-pysrc.html#RESTBase.__ne__">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td colspan="2" class="summary">
<p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
<code>__delattr__</code>,
<code>__getattribute__</code>,
<code>__new__</code>,
<code>__reduce__</code>,
<code>__reduce_ex__</code>,
<code>__str__</code>
</p>
</td>
</tr>
</table>
<!-- ==================== CLASS METHODS ==================== -->
<a name="section-ClassMethods"></a>
<table class="summary" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Class Methods</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-ClassMethods"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="scapi.RESTBase-class.html#create" class="summary-sig-name">create</a>(<span class="summary-sig-arg">cls</span>,
<span class="summary-sig-arg">scope</span>,
<span class="summary-sig-arg">**data</span>)</span><br />
This is a convenience-method for creating an object that will be
passed as parameter - e.g.</td>
<td align="right" valign="top">
<span class="codelink"><a href="scapi-pysrc.html#RESTBase.create">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="scapi.RESTBase-class.html#new" class="summary-sig-name">new</a>(<span class="summary-sig-arg">cls</span>,
<span class="summary-sig-arg">scope</span>,
<span class="summary-sig-arg">**data</span>)</span><br />
Create a new resource inside a given Scope.</td>
<td align="right" valign="top">
<span class="codelink"><a href="scapi-pysrc.html#RESTBase.new">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="scapi.RESTBase-class.html#get" class="summary-sig-name">get</a>(<span class="summary-sig-arg">cls</span>,
<span class="summary-sig-arg">scope</span>,
<span class="summary-sig-arg">id</span>)</span><br />
Fetch a resource by id.</td>
<td align="right" valign="top">
<span class="codelink"><a href="scapi-pysrc.html#RESTBase.get">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr class="private">
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="scapi.RESTBase-class.html#_singleton" class="summary-sig-name" onclick="show_private();">_singleton</a>(<span class="summary-sig-arg">cls</span>)</span><br />
This method will take a resource name like &quot;users&quot; and
return the single-case, in the example &quot;user&quot;.</td>
<td align="right" valign="top">
<span class="codelink"><a href="scapi-pysrc.html#RESTBase._singleton">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
</table>
<!-- ==================== CLASS VARIABLES ==================== -->
<a name="section-ClassVariables"></a>
<table class="summary" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Class Variables</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-ClassVariables"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a href="scapi.RESTBase-class.html#REGISTRY" class="summary-name">REGISTRY</a> = <code title="{'comments': &lt;class 'scapi.Comment'&gt;,
'contacts': &lt;class 'scapi.User'&gt;,
'events': &lt;class 'scapi.Event'&gt;,
'favorites': &lt;class 'scapi.Track'&gt;,
'groups': &lt;class 'scapi.Group'&gt;,
'me': &lt;class 'scapi.User'&gt;,
'permissions': &lt;class 'scapi.User'&gt;,
'playlists': &lt;class 'scapi.Playlist'&gt;,
..."><code class="variable-group">{</code><code class="variable-quote">'</code><code class="variable-string">comments</code><code class="variable-quote">'</code><code class="variable-op">: </code>&lt;class 'scapi.Comment'&gt;<code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">contacts</code><code class="variable-quote">'</code><code class="variable-op">: </code>&lt;<code class="variable-ellipsis">...</code></code>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a href="scapi.RESTBase-class.html#ALL_DOMAIN_CLASSES" class="summary-name">ALL_DOMAIN_CLASSES</a> = <code title="{'Comment': &lt;class 'scapi.Comment'&gt;,
'Event': &lt;class 'scapi.Event'&gt;,
'Group': &lt;class 'scapi.Group'&gt;,
'Playlist': &lt;class 'scapi.Playlist'&gt;,
'Track': &lt;class 'scapi.Track'&gt;,
'User': &lt;class 'scapi.User'&gt;}"><code class="variable-group">{</code><code class="variable-quote">'</code><code class="variable-string">Comment</code><code class="variable-quote">'</code><code class="variable-op">: </code>&lt;class 'scapi.Comment'&gt;<code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">Eve</code><code class="variable-ellipsis">...</code></code>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a name="ALIASES"></a><span class="summary-name">ALIASES</span> = <code title="[]"><code class="variable-group">[</code><code class="variable-group">]</code></code>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a name="KIND"></a><span class="summary-name">KIND</span> = <code title="None">None</code>
</td>
</tr>
</table>
<!-- ==================== PROPERTIES ==================== -->
<a name="section-Properties"></a>
<table class="summary" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Properties</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-Properties"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
<tr>
<td colspan="2" class="summary">
<p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
<code>__class__</code>
</p>
</td>
</tr>
</table>
<!-- ==================== METHOD DETAILS ==================== -->
<a name="section-MethodDetails"></a>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Method Details</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-MethodDetails"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
</table>
<a name="__init__"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
<span class="sig-arg">data</span>,
<span class="sig-arg">scope</span>,
<span class="sig-arg">path_stack</span>=<span class="sig-default">None</span>)</span>
<br /><em class="fname">(Constructor)</em>
</h3>
</td><td align="right" valign="top"
><span class="codelink"><a href="scapi-pysrc.html#RESTBase.__init__">source&nbsp;code</a></span>&nbsp;
</td>
</tr></table>
<p>x.__init__(...) initializes x; see x.__class__.__doc__ for
signature</p>
<dl class="fields">
<dt>Overrides:
object.__init__
<dd><em class="note">(inherited documentation)</em></dd>
</dt>
</dl>
</td></tr></table>
</div>
<a name="__setattr__"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">__setattr__</span>(<span class="sig-arg">self</span>,
<span class="sig-arg">name</span>,
<span class="sig-arg">value</span>)</span>
</h3>
</td><td align="right" valign="top"
><span class="codelink"><a href="scapi-pysrc.html#RESTBase.__setattr__">source&nbsp;code</a></span>&nbsp;
</td>
</tr></table>
<p>This method is used to set a property, a resource or a list of
resources as property of the resource the method is invoked on.</p>
<p>For example, to set a comment on a track, do</p>
<pre class="py-doctest">
<span class="py-prompt">&gt;&gt;&gt; </span>sca = scapi.Scope(connector)
<span class="py-prompt">&gt;&gt;&gt; </span>track = scapi.Track.new(title=<span class="py-string">'bar'</span>, sharing=<span class="py-string">&quot;private&quot;</span>)
<span class="py-prompt">&gt;&gt;&gt; </span>comment = scapi.Comment.create(body=<span class="py-string">&quot;This is the body of my comment&quot;</span>, timestamp=10)
<span class="py-prompt">&gt;&gt;&gt; </span>track.comments = comment</pre>
<p>To set a list of users as permissions, do</p>
<pre class="py-doctest">
<span class="py-prompt">&gt;&gt;&gt; </span>sca = scapi.Scope(connector)
<span class="py-prompt">&gt;&gt;&gt; </span>me = sca.me()
<span class="py-prompt">&gt;&gt;&gt; </span>track = scapi.Track.new(title=<span class="py-string">'bar'</span>, sharing=<span class="py-string">&quot;private&quot;</span>)
<span class="py-prompt">&gt;&gt;&gt; </span>users = sca.users()
<span class="py-prompt">&gt;&gt;&gt; </span>users_to_set = [user <span class="py-keyword">for</span> user <span class="py-keyword">in</span> users[:10] <span class="py-keyword">if</span> user != me]
<span class="py-prompt">&gt;&gt;&gt; </span>track.permissions = users_to_set</pre>
<p>And finally, to simply change the title of a track, do</p>
<pre class="py-doctest">
<span class="py-prompt">&gt;&gt;&gt; </span>sca = scapi.Scope(connector)
<span class="py-prompt">&gt;&gt;&gt; </span>track = sca.Track.get(track_id)
<span class="py-prompt">&gt;&gt;&gt; </span>track.title = <span class="py-string">&quot;new_title&quot;</span></pre>
<dl class="fields">
<dt>Parameters:</dt>
<dd><ul class="nomargin-top">
<li><strong class="pname"><code>name</code></strong> (str) - the property name</li>
<li><strong class="pname"><code>value</code></strong> (RESTBase | list&lt;RESTBase&gt; | basestring | long | int | float) - the property, resource or resources to set</li>
</ul></dd>
<dt>Returns:</dt>
<dd>None</dd>
<dt>Overrides:
object.__setattr__
</dt>
</dl>
</td></tr></table>
</div>
<a name="create"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">create</span>(<span class="sig-arg">cls</span>,
<span class="sig-arg">scope</span>,
<span class="sig-arg">**data</span>)</span>
<br /><em class="fname">Class Method</em>
</h3>
</td><td align="right" valign="top"
><span class="codelink"><a href="scapi-pysrc.html#RESTBase.create">source&nbsp;code</a></span>&nbsp;
</td>
</tr></table>
<p>This is a convenience-method for creating an object that will be
passed as parameter - e.g. a comment. A usage would look like this:</p>
<pre class="py-doctest">
<span class="py-prompt">&gt;&gt;&gt; </span>sca = scapi.Scope(connector)
<span class="py-prompt">&gt;&gt;&gt; </span>track = sca.Track.new(title=<span class="py-string">'bar'</span>, sharing=<span class="py-string">&quot;private&quot;</span>)
<span class="py-prompt">&gt;&gt;&gt; </span>comment = sca.Comment.create(body=<span class="py-string">&quot;This is the body of my comment&quot;</span>, timestamp=10)
<span class="py-prompt">&gt;&gt;&gt; </span>track.comments = comment</pre>
<dl class="fields">
</dl>
</td></tr></table>
</div>
<a name="new"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">new</span>(<span class="sig-arg">cls</span>,
<span class="sig-arg">scope</span>,
<span class="sig-arg">**data</span>)</span>
<br /><em class="fname">Class Method</em>
</h3>
</td><td align="right" valign="top"
><span class="codelink"><a href="scapi-pysrc.html#RESTBase.new">source&nbsp;code</a></span>&nbsp;
</td>
</tr></table>
<p>Create a new resource inside a given Scope. The actual values are in
data.</p>
<p>So for creating new resources, you have two options:</p>
<ul>
<li>
create an instance directly using the class:
<pre class="py-doctest">
<span class="py-prompt">&gt;&gt;&gt; </span>scope = scapi.Scope(connector)
<span class="py-prompt">&gt;&gt;&gt; </span>scope.User.new(...)
<span class="py-output">&lt;scapi.User object at 0x1234&gt;</span></pre>
</li>
<li>
create a instance in a certain scope:
<pre class="py-doctest">
<span class="py-prompt">&gt;&gt;&gt; </span>scope = scapi.Scope(connector)
<span class="py-prompt">&gt;&gt;&gt; </span>user = scapi.User(<span class="py-string">&quot;1&quot;</span>)
<span class="py-prompt">&gt;&gt;&gt; </span>track = user.tracks.new()
<span class="py-output">&lt;scapi.Track object at 0x1234&gt;</span></pre>
</li>
</ul>
<dl class="fields">
<dt>Parameters:</dt>
<dd><ul class="nomargin-top">
<li><strong class="pname"><code>scope</code></strong> (tuple&lt;Scope&gt;[1]) - if not empty, a one-element tuple containing the Scope</li>
<li><strong class="pname"><code>data</code></strong> (dict) - the data</li>
</ul></dd>
<dt>Returns:</dt>
<dd>new instance of the resource</dd>
</dl>
</td></tr></table>
</div>
<a name="get"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">get</span>(<span class="sig-arg">cls</span>,
<span class="sig-arg">scope</span>,
<span class="sig-arg">id</span>)</span>
<br /><em class="fname">Class Method</em>
</h3>
</td><td align="right" valign="top"
><span class="codelink"><a href="scapi-pysrc.html#RESTBase.get">source&nbsp;code</a></span>&nbsp;
</td>
</tr></table>
<p>Fetch a resource by id.</p>
<p>Simply pass a known id as argument. For example</p>
<pre class="py-doctest">
<span class="py-prompt">&gt;&gt;&gt; </span>sca = scapi.Scope(connector)
<span class="py-prompt">&gt;&gt;&gt; </span>track = sca.Track.get(id)</pre>
<dl class="fields">
</dl>
</td></tr></table>
</div>
<a name="_scope"></a>
<div class="private">
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">_scope</span>(<span class="sig-arg">self</span>)</span>
</h3>
</td><td align="right" valign="top"
><span class="codelink"><a href="scapi-pysrc.html#RESTBase._scope">source&nbsp;code</a></span>&nbsp;
</td>
</tr></table>
<p>Return the scope this resource lives in, which is the KIND and id</p>
<dl class="fields">
<dt>Returns:</dt>
<dd>&quot;&lt;KIND&gt;/&lt;id&gt;&quot;</dd>
</dl>
</td></tr></table>
</div>
<a name="_singleton"></a>
<div class="private">
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">_singleton</span>(<span class="sig-arg">cls</span>)</span>
<br /><em class="fname">Class Method</em>
</h3>
</td><td align="right" valign="top"
><span class="codelink"><a href="scapi-pysrc.html#RESTBase._singleton">source&nbsp;code</a></span>&nbsp;
</td>
</tr></table>
<p>This method will take a resource name like &quot;users&quot; and
return the single-case, in the example &quot;user&quot;.</p>
<p>Currently, it's not very sophisticated, only strips a trailing s.</p>
<dl class="fields">
</dl>
</td></tr></table>
</div>
<a name="__repr__"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">__repr__</span>(<span class="sig-arg">self</span>)</span>
<br /><em class="fname">(Representation operator)</em>
</h3>
</td><td align="right" valign="top"
><span class="codelink"><a href="scapi-pysrc.html#RESTBase.__repr__">source&nbsp;code</a></span>&nbsp;
</td>
</tr></table>
<p>repr(x)</p>
<dl class="fields">
<dt>Overrides:
object.__repr__
<dd><em class="note">(inherited documentation)</em></dd>
</dt>
</dl>
</td></tr></table>
</div>
<a name="__hash__"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">__hash__</span>(<span class="sig-arg">self</span>)</span>
<br /><em class="fname">(Hashing function)</em>
</h3>
</td><td align="right" valign="top"
><span class="codelink"><a href="scapi-pysrc.html#RESTBase.__hash__">source&nbsp;code</a></span>&nbsp;
</td>
</tr></table>
<p>hash(x)</p>
<dl class="fields">
<dt>Overrides:
object.__hash__
<dd><em class="note">(inherited documentation)</em></dd>
</dt>
</dl>
</td></tr></table>
</div>
<a name="__eq__"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">__eq__</span>(<span class="sig-arg">self</span>,
<span class="sig-arg">other</span>)</span>
<br /><em class="fname">(Equality operator)</em>
</h3>
</td><td align="right" valign="top"
><span class="codelink"><a href="scapi-pysrc.html#RESTBase.__eq__">source&nbsp;code</a></span>&nbsp;
</td>
</tr></table>
<p>Test for equality.</p>
<p>Resources are considered equal if the have the same kind and id.</p>
<dl class="fields">
</dl>
</td></tr></table>
</div>
<br />
<!-- ==================== CLASS VARIABLE DETAILS ==================== -->
<a name="section-ClassVariableDetails"></a>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Class Variable Details</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-ClassVariableDetails"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
</table>
<a name="REGISTRY"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<h3 class="epydoc">REGISTRY</h3>
<dl class="fields">
</dl>
<dl class="fields">
<dt>Value:</dt>
<dd><table><tr><td><pre class="variable">
<code class="variable-group">{</code><code class="variable-quote">'</code><code class="variable-string">comments</code><code class="variable-quote">'</code><code class="variable-op">: </code>&lt;class 'scapi.Comment'&gt;<code class="variable-op">,</code>
<code class="variable-quote">'</code><code class="variable-string">contacts</code><code class="variable-quote">'</code><code class="variable-op">: </code>&lt;class 'scapi.User'&gt;<code class="variable-op">,</code>
<code class="variable-quote">'</code><code class="variable-string">events</code><code class="variable-quote">'</code><code class="variable-op">: </code>&lt;class 'scapi.Event'&gt;<code class="variable-op">,</code>
<code class="variable-quote">'</code><code class="variable-string">favorites</code><code class="variable-quote">'</code><code class="variable-op">: </code>&lt;class 'scapi.Track'&gt;<code class="variable-op">,</code>
<code class="variable-quote">'</code><code class="variable-string">groups</code><code class="variable-quote">'</code><code class="variable-op">: </code>&lt;class 'scapi.Group'&gt;<code class="variable-op">,</code>
<code class="variable-quote">'</code><code class="variable-string">me</code><code class="variable-quote">'</code><code class="variable-op">: </code>&lt;class 'scapi.User'&gt;<code class="variable-op">,</code>
<code class="variable-quote">'</code><code class="variable-string">permissions</code><code class="variable-quote">'</code><code class="variable-op">: </code>&lt;class 'scapi.User'&gt;<code class="variable-op">,</code>
<code class="variable-quote">'</code><code class="variable-string">playlists</code><code class="variable-quote">'</code><code class="variable-op">: </code>&lt;class 'scapi.Playlist'&gt;<code class="variable-op">,</code>
<code class="variable-ellipsis">...</code>
</pre></td></tr></table>
</dd>
</dl>
</td></tr></table>
</div>
<a name="ALL_DOMAIN_CLASSES"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<h3 class="epydoc">ALL_DOMAIN_CLASSES</h3>
<dl class="fields">
</dl>
<dl class="fields">
<dt>Value:</dt>
<dd><table><tr><td><pre class="variable">
<code class="variable-group">{</code><code class="variable-quote">'</code><code class="variable-string">Comment</code><code class="variable-quote">'</code><code class="variable-op">: </code>&lt;class 'scapi.Comment'&gt;<code class="variable-op">,</code>
<code class="variable-quote">'</code><code class="variable-string">Event</code><code class="variable-quote">'</code><code class="variable-op">: </code>&lt;class 'scapi.Event'&gt;<code class="variable-op">,</code>
<code class="variable-quote">'</code><code class="variable-string">Group</code><code class="variable-quote">'</code><code class="variable-op">: </code>&lt;class 'scapi.Group'&gt;<code class="variable-op">,</code>
<code class="variable-quote">'</code><code class="variable-string">Playlist</code><code class="variable-quote">'</code><code class="variable-op">: </code>&lt;class 'scapi.Playlist'&gt;<code class="variable-op">,</code>
<code class="variable-quote">'</code><code class="variable-string">Track</code><code class="variable-quote">'</code><code class="variable-op">: </code>&lt;class 'scapi.Track'&gt;<code class="variable-op">,</code>
<code class="variable-quote">'</code><code class="variable-string">User</code><code class="variable-quote">'</code><code class="variable-op">: </code>&lt;class 'scapi.User'&gt;<code class="variable-group">}</code>
</pre></td></tr></table>
</dd>
</dl>
</td></tr></table>
</div>
<br />
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
bgcolor="#a0c0ff" cellspacing="0">
<tr valign="middle">
<!-- Home link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="scapi-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Tree link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Index link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Help link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Project homepage -->
<th class="navbar" align="right" width="100%">
<table border="0" cellpadding="0" cellspacing="0">
<tr><th class="navbar" align="center"
>SoundCloud API</th>
</tr></table></th>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
Generated by Epydoc 3.0.1 on Thu Sep 10 00:58:49 2009
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
>http://epydoc.sourceforge.net</a>
</td>
</tr>
</table>
<script type="text/javascript">
<!--
// Private objects are initially displayed (because if
// javascript is turned off then we want them to be
// visible); but by default, we want to hide them. So hide
// them unless we have a cookie that says to show them.
checkCookie();
// -->
</script>
</body>
</html>

View file

@ -0,0 +1,319 @@
<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>scapi.SCRedirectHandler</title>
<link rel="stylesheet" href="epydoc.css" type="text/css" />
<script type="text/javascript" src="epydoc.js"></script>
</head>
<body bgcolor="white" text="black" link="blue" vlink="#204080"
alink="#204080">
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
bgcolor="#a0c0ff" cellspacing="0">
<tr valign="middle">
<!-- Home link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="scapi-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Tree link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Index link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Help link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Project homepage -->
<th class="navbar" align="right" width="100%">
<table border="0" cellpadding="0" cellspacing="0">
<tr><th class="navbar" align="center"
>SoundCloud API</th>
</tr></table></th>
</tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0">
<tr valign="top">
<td width="100%">
<span class="breadcrumbs">
<a href="scapi-module.html">Package&nbsp;scapi</a> ::
Class&nbsp;SCRedirectHandler
</span>
</td>
<td>
<table cellpadding="0" cellspacing="0">
<!-- hide/show private -->
<tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
<tr><td align="right"><span class="options"
>[<a href="frames.html" target="_top">frames</a
>]&nbsp;|&nbsp;<a href="scapi.SCRedirectHandler-class.html"
target="_top">no&nbsp;frames</a>]</span></td></tr>
</table>
</td>
</tr>
</table>
<!-- ==================== CLASS DESCRIPTION ==================== -->
<h1 class="epydoc">Class SCRedirectHandler</h1><p class="nomargin-top"><span class="codelink"><a href="scapi-pysrc.html#SCRedirectHandler">source&nbsp;code</a></span></p>
<pre class="base-tree">
urllib2.BaseHandler --+
|
urllib2.HTTPRedirectHandler --+
|
<strong class="uidshort">SCRedirectHandler</strong>
</pre>
<hr />
<p>A urllib2-Handler to deal with the redirects the RESTful API of SC
uses.</p>
<!-- ==================== INSTANCE METHODS ==================== -->
<a name="section-InstanceMethods"></a>
<table class="summary" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Instance Methods</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-InstanceMethods"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="scapi.SCRedirectHandler-class.html#http_error_303" class="summary-sig-name">http_error_303</a>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">req</span>,
<span class="summary-sig-arg">fp</span>,
<span class="summary-sig-arg">code</span>,
<span class="summary-sig-arg">msg</span>,
<span class="summary-sig-arg">hdrs</span>)</span><br />
In case of return-code 303 (See-other), we have to store the location
we got because that will determine the actual type of resource
returned.</td>
<td align="right" valign="top">
<span class="codelink"><a href="scapi-pysrc.html#SCRedirectHandler.http_error_303">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="scapi.SCRedirectHandler-class.html#http_error_201" class="summary-sig-name">http_error_201</a>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">req</span>,
<span class="summary-sig-arg">fp</span>,
<span class="summary-sig-arg">code</span>,
<span class="summary-sig-arg">msg</span>,
<span class="summary-sig-arg">hdrs</span>)</span><br />
We fake a 201 being a 303 so that our redirection-scheme takes place
for the 201 the API throws in case we created something.</td>
<td align="right" valign="top">
<span class="codelink"><a href="scapi-pysrc.html#SCRedirectHandler.http_error_201">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td colspan="2" class="summary">
<p class="indent-wrapped-lines"><b>Inherited from <code>urllib2.HTTPRedirectHandler</code></b>:
<code>http_error_301</code>,
<code>http_error_302</code>,
<code>http_error_307</code>,
<code>redirect_request</code>
</p>
<p class="indent-wrapped-lines"><b>Inherited from <code>urllib2.BaseHandler</code></b>:
<code>__lt__</code>,
<code>add_parent</code>,
<code>close</code>
</p>
</td>
</tr>
</table>
<!-- ==================== CLASS VARIABLES ==================== -->
<a name="section-ClassVariables"></a>
<table class="summary" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Class Variables</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-ClassVariables"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a name="alternate_method"></a><span class="summary-name">alternate_method</span> = <code title="None">None</code>
</td>
</tr>
<tr>
<td colspan="2" class="summary">
<p class="indent-wrapped-lines"><b>Inherited from <code>urllib2.HTTPRedirectHandler</code></b>:
<code>inf_msg</code>,
<code>max_redirections</code>,
<code>max_repeats</code>
</p>
<p class="indent-wrapped-lines"><b>Inherited from <code>urllib2.BaseHandler</code></b>:
<code>handler_order</code>
</p>
</td>
</tr>
</table>
<!-- ==================== METHOD DETAILS ==================== -->
<a name="section-MethodDetails"></a>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Method Details</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-MethodDetails"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
</table>
<a name="http_error_303"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">http_error_303</span>(<span class="sig-arg">self</span>,
<span class="sig-arg">req</span>,
<span class="sig-arg">fp</span>,
<span class="sig-arg">code</span>,
<span class="sig-arg">msg</span>,
<span class="sig-arg">hdrs</span>)</span>
</h3>
</td><td align="right" valign="top"
><span class="codelink"><a href="scapi-pysrc.html#SCRedirectHandler.http_error_303">source&nbsp;code</a></span>&nbsp;
</td>
</tr></table>
<p>In case of return-code 303 (See-other), we have to store the location
we got because that will determine the actual type of resource
returned.</p>
<dl class="fields">
<dt>Overrides:
urllib2.HTTPRedirectHandler.http_error_302
</dt>
</dl>
</td></tr></table>
</div>
<a name="http_error_201"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">http_error_201</span>(<span class="sig-arg">self</span>,
<span class="sig-arg">req</span>,
<span class="sig-arg">fp</span>,
<span class="sig-arg">code</span>,
<span class="sig-arg">msg</span>,
<span class="sig-arg">hdrs</span>)</span>
</h3>
</td><td align="right" valign="top"
><span class="codelink"><a href="scapi-pysrc.html#SCRedirectHandler.http_error_201">source&nbsp;code</a></span>&nbsp;
</td>
</tr></table>
<p>We fake a 201 being a 303 so that our redirection-scheme takes place
for the 201 the API throws in case we created something. If the location
is not available though, that means that whatever we created has succeded
- without being a named resource. Assigning an asset to a track is an
example of such case.</p>
<dl class="fields">
</dl>
</td></tr></table>
</div>
<br />
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
bgcolor="#a0c0ff" cellspacing="0">
<tr valign="middle">
<!-- Home link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="scapi-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Tree link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Index link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Help link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Project homepage -->
<th class="navbar" align="right" width="100%">
<table border="0" cellpadding="0" cellspacing="0">
<tr><th class="navbar" align="center"
>SoundCloud API</th>
</tr></table></th>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
Generated by Epydoc 3.0.1 on Thu Sep 10 00:58:49 2009
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
>http://epydoc.sourceforge.net</a>
</td>
</tr>
</table>
<script type="text/javascript">
<!--
// Private objects are initially displayed (because if
// javascript is turned off then we want them to be
// visible); but by default, we want to hide them. So hide
// them unless we have a cookie that says to show them.
checkCookie();
// -->
</script>
</body>
</html>

View file

@ -0,0 +1,682 @@
<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>scapi.Scope</title>
<link rel="stylesheet" href="epydoc.css" type="text/css" />
<script type="text/javascript" src="epydoc.js"></script>
</head>
<body bgcolor="white" text="black" link="blue" vlink="#204080"
alink="#204080">
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
bgcolor="#a0c0ff" cellspacing="0">
<tr valign="middle">
<!-- Home link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="scapi-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Tree link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Index link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Help link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Project homepage -->
<th class="navbar" align="right" width="100%">
<table border="0" cellpadding="0" cellspacing="0">
<tr><th class="navbar" align="center"
>SoundCloud API</th>
</tr></table></th>
</tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0">
<tr valign="top">
<td width="100%">
<span class="breadcrumbs">
<a href="scapi-module.html">Package&nbsp;scapi</a> ::
Class&nbsp;Scope
</span>
</td>
<td>
<table cellpadding="0" cellspacing="0">
<!-- hide/show private -->
<tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
<tr><td align="right"><span class="options"
>[<a href="frames.html" target="_top">frames</a
>]&nbsp;|&nbsp;<a href="scapi.Scope-class.html"
target="_top">no&nbsp;frames</a>]</span></td></tr>
</table>
</td>
</tr>
</table>
<!-- ==================== CLASS DESCRIPTION ==================== -->
<h1 class="epydoc">Class Scope</h1><p class="nomargin-top"><span class="codelink"><a href="scapi-pysrc.html#Scope">source&nbsp;code</a></span></p>
<pre class="base-tree">
object --+
|
<strong class="uidshort">Scope</strong>
</pre>
<hr />
<p>The basic means to query and create resources. The Scope uses the <a
href="scapi.ApiConnector-class.html" class="link"
onclick="show_private();">ApiConnector</a> to create the proper URIs for
querying or creating resources.</p>
<p>For accessing resources from the root level, you explcitly create a
Scope and pass it an <a href="scapi.ApiConnector-class.html" class="link"
onclick="show_private();">ApiConnector</a>-instance. Then you can query
it or create new resources like this:</p>
<pre class="py-doctest">
<span class="py-prompt">&gt;&gt;&gt; </span>connector = scapi.ApiConnector(host=<span class="py-string">'host'</span>, user=<span class="py-string">'user'</span>, password=<span class="py-string">'password'</span>) <span class="py-comment"># initialize the API</span>
<span class="py-prompt">&gt;&gt;&gt; </span>scope = scapi.Scope(connector) <span class="py-comment"># get the root scope</span>
<span class="py-prompt">&gt;&gt;&gt; </span>users = list(scope.users())
<span class="py-output">[&lt;scapi.User object at 0x12345&gt;, ...]</span></pre>
<p>Please not that all resources that are lists are returned as
<b>generator</b>. So you need to either iterate over them, or call
list(resources) on them.</p>
<p>When accessing resources that belong to another resource, like
contacts of a user, you access the parent's resource scope implicitly
through the resource instance like this:</p>
<pre class="py-doctest">
<span class="py-prompt">&gt;&gt;&gt; </span>user = scope.users().next()
<span class="py-prompt">&gt;&gt;&gt; </span>list(user.contacts())
<span class="py-output">[&lt;scapi.Contact object at 0x12345&gt;, ...]</span></pre>
<!-- ==================== INSTANCE METHODS ==================== -->
<a name="section-InstanceMethods"></a>
<table class="summary" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Instance Methods</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-InstanceMethods"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="scapi.Scope-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">connector</span>,
<span class="summary-sig-arg">scope</span>=<span class="summary-sig-default">None</span>,
<span class="summary-sig-arg">parent</span>=<span class="summary-sig-default">None</span>)</span><br />
Create the Scope.</td>
<td align="right" valign="top">
<span class="codelink"><a href="scapi-pysrc.html#Scope.__init__">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr class="private">
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="_get_connector"></a><span class="summary-sig-name">_get_connector</span>(<span class="summary-sig-arg">self</span>)</span></td>
<td align="right" valign="top">
<span class="codelink"><a href="scapi-pysrc.html#Scope._get_connector">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="scapi.Scope-class.html#oauth_sign_get_request" class="summary-sig-name">oauth_sign_get_request</a>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">url</span>)</span><br />
This method will take an arbitrary url, and rewrite it so that the
current authenticator's oauth-headers are appended as
query-parameters.</td>
<td align="right" valign="top">
<span class="codelink"><a href="scapi-pysrc.html#Scope.oauth_sign_get_request">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr class="private">
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">urllib2.Request</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="scapi.Scope-class.html#_create_request" class="summary-sig-name" onclick="show_private();">_create_request</a>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">url</span>,
<span class="summary-sig-arg">connector</span>,
<span class="summary-sig-arg">parameters</span>,
<span class="summary-sig-arg">queryparams</span>,
<span class="summary-sig-arg">alternate_http_method</span>=<span class="summary-sig-default">None</span>,
<span class="summary-sig-arg">use_multipart</span>=<span class="summary-sig-default">False</span>)</span><br />
This method returnes the urllib2.Request to perform the actual
HTTP-request.</td>
<td align="right" valign="top">
<span class="codelink"><a href="scapi-pysrc.html#Scope._create_request">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr class="private">
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">str</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="scapi.Scope-class.html#_create_query_string" class="summary-sig-name" onclick="show_private();">_create_query_string</a>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">queryparams</span>)</span><br />
Small helpermethod to create the querystring from a dict.</td>
<td align="right" valign="top">
<span class="codelink"><a href="scapi-pysrc.html#Scope._create_query_string">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr class="private">
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="scapi.Scope-class.html#_call" class="summary-sig-name" onclick="show_private();">_call</a>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">method</span>,
<span class="summary-sig-arg">*args</span>,
<span class="summary-sig-arg">**kwargs</span>)</span><br />
The workhorse.</td>
<td align="right" valign="top">
<span class="codelink"><a href="scapi-pysrc.html#Scope._call">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr class="private">
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="scapi.Scope-class.html#_map" class="summary-sig-name" onclick="show_private();">_map</a>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">res</span>,
<span class="summary-sig-arg">method</span>,
<span class="summary-sig-arg">continue_list_fetching</span>)</span><br />
This method will take the JSON-result of a HTTP-call and return our
domain-objects.</td>
<td align="right" valign="top">
<span class="codelink"><a href="scapi-pysrc.html#Scope._map">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="scapi.Scope-class.html#__getattr__" class="summary-sig-name">__getattr__</a>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">_name</span>)</span><br />
Retrieve an API-method or a scoped domain-class.</td>
<td align="right" valign="top">
<span class="codelink"><a href="scapi-pysrc.html#Scope.__getattr__">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="scapi.Scope-class.html#__repr__" class="summary-sig-name">__repr__</a>(<span class="summary-sig-arg">self</span>)</span><br />
repr(x)</td>
<td align="right" valign="top">
<span class="codelink"><a href="scapi-pysrc.html#Scope.__repr__">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="scapi.Scope-class.html#__str__" class="summary-sig-name">__str__</a>(<span class="summary-sig-arg">self</span>)</span><br />
str(x)</td>
<td align="right" valign="top">
<span class="codelink"><a href="scapi-pysrc.html#Scope.__str__">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td colspan="2" class="summary">
<p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
<code>__delattr__</code>,
<code>__getattribute__</code>,
<code>__hash__</code>,
<code>__new__</code>,
<code>__reduce__</code>,
<code>__reduce_ex__</code>,
<code>__setattr__</code>
</p>
</td>
</tr>
</table>
<!-- ==================== PROPERTIES ==================== -->
<a name="section-Properties"></a>
<table class="summary" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Properties</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-Properties"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
<tr>
<td colspan="2" class="summary">
<p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
<code>__class__</code>
</p>
</td>
</tr>
</table>
<!-- ==================== METHOD DETAILS ==================== -->
<a name="section-MethodDetails"></a>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Method Details</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-MethodDetails"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
</table>
<a name="__init__"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
<span class="sig-arg">connector</span>,
<span class="sig-arg">scope</span>=<span class="sig-default">None</span>,
<span class="sig-arg">parent</span>=<span class="sig-default">None</span>)</span>
<br /><em class="fname">(Constructor)</em>
</h3>
</td><td align="right" valign="top"
><span class="codelink"><a href="scapi-pysrc.html#Scope.__init__">source&nbsp;code</a></span>&nbsp;
</td>
</tr></table>
<p>Create the Scope. It can have a resource as scope, and possibly a
parent-scope.</p>
<dl class="fields">
<dt>Parameters:</dt>
<dd><ul class="nomargin-top">
<li><strong class="pname"><code>connector</code></strong> (ApiConnector) - The connector to use.</li>
<li><strong class="pname"><code>scope</code></strong> (scapi.RESTBase) - the resource to make this scope belong to</li>
<li><strong class="pname"><code>parent</code></strong> (scapi.Scope) - the parent scope of this scope</li>
</ul></dd>
<dt>Overrides:
object.__init__
</dt>
</dl>
</td></tr></table>
</div>
<a name="oauth_sign_get_request"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">oauth_sign_get_request</span>(<span class="sig-arg">self</span>,
<span class="sig-arg">url</span>)</span>
</h3>
</td><td align="right" valign="top"
><span class="codelink"><a href="scapi-pysrc.html#Scope.oauth_sign_get_request">source&nbsp;code</a></span>&nbsp;
</td>
</tr></table>
<p>This method will take an arbitrary url, and rewrite it so that the
current authenticator's oauth-headers are appended as
query-parameters.</p>
<p>This is used in streaming and downloading, because those content isn't
served from the SoundCloud servers themselves.</p>
<p>A usage example would look like this:</p>
<pre class="py-doctest">
<span class="py-prompt">&gt;&gt;&gt; </span>sca = scapi.Scope(connector)
<span class="py-prompt">&gt;&gt;&gt; </span>track = sca.tracks(params={
<span class="py-output"> &quot;filter&quot; : &quot;downloadable&quot;,</span>
<span class="py-output"> }).next()</span></pre>
<pre class="py-doctest">
<span class="py-prompt">&gt;&gt;&gt; </span>download_url = track.download_url
<span class="py-prompt">&gt;&gt;&gt; </span>signed_url = track.oauth_sign_get_request(download_url)
<span class="py-prompt">&gt;&gt;&gt; </span>data = urllib2.urlopen(signed_url).read()</pre>
<dl class="fields">
</dl>
</td></tr></table>
</div>
<a name="_create_request"></a>
<div class="private">
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">_create_request</span>(<span class="sig-arg">self</span>,
<span class="sig-arg">url</span>,
<span class="sig-arg">connector</span>,
<span class="sig-arg">parameters</span>,
<span class="sig-arg">queryparams</span>,
<span class="sig-arg">alternate_http_method</span>=<span class="sig-default">None</span>,
<span class="sig-arg">use_multipart</span>=<span class="sig-default">False</span>)</span>
</h3>
</td><td align="right" valign="top"
><span class="codelink"><a href="scapi-pysrc.html#Scope._create_request">source&nbsp;code</a></span>&nbsp;
</td>
</tr></table>
<p>This method returnes the urllib2.Request to perform the actual
HTTP-request.</p>
<p>We return a subclass that overload the get_method-method to return a
custom method like &quot;PUT&quot;. Additionally, the request is enhanced
with the current authenticators authorization scheme headers.</p>
<dl class="fields">
<dt>Parameters:</dt>
<dd><ul class="nomargin-top">
<li><strong class="pname"><code>url</code></strong> - the destination url</li>
<li><strong class="pname"><code>connector</code></strong> - our connector-instance</li>
<li><strong class="pname"><code>parameters</code></strong> (None|dict&lt;str, basestring|list&lt;basestring&gt;&gt;) - the POST-parameters to use.</li>
<li><strong class="pname"><code>queryparams</code></strong> (None|dict&lt;str, basestring|list&lt;basestring&gt;&gt;) - the queryparams to use</li>
<li><strong class="pname"><code>alternate_http_method</code></strong> (str) - an alternate HTTP-method to use</li>
</ul></dd>
<dt>Returns: urllib2.Request</dt>
<dd>the fully equipped request</dd>
</dl>
</td></tr></table>
</div>
<a name="_create_query_string"></a>
<div class="private">
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">_create_query_string</span>(<span class="sig-arg">self</span>,
<span class="sig-arg">queryparams</span>)</span>
</h3>
</td><td align="right" valign="top"
><span class="codelink"><a href="scapi-pysrc.html#Scope._create_query_string">source&nbsp;code</a></span>&nbsp;
</td>
</tr></table>
<p>Small helpermethod to create the querystring from a dict.</p>
<dl class="fields">
<dt>Parameters:</dt>
<dd><ul class="nomargin-top">
<li><strong class="pname"><code>queryparams</code></strong> (None|dict&lt;str, basestring|list&lt;basestring&gt;&gt;) - the queryparameters.</li>
</ul></dd>
<dt>Returns: str</dt>
<dd>either the empty string, or a &quot;?&quot; followed by the
parameters joined by &quot;&amp;&quot;</dd>
</dl>
</td></tr></table>
</div>
<a name="_call"></a>
<div class="private">
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">_call</span>(<span class="sig-arg">self</span>,
<span class="sig-arg">method</span>,
<span class="sig-arg">*args</span>,
<span class="sig-arg">**kwargs</span>)</span>
</h3>
</td><td align="right" valign="top"
><span class="codelink"><a href="scapi-pysrc.html#Scope._call">source&nbsp;code</a></span>&nbsp;
</td>
</tr></table>
<p>The workhorse. It's complicated, convoluted and beyond understanding
of a mortal being.</p>
<p>You have been warned.</p>
<dl class="fields">
</dl>
</td></tr></table>
</div>
<a name="_map"></a>
<div class="private">
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">_map</span>(<span class="sig-arg">self</span>,
<span class="sig-arg">res</span>,
<span class="sig-arg">method</span>,
<span class="sig-arg">continue_list_fetching</span>)</span>
</h3>
</td><td align="right" valign="top"
><span class="codelink"><a href="scapi-pysrc.html#Scope._map">source&nbsp;code</a></span>&nbsp;
</td>
</tr></table>
<p>This method will take the JSON-result of a HTTP-call and return our
domain-objects.</p>
<p>It's also deep magic, don't look.</p>
<dl class="fields">
</dl>
</td></tr></table>
</div>
<a name="__getattr__"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">__getattr__</span>(<span class="sig-arg">self</span>,
<span class="sig-arg">_name</span>)</span>
<br /><em class="fname">(Qualification operator)</em>
</h3>
</td><td align="right" valign="top"
><span class="codelink"><a href="scapi-pysrc.html#Scope.__getattr__">source&nbsp;code</a></span>&nbsp;
</td>
</tr></table>
<p>Retrieve an API-method or a scoped domain-class.</p>
<p>If the former, result is a callable that supports the following
invocations:</p>
<ul>
<li>
calling (...), with possible arguments (positional/keyword), return
the resulting resource or list of resources. When calling, you can
pass a keyword-argument <b>params</b>. This must be a dict or <a
href="scapi.util.MultiDict-class.html" class="link">MultiDict</a> and
will be used to add additional query-get-parameters.
</li>
<li>
invoking append(resource) on it will PUT the resource, making it part
of the current resource. Makes sense only if it's a collection of
course.
</li>
<li>
invoking remove(resource) on it will DELETE the resource from it's
container. Also only usable on collections.
<p>TODO: describe the latter</p>
</li>
</ul>
<dl class="fields">
</dl>
</td></tr></table>
</div>
<a name="__repr__"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">__repr__</span>(<span class="sig-arg">self</span>)</span>
<br /><em class="fname">(Representation operator)</em>
</h3>
</td><td align="right" valign="top"
><span class="codelink"><a href="scapi-pysrc.html#Scope.__repr__">source&nbsp;code</a></span>&nbsp;
</td>
</tr></table>
<p>repr(x)</p>
<dl class="fields">
<dt>Overrides:
object.__repr__
<dd><em class="note">(inherited documentation)</em></dd>
</dt>
</dl>
</td></tr></table>
</div>
<a name="__str__"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">__str__</span>(<span class="sig-arg">self</span>)</span>
<br /><em class="fname">(Informal representation operator)</em>
</h3>
</td><td align="right" valign="top"
><span class="codelink"><a href="scapi-pysrc.html#Scope.__str__">source&nbsp;code</a></span>&nbsp;
</td>
</tr></table>
<p>str(x)</p>
<dl class="fields">
<dt>Overrides:
object.__str__
<dd><em class="note">(inherited documentation)</em></dd>
</dt>
</dl>
</td></tr></table>
</div>
<br />
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
bgcolor="#a0c0ff" cellspacing="0">
<tr valign="middle">
<!-- Home link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="scapi-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Tree link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Index link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Help link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Project homepage -->
<th class="navbar" align="right" width="100%">
<table border="0" cellpadding="0" cellspacing="0">
<tr><th class="navbar" align="center"
>SoundCloud API</th>
</tr></table></th>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
Generated by Epydoc 3.0.1 on Thu Sep 10 00:58:49 2009
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
>http://epydoc.sourceforge.net</a>
</td>
</tr>
</table>
<script type="text/javascript">
<!--
// Private objects are initially displayed (because if
// javascript is turned off then we want them to be
// visible); but by default, we want to hide them. So hide
// them unless we have a cookie that says to show them.
checkCookie();
// -->
</script>
</body>
</html>

View file

@ -0,0 +1,264 @@
<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>scapi.Track</title>
<link rel="stylesheet" href="epydoc.css" type="text/css" />
<script type="text/javascript" src="epydoc.js"></script>
</head>
<body bgcolor="white" text="black" link="blue" vlink="#204080"
alink="#204080">
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
bgcolor="#a0c0ff" cellspacing="0">
<tr valign="middle">
<!-- Home link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="scapi-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Tree link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Index link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Help link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Project homepage -->
<th class="navbar" align="right" width="100%">
<table border="0" cellpadding="0" cellspacing="0">
<tr><th class="navbar" align="center"
>SoundCloud API</th>
</tr></table></th>
</tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0">
<tr valign="top">
<td width="100%">
<span class="breadcrumbs">
<a href="scapi-module.html">Package&nbsp;scapi</a> ::
Class&nbsp;Track
</span>
</td>
<td>
<table cellpadding="0" cellspacing="0">
<!-- hide/show private -->
<tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
<tr><td align="right"><span class="options"
>[<a href="frames.html" target="_top">frames</a
>]&nbsp;|&nbsp;<a href="scapi.Track-class.html"
target="_top">no&nbsp;frames</a>]</span></td></tr>
</table>
</td>
</tr>
</table>
<!-- ==================== CLASS DESCRIPTION ==================== -->
<h1 class="epydoc">Class Track</h1><p class="nomargin-top"><span class="codelink"><a href="scapi-pysrc.html#Track">source&nbsp;code</a></span></p>
<pre class="base-tree">
object --+
|
<a href="scapi.RESTBase-class.html" onclick="show_private();">RESTBase</a> --+
|
<strong class="uidshort">Track</strong>
</pre>
<hr />
<p>A track domain object/resource.</p>
<!-- ==================== INSTANCE METHODS ==================== -->
<a name="section-InstanceMethods"></a>
<table class="summary" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Instance Methods</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-InstanceMethods"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
<tr>
<td colspan="2" class="summary">
<p class="indent-wrapped-lines"><b>Inherited from <code><a href="scapi.RESTBase-class.html" onclick="show_private();">RESTBase</a></code></b>:
<code><a href="scapi.RESTBase-class.html#__eq__">__eq__</a></code>,
<code><a href="scapi.RESTBase-class.html#__getattr__">__getattr__</a></code>,
<code><a href="scapi.RESTBase-class.html#__hash__">__hash__</a></code>,
<code><a href="scapi.RESTBase-class.html#__init__">__init__</a></code>,
<code><a href="scapi.RESTBase-class.html#__ne__">__ne__</a></code>,
<code><a href="scapi.RESTBase-class.html#__repr__">__repr__</a></code>,
<code><a href="scapi.RESTBase-class.html#__setattr__">__setattr__</a></code>
</p>
<div class="private"> <p class="indent-wrapped-lines"><b>Inherited from <code><a href="scapi.RESTBase-class.html" onclick="show_private();">RESTBase</a></code></b> (private):
<code><a href="scapi.RESTBase-class.html#_as_arguments" onclick="show_private();">_as_arguments</a></code>,
<code><a href="scapi.RESTBase-class.html#_convert_value" onclick="show_private();">_convert_value</a></code>,
<code><a href="scapi.RESTBase-class.html#_scope" onclick="show_private();">_scope</a></code>
</p></div>
<p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
<code>__delattr__</code>,
<code>__getattribute__</code>,
<code>__new__</code>,
<code>__reduce__</code>,
<code>__reduce_ex__</code>,
<code>__str__</code>
</p>
</td>
</tr>
</table>
<!-- ==================== CLASS METHODS ==================== -->
<a name="section-ClassMethods"></a>
<table class="summary" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Class Methods</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-ClassMethods"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
<tr>
<td colspan="2" class="summary">
<p class="indent-wrapped-lines"><b>Inherited from <code><a href="scapi.RESTBase-class.html" onclick="show_private();">RESTBase</a></code></b>:
<code><a href="scapi.RESTBase-class.html#create">create</a></code>,
<code><a href="scapi.RESTBase-class.html#get">get</a></code>,
<code><a href="scapi.RESTBase-class.html#new">new</a></code>
</p>
<div class="private"> <p class="indent-wrapped-lines"><b>Inherited from <code><a href="scapi.RESTBase-class.html" onclick="show_private();">RESTBase</a></code></b> (private):
<code><a href="scapi.RESTBase-class.html#_singleton" onclick="show_private();">_singleton</a></code>
</p></div>
</td>
</tr>
</table>
<!-- ==================== CLASS VARIABLES ==================== -->
<a name="section-ClassVariables"></a>
<table class="summary" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Class Variables</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-ClassVariables"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a name="KIND"></a><span class="summary-name">KIND</span> = <code title="'tracks'"><code class="variable-quote">'</code><code class="variable-string">tracks</code><code class="variable-quote">'</code></code>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a name="ALIASES"></a><span class="summary-name">ALIASES</span> = <code title="['favorites']"><code class="variable-group">[</code><code class="variable-quote">'</code><code class="variable-string">favorites</code><code class="variable-quote">'</code><code class="variable-group">]</code></code>
</td>
</tr>
<tr>
<td colspan="2" class="summary">
<p class="indent-wrapped-lines"><b>Inherited from <code><a href="scapi.RESTBase-class.html" onclick="show_private();">RESTBase</a></code></b>:
<code><a href="scapi.RESTBase-class.html#ALL_DOMAIN_CLASSES">ALL_DOMAIN_CLASSES</a></code>,
<code><a href="scapi.RESTBase-class.html#REGISTRY">REGISTRY</a></code>
</p>
</td>
</tr>
</table>
<!-- ==================== PROPERTIES ==================== -->
<a name="section-Properties"></a>
<table class="summary" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Properties</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-Properties"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
<tr>
<td colspan="2" class="summary">
<p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
<code>__class__</code>
</p>
</td>
</tr>
</table>
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
bgcolor="#a0c0ff" cellspacing="0">
<tr valign="middle">
<!-- Home link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="scapi-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Tree link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Index link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Help link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Project homepage -->
<th class="navbar" align="right" width="100%">
<table border="0" cellpadding="0" cellspacing="0">
<tr><th class="navbar" align="center"
>SoundCloud API</th>
</tr></table></th>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
Generated by Epydoc 3.0.1 on Thu Sep 10 00:58:49 2009
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
>http://epydoc.sourceforge.net</a>
</td>
</tr>
</table>
<script type="text/javascript">
<!--
// Private objects are initially displayed (because if
// javascript is turned off then we want them to be
// visible); but by default, we want to hide them. So hide
// them unless we have a cookie that says to show them.
checkCookie();
// -->
</script>
</body>
</html>

View file

@ -0,0 +1,337 @@
<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>scapi.UnknownContentType</title>
<link rel="stylesheet" href="epydoc.css" type="text/css" />
<script type="text/javascript" src="epydoc.js"></script>
</head>
<body bgcolor="white" text="black" link="blue" vlink="#204080"
alink="#204080">
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
bgcolor="#a0c0ff" cellspacing="0">
<tr valign="middle">
<!-- Home link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="scapi-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Tree link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Index link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Help link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Project homepage -->
<th class="navbar" align="right" width="100%">
<table border="0" cellpadding="0" cellspacing="0">
<tr><th class="navbar" align="center"
>SoundCloud API</th>
</tr></table></th>
</tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0">
<tr valign="top">
<td width="100%">
<span class="breadcrumbs">
<a href="scapi-module.html">Package&nbsp;scapi</a> ::
Class&nbsp;UnknownContentType
</span>
</td>
<td>
<table cellpadding="0" cellspacing="0">
<!-- hide/show private -->
<tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
<tr><td align="right"><span class="options"
>[<a href="frames.html" target="_top">frames</a
>]&nbsp;|&nbsp;<a href="scapi.UnknownContentType-class.html"
target="_top">no&nbsp;frames</a>]</span></td></tr>
</table>
</td>
</tr>
</table>
<!-- ==================== CLASS DESCRIPTION ==================== -->
<h1 class="epydoc">Class UnknownContentType</h1><p class="nomargin-top"><span class="codelink"><a href="scapi-pysrc.html#UnknownContentType">source&nbsp;code</a></span></p>
<pre class="base-tree">
object --+
|
exceptions.BaseException --+
|
exceptions.Exception --+
|
<strong class="uidshort">UnknownContentType</strong>
</pre>
<hr />
<!-- ==================== INSTANCE METHODS ==================== -->
<a name="section-InstanceMethods"></a>
<table class="summary" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Instance Methods</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-InstanceMethods"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="scapi.UnknownContentType-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">msg</span>)</span><br />
x.__init__(...) initializes x; see x.__class__.__doc__ for signature</td>
<td align="right" valign="top">
<span class="codelink"><a href="scapi-pysrc.html#UnknownContentType.__init__">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="scapi.UnknownContentType-class.html#__repr__" class="summary-sig-name">__repr__</a>(<span class="summary-sig-arg">self</span>)</span><br />
repr(x)</td>
<td align="right" valign="top">
<span class="codelink"><a href="scapi-pysrc.html#UnknownContentType.__repr__">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="scapi.UnknownContentType-class.html#__str__" class="summary-sig-name">__str__</a>(<span class="summary-sig-arg">self</span>)</span><br />
str(x)</td>
<td align="right" valign="top">
<span class="codelink"><a href="scapi-pysrc.html#UnknownContentType.__str__">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td colspan="2" class="summary">
<p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.Exception</code></b>:
<code>__new__</code>
</p>
<p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
<code>__delattr__</code>,
<code>__getattribute__</code>,
<code>__getitem__</code>,
<code>__getslice__</code>,
<code>__reduce__</code>,
<code>__setattr__</code>,
<code>__setstate__</code>
</p>
<p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
<code>__hash__</code>,
<code>__reduce_ex__</code>
</p>
</td>
</tr>
</table>
<!-- ==================== PROPERTIES ==================== -->
<a name="section-Properties"></a>
<table class="summary" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Properties</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-Properties"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
<tr>
<td colspan="2" class="summary">
<p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
<code>args</code>,
<code>message</code>
</p>
<p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
<code>__class__</code>
</p>
</td>
</tr>
</table>
<!-- ==================== METHOD DETAILS ==================== -->
<a name="section-MethodDetails"></a>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Method Details</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-MethodDetails"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
</table>
<a name="__init__"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
<span class="sig-arg">msg</span>)</span>
<br /><em class="fname">(Constructor)</em>
</h3>
</td><td align="right" valign="top"
><span class="codelink"><a href="scapi-pysrc.html#UnknownContentType.__init__">source&nbsp;code</a></span>&nbsp;
</td>
</tr></table>
<p>x.__init__(...) initializes x; see x.__class__.__doc__ for
signature</p>
<dl class="fields">
<dt>Overrides:
object.__init__
<dd><em class="note">(inherited documentation)</em></dd>
</dt>
</dl>
</td></tr></table>
</div>
<a name="__repr__"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">__repr__</span>(<span class="sig-arg">self</span>)</span>
<br /><em class="fname">(Representation operator)</em>
</h3>
</td><td align="right" valign="top"
><span class="codelink"><a href="scapi-pysrc.html#UnknownContentType.__repr__">source&nbsp;code</a></span>&nbsp;
</td>
</tr></table>
<p>repr(x)</p>
<dl class="fields">
<dt>Overrides:
object.__repr__
<dd><em class="note">(inherited documentation)</em></dd>
</dt>
</dl>
</td></tr></table>
</div>
<a name="__str__"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">__str__</span>(<span class="sig-arg">self</span>)</span>
<br /><em class="fname">(Informal representation operator)</em>
</h3>
</td><td align="right" valign="top"
><span class="codelink"><a href="scapi-pysrc.html#UnknownContentType.__str__">source&nbsp;code</a></span>&nbsp;
</td>
</tr></table>
<p>str(x)</p>
<dl class="fields">
<dt>Overrides:
object.__str__
<dd><em class="note">(inherited documentation)</em></dd>
</dt>
</dl>
</td></tr></table>
</div>
<br />
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
bgcolor="#a0c0ff" cellspacing="0">
<tr valign="middle">
<!-- Home link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="scapi-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Tree link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Index link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Help link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Project homepage -->
<th class="navbar" align="right" width="100%">
<table border="0" cellpadding="0" cellspacing="0">
<tr><th class="navbar" align="center"
>SoundCloud API</th>
</tr></table></th>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
Generated by Epydoc 3.0.1 on Thu Sep 10 00:58:49 2009
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
>http://epydoc.sourceforge.net</a>
</td>
</tr>
</table>
<script type="text/javascript">
<!--
// Private objects are initially displayed (because if
// javascript is turned off then we want them to be
// visible); but by default, we want to hide them. So hide
// them unless we have a cookie that says to show them.
checkCookie();
// -->
</script>
</body>
</html>

View file

@ -0,0 +1,264 @@
<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>scapi.User</title>
<link rel="stylesheet" href="epydoc.css" type="text/css" />
<script type="text/javascript" src="epydoc.js"></script>
</head>
<body bgcolor="white" text="black" link="blue" vlink="#204080"
alink="#204080">
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
bgcolor="#a0c0ff" cellspacing="0">
<tr valign="middle">
<!-- Home link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="scapi-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Tree link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Index link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Help link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Project homepage -->
<th class="navbar" align="right" width="100%">
<table border="0" cellpadding="0" cellspacing="0">
<tr><th class="navbar" align="center"
>SoundCloud API</th>
</tr></table></th>
</tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0">
<tr valign="top">
<td width="100%">
<span class="breadcrumbs">
<a href="scapi-module.html">Package&nbsp;scapi</a> ::
Class&nbsp;User
</span>
</td>
<td>
<table cellpadding="0" cellspacing="0">
<!-- hide/show private -->
<tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
<tr><td align="right"><span class="options"
>[<a href="frames.html" target="_top">frames</a
>]&nbsp;|&nbsp;<a href="scapi.User-class.html"
target="_top">no&nbsp;frames</a>]</span></td></tr>
</table>
</td>
</tr>
</table>
<!-- ==================== CLASS DESCRIPTION ==================== -->
<h1 class="epydoc">Class User</h1><p class="nomargin-top"><span class="codelink"><a href="scapi-pysrc.html#User">source&nbsp;code</a></span></p>
<pre class="base-tree">
object --+
|
<a href="scapi.RESTBase-class.html" onclick="show_private();">RESTBase</a> --+
|
<strong class="uidshort">User</strong>
</pre>
<hr />
<p>A user domain object/resource.</p>
<!-- ==================== INSTANCE METHODS ==================== -->
<a name="section-InstanceMethods"></a>
<table class="summary" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Instance Methods</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-InstanceMethods"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
<tr>
<td colspan="2" class="summary">
<p class="indent-wrapped-lines"><b>Inherited from <code><a href="scapi.RESTBase-class.html" onclick="show_private();">RESTBase</a></code></b>:
<code><a href="scapi.RESTBase-class.html#__eq__">__eq__</a></code>,
<code><a href="scapi.RESTBase-class.html#__getattr__">__getattr__</a></code>,
<code><a href="scapi.RESTBase-class.html#__hash__">__hash__</a></code>,
<code><a href="scapi.RESTBase-class.html#__init__">__init__</a></code>,
<code><a href="scapi.RESTBase-class.html#__ne__">__ne__</a></code>,
<code><a href="scapi.RESTBase-class.html#__repr__">__repr__</a></code>,
<code><a href="scapi.RESTBase-class.html#__setattr__">__setattr__</a></code>
</p>
<div class="private"> <p class="indent-wrapped-lines"><b>Inherited from <code><a href="scapi.RESTBase-class.html" onclick="show_private();">RESTBase</a></code></b> (private):
<code><a href="scapi.RESTBase-class.html#_as_arguments" onclick="show_private();">_as_arguments</a></code>,
<code><a href="scapi.RESTBase-class.html#_convert_value" onclick="show_private();">_convert_value</a></code>,
<code><a href="scapi.RESTBase-class.html#_scope" onclick="show_private();">_scope</a></code>
</p></div>
<p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
<code>__delattr__</code>,
<code>__getattribute__</code>,
<code>__new__</code>,
<code>__reduce__</code>,
<code>__reduce_ex__</code>,
<code>__str__</code>
</p>
</td>
</tr>
</table>
<!-- ==================== CLASS METHODS ==================== -->
<a name="section-ClassMethods"></a>
<table class="summary" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Class Methods</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-ClassMethods"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
<tr>
<td colspan="2" class="summary">
<p class="indent-wrapped-lines"><b>Inherited from <code><a href="scapi.RESTBase-class.html" onclick="show_private();">RESTBase</a></code></b>:
<code><a href="scapi.RESTBase-class.html#create">create</a></code>,
<code><a href="scapi.RESTBase-class.html#get">get</a></code>,
<code><a href="scapi.RESTBase-class.html#new">new</a></code>
</p>
<div class="private"> <p class="indent-wrapped-lines"><b>Inherited from <code><a href="scapi.RESTBase-class.html" onclick="show_private();">RESTBase</a></code></b> (private):
<code><a href="scapi.RESTBase-class.html#_singleton" onclick="show_private();">_singleton</a></code>
</p></div>
</td>
</tr>
</table>
<!-- ==================== CLASS VARIABLES ==================== -->
<a name="section-ClassVariables"></a>
<table class="summary" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Class Variables</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-ClassVariables"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a name="KIND"></a><span class="summary-name">KIND</span> = <code title="'users'"><code class="variable-quote">'</code><code class="variable-string">users</code><code class="variable-quote">'</code></code>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a name="ALIASES"></a><span class="summary-name">ALIASES</span> = <code title="['me', 'permissions', 'contacts', 'user']"><code class="variable-group">[</code><code class="variable-quote">'</code><code class="variable-string">me</code><code class="variable-quote">'</code><code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">permissions</code><code class="variable-quote">'</code><code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">contacts</code><code class="variable-quote">'</code><code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">user</code><code class="variable-quote">'</code><code class="variable-group">]</code></code>
</td>
</tr>
<tr>
<td colspan="2" class="summary">
<p class="indent-wrapped-lines"><b>Inherited from <code><a href="scapi.RESTBase-class.html" onclick="show_private();">RESTBase</a></code></b>:
<code><a href="scapi.RESTBase-class.html#ALL_DOMAIN_CLASSES">ALL_DOMAIN_CLASSES</a></code>,
<code><a href="scapi.RESTBase-class.html#REGISTRY">REGISTRY</a></code>
</p>
</td>
</tr>
</table>
<!-- ==================== PROPERTIES ==================== -->
<a name="section-Properties"></a>
<table class="summary" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Properties</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-Properties"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
<tr>
<td colspan="2" class="summary">
<p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
<code>__class__</code>
</p>
</td>
</tr>
</table>
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
bgcolor="#a0c0ff" cellspacing="0">
<tr valign="middle">
<!-- Home link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="scapi-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Tree link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Index link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Help link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Project homepage -->
<th class="navbar" align="right" width="100%">
<table border="0" cellpadding="0" cellspacing="0">
<tr><th class="navbar" align="center"
>SoundCloud API</th>
</tr></table></th>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
Generated by Epydoc 3.0.1 on Thu Sep 10 00:58:49 2009
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
>http://epydoc.sourceforge.net</a>
</td>
</tr>
</table>
<script type="text/javascript">
<!--
// Private objects are initially displayed (because if
// javascript is turned off then we want them to be
// visible); but by default, we want to hide them. So hide
// them unless we have a cookie that says to show them.
checkCookie();
// -->
</script>
</body>
</html>

View file

@ -0,0 +1,228 @@
<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>scapi.authentication</title>
<link rel="stylesheet" href="epydoc.css" type="text/css" />
<script type="text/javascript" src="epydoc.js"></script>
</head>
<body bgcolor="white" text="black" link="blue" vlink="#204080"
alink="#204080">
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
bgcolor="#a0c0ff" cellspacing="0">
<tr valign="middle">
<!-- Home link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="scapi-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Tree link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Index link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Help link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Project homepage -->
<th class="navbar" align="right" width="100%">
<table border="0" cellpadding="0" cellspacing="0">
<tr><th class="navbar" align="center"
>SoundCloud API</th>
</tr></table></th>
</tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0">
<tr valign="top">
<td width="100%">
<span class="breadcrumbs">
<a href="scapi-module.html">Package&nbsp;scapi</a> ::
Module&nbsp;authentication
</span>
</td>
<td>
<table cellpadding="0" cellspacing="0">
<!-- hide/show private -->
<tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
<tr><td align="right"><span class="options"
>[<a href="frames.html" target="_top">frames</a
>]&nbsp;|&nbsp;<a href="scapi.authentication-module.html"
target="_top">no&nbsp;frames</a>]</span></td></tr>
</table>
</td>
</tr>
</table>
<!-- ==================== MODULE DESCRIPTION ==================== -->
<h1 class="epydoc">Module authentication</h1><p class="nomargin-top"><span class="codelink"><a href="scapi.authentication-pysrc.html">source&nbsp;code</a></span></p>
<!-- ==================== CLASSES ==================== -->
<a name="section-Classes"></a>
<table class="summary" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Classes</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-Classes"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a href="scapi.authentication.OAuthSignatureMethod_HMAC_SHA1-class.html" class="summary-name">OAuthSignatureMethod_HMAC_SHA1</a>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a href="scapi.authentication.OAuthAuthenticator-class.html" class="summary-name">OAuthAuthenticator</a>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a href="scapi.authentication.BasicAuthenticator-class.html" class="summary-name">BasicAuthenticator</a>
</td>
</tr>
</table>
<!-- ==================== VARIABLES ==================== -->
<a name="section-Variables"></a>
<table class="summary" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Variables</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-Variables"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a href="scapi.authentication-module.html#USE_DOUBLE_ESCAPE_HACK" class="summary-name">USE_DOUBLE_ESCAPE_HACK</a> = <code title="True">True</code><br />
There seems to be an uncertainty on the way parameters are to be
escaped.
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a name="logger"></a><span class="summary-name">logger</span> = <code title="logging.getLogger(__name__)">logging.getLogger(__name__)</code>
</td>
</tr>
</table>
<!-- ==================== VARIABLES DETAILS ==================== -->
<a name="section-VariablesDetails"></a>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Variables Details</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-VariablesDetails"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
</table>
<a name="USE_DOUBLE_ESCAPE_HACK"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<h3 class="epydoc">USE_DOUBLE_ESCAPE_HACK</h3>
<p>There seems to be an uncertainty on the way parameters are to be
escaped. For now, this variable switches between two escaping
mechanisms.</p>
<p>If True, the passed parameters - GET or POST - are escaped
*twice*.</p>
<dl class="fields">
</dl>
<dl class="fields">
<dt>Value:</dt>
<dd><table><tr><td><pre class="variable">
True
</pre></td></tr></table>
</dd>
</dl>
</td></tr></table>
</div>
<br />
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
bgcolor="#a0c0ff" cellspacing="0">
<tr valign="middle">
<!-- Home link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="scapi-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Tree link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Index link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Help link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Project homepage -->
<th class="navbar" align="right" width="100%">
<table border="0" cellpadding="0" cellspacing="0">
<tr><th class="navbar" align="center"
>SoundCloud API</th>
</tr></table></th>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
Generated by Epydoc 3.0.1 on Thu Sep 10 00:58:49 2009
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
>http://epydoc.sourceforge.net</a>
</td>
</tr>
</table>
<script type="text/javascript">
<!--
// Private objects are initially displayed (because if
// javascript is turned off then we want them to be
// visible); but by default, we want to hide them. So hide
// them unless we have a cookie that says to show them.
checkCookie();
// -->
</script>
</body>
</html>

View file

@ -0,0 +1,348 @@
<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>scapi.authentication</title>
<link rel="stylesheet" href="epydoc.css" type="text/css" />
<script type="text/javascript" src="epydoc.js"></script>
</head>
<body bgcolor="white" text="black" link="blue" vlink="#204080"
alink="#204080">
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
bgcolor="#a0c0ff" cellspacing="0">
<tr valign="middle">
<!-- Home link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="scapi-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Tree link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Index link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Help link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Project homepage -->
<th class="navbar" align="right" width="100%">
<table border="0" cellpadding="0" cellspacing="0">
<tr><th class="navbar" align="center"
>SoundCloud API</th>
</tr></table></th>
</tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0">
<tr valign="top">
<td width="100%">
<span class="breadcrumbs">
<a href="scapi-module.html">Package&nbsp;scapi</a> ::
Module&nbsp;authentication
</span>
</td>
<td>
<table cellpadding="0" cellspacing="0">
<!-- hide/show private -->
<tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
<tr><td align="right"><span class="options"
>[<a href="frames.html" target="_top">frames</a
>]&nbsp;|&nbsp;<a href="scapi.authentication-pysrc.html"
target="_top">no&nbsp;frames</a>]</span></td></tr>
</table>
</td>
</tr>
</table>
<h1 class="epydoc">Source Code for <a href="scapi.authentication-module.html" onclick="show_private();">Module scapi.authentication</a></h1>
<pre class="py-src">
<a name="L1"></a><tt class="py-lineno"> 1</tt> <tt class="py-line"><tt class="py-comment">## SouncCloudAPI implements a Python wrapper around the SoundCloud RESTful</tt> </tt>
<a name="L2"></a><tt class="py-lineno"> 2</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">## API</tt> </tt>
<a name="L3"></a><tt class="py-lineno"> 3</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">##</tt> </tt>
<a name="L4"></a><tt class="py-lineno"> 4</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">## Copyright (C) 2008 Diez B. Roggisch</tt> </tt>
<a name="L5"></a><tt class="py-lineno"> 5</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">## Contact mailto:deets@soundcloud.com</tt> </tt>
<a name="L6"></a><tt class="py-lineno"> 6</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">##</tt> </tt>
<a name="L7"></a><tt class="py-lineno"> 7</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">## This library is free software; you can redistribute it and/or</tt> </tt>
<a name="L8"></a><tt class="py-lineno"> 8</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">## modify it under the terms of the GNU Lesser General Public</tt> </tt>
<a name="L9"></a><tt class="py-lineno"> 9</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">## License as published by the Free Software Foundation; either</tt> </tt>
<a name="L10"></a><tt class="py-lineno"> 10</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">## version 2.1 of the License, or (at your option) any later version.</tt> </tt>
<a name="L11"></a><tt class="py-lineno"> 11</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">##</tt> </tt>
<a name="L12"></a><tt class="py-lineno"> 12</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">## This library is distributed in the hope that it will be useful,</tt> </tt>
<a name="L13"></a><tt class="py-lineno"> 13</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">## but WITHOUT ANY WARRANTY; without even the implied warranty of</tt> </tt>
<a name="L14"></a><tt class="py-lineno"> 14</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</tt> </tt>
<a name="L15"></a><tt class="py-lineno"> 15</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">## Lesser General Public License for more details.</tt> </tt>
<a name="L16"></a><tt class="py-lineno"> 16</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">##</tt> </tt>
<a name="L17"></a><tt class="py-lineno"> 17</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">## You should have received a copy of the GNU Lesser General Public</tt> </tt>
<a name="L18"></a><tt class="py-lineno"> 18</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">## License along with this library; if not, write to the Free Software</tt> </tt>
<a name="L19"></a><tt class="py-lineno"> 19</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">## Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</tt> </tt>
<a name="L20"></a><tt class="py-lineno"> 20</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
<a name="L21"></a><tt class="py-lineno"> 21</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">base64</tt> </tt>
<a name="L22"></a><tt class="py-lineno"> 22</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">time</tt><tt class="py-op">,</tt> <tt class="py-name">random</tt> </tt>
<a name="L23"></a><tt class="py-lineno"> 23</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">urlparse</tt> </tt>
<a name="L24"></a><tt class="py-lineno"> 24</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">hmac</tt> </tt>
<a name="L25"></a><tt class="py-lineno"> 25</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">hashlib</tt> </tt>
<a name="L26"></a><tt class="py-lineno"> 26</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-0" class="py-name" targets="Package scapi=scapi-module.html"><a title="scapi" class="py-name" href="#" onclick="return doclink('link-0', 'scapi', 'link-0');">scapi</a></tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Module scapi.util=scapi.util-module.html"><a title="scapi.util" class="py-name" href="#" onclick="return doclink('link-1', 'util', 'link-1');">util</a></tt> <tt class="py-keyword">import</tt> <tt id="link-2" class="py-name" targets="Function scapi.util.escape()=scapi.util-module.html#escape"><a title="scapi.util.escape" class="py-name" href="#" onclick="return doclink('link-2', 'escape', 'link-2');">escape</a></tt> </tt>
<a name="L27"></a><tt class="py-lineno"> 27</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">logging</tt> </tt>
<a name="L28"></a><tt class="py-lineno"> 28</tt> <tt class="py-line"> </tt>
<a name="L29"></a><tt class="py-lineno"> 29</tt> <tt class="py-line"> </tt>
<a name="L30"></a><tt class="py-lineno"> 30</tt> <tt class="py-line"><tt id="link-3" class="py-name" targets="Variable scapi.authentication.USE_DOUBLE_ESCAPE_HACK=scapi.authentication-module.html#USE_DOUBLE_ESCAPE_HACK"><a title="scapi.authentication.USE_DOUBLE_ESCAPE_HACK" class="py-name" href="#" onclick="return doclink('link-3', 'USE_DOUBLE_ESCAPE_HACK', 'link-3');">USE_DOUBLE_ESCAPE_HACK</a></tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
<a name="L31"></a><tt class="py-lineno"> 31</tt> <tt class="py-line"><tt class="py-string">"""</tt> </tt>
<a name="L32"></a><tt class="py-lineno"> 32</tt> <tt class="py-line"><tt class="py-string">There seems to be an uncertainty on the way</tt> </tt>
<a name="L33"></a><tt class="py-lineno"> 33</tt> <tt class="py-line"><tt class="py-string">parameters are to be escaped. For now, this</tt> </tt>
<a name="L34"></a><tt class="py-lineno"> 34</tt> <tt class="py-line"><tt class="py-string">variable switches between two escaping mechanisms.</tt> </tt>
<a name="L35"></a><tt class="py-lineno"> 35</tt> <tt class="py-line"><tt class="py-string"></tt> </tt>
<a name="L36"></a><tt class="py-lineno"> 36</tt> <tt class="py-line"><tt class="py-string">If True, the passed parameters - GET or POST - are</tt> </tt>
<a name="L37"></a><tt class="py-lineno"> 37</tt> <tt class="py-line"><tt class="py-string">escaped *twice*.</tt> </tt>
<a name="L38"></a><tt class="py-lineno"> 38</tt> <tt class="py-line"><tt class="py-string">"""</tt> </tt>
<a name="L39"></a><tt class="py-lineno"> 39</tt> <tt class="py-line"> </tt>
<a name="L40"></a><tt class="py-lineno"> 40</tt> <tt class="py-line"><tt id="link-4" class="py-name" targets="Variable scapi.authentication.logger=scapi.authentication-module.html#logger,Variable scapi.logger=scapi-module.html#logger,Variable scapi.tests.scapi_tests.logger=scapi.tests.scapi_tests-module.html#logger,Variable scapi.tests.test_connect.logger=scapi.tests.test_connect-module.html#logger,Variable scapi.tests.test_oauth.logger=scapi.tests.test_oauth-module.html#logger"><a title="scapi.authentication.logger
scapi.logger
scapi.tests.scapi_tests.logger
scapi.tests.test_connect.logger
scapi.tests.test_oauth.logger" class="py-name" href="#" onclick="return doclink('link-4', 'logger', 'link-4');">logger</a></tt> <tt class="py-op">=</tt> <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">getLogger</tt><tt class="py-op">(</tt><tt class="py-name">__name__</tt><tt class="py-op">)</tt> </tt>
<a name="L41"></a><tt class="py-lineno"> 41</tt> <tt class="py-line"> </tt>
<a name="OAuthSignatureMethod_HMAC_SHA1"></a><div id="OAuthSignatureMethod_HMAC_SHA1-def"><a name="L42"></a><tt class="py-lineno"> 42</tt> <a class="py-toggle" href="#" id="OAuthSignatureMethod_HMAC_SHA1-toggle" onclick="return toggle('OAuthSignatureMethod_HMAC_SHA1');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="scapi.authentication.OAuthSignatureMethod_HMAC_SHA1-class.html">OAuthSignatureMethod_HMAC_SHA1</a><tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="OAuthSignatureMethod_HMAC_SHA1-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="OAuthSignatureMethod_HMAC_SHA1-expanded"><a name="L43"></a><tt class="py-lineno"> 43</tt> <tt class="py-line"> </tt>
<a name="L44"></a><tt class="py-lineno"> 44</tt> <tt class="py-line"> <tt id="link-5" class="py-name" targets="Variable scapi.authentication.OAuthSignatureMethod_HMAC_SHA1.FORBIDDEN=scapi.authentication.OAuthSignatureMethod_HMAC_SHA1-class.html#FORBIDDEN"><a title="scapi.authentication.OAuthSignatureMethod_HMAC_SHA1.FORBIDDEN" class="py-name" href="#" onclick="return doclink('link-5', 'FORBIDDEN', 'link-5');">FORBIDDEN</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-string">'realm'</tt><tt class="py-op">,</tt> <tt class="py-string">'oauth_signature'</tt><tt class="py-op">]</tt> </tt>
<a name="L45"></a><tt class="py-lineno"> 45</tt> <tt class="py-line"> </tt>
<a name="OAuthSignatureMethod_HMAC_SHA1.get_name"></a><div id="OAuthSignatureMethod_HMAC_SHA1.get_name-def"><a name="L46"></a><tt class="py-lineno"> 46</tt> <a class="py-toggle" href="#" id="OAuthSignatureMethod_HMAC_SHA1.get_name-toggle" onclick="return toggle('OAuthSignatureMethod_HMAC_SHA1.get_name');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="scapi.authentication.OAuthSignatureMethod_HMAC_SHA1-class.html#get_name">get_name</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="OAuthSignatureMethod_HMAC_SHA1.get_name-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="OAuthSignatureMethod_HMAC_SHA1.get_name-expanded"><a name="L47"></a><tt class="py-lineno"> 47</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">'HMAC-SHA1'</tt> </tt>
</div><a name="L48"></a><tt class="py-lineno"> 48</tt> <tt class="py-line"> </tt>
<a name="OAuthSignatureMethod_HMAC_SHA1.build_signature"></a><div id="OAuthSignatureMethod_HMAC_SHA1.build_signature-def"><a name="L49"></a><tt class="py-lineno"> 49</tt> <a class="py-toggle" href="#" id="OAuthSignatureMethod_HMAC_SHA1.build_signature-toggle" onclick="return toggle('OAuthSignatureMethod_HMAC_SHA1.build_signature');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="scapi.authentication.OAuthSignatureMethod_HMAC_SHA1-class.html#build_signature">build_signature</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">request</tt><tt class="py-op">,</tt> <tt class="py-param">parameters</tt><tt class="py-op">,</tt> <tt class="py-param">consumer_secret</tt><tt class="py-op">,</tt> <tt class="py-param">token_secret</tt><tt class="py-op">,</tt> <tt class="py-param">oauth_parameters</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="OAuthSignatureMethod_HMAC_SHA1.build_signature-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="OAuthSignatureMethod_HMAC_SHA1.build_signature-expanded"><a name="L50"></a><tt class="py-lineno"> 50</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-6" class="py-name"><a title="scapi.authentication.logger
scapi.logger
scapi.tests.scapi_tests.logger
scapi.tests.test_connect.logger
scapi.tests.test_oauth.logger" class="py-name" href="#" onclick="return doclink('link-6', 'logger', 'link-4');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">level</tt> <tt class="py-op">==</tt> <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">DEBUG</tt><tt class="py-op">:</tt> </tt>
<a name="L51"></a><tt class="py-lineno"> 51</tt> <tt class="py-line"> <tt id="link-7" class="py-name"><a title="scapi.authentication.logger
scapi.logger
scapi.tests.scapi_tests.logger
scapi.tests.test_connect.logger
scapi.tests.test_oauth.logger" class="py-name" href="#" onclick="return doclink('link-7', 'logger', 'link-4');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt><tt class="py-string">"request: %r"</tt><tt class="py-op">,</tt> <tt class="py-name">request</tt><tt class="py-op">)</tt> </tt>
<a name="L52"></a><tt class="py-lineno"> 52</tt> <tt class="py-line"> <tt id="link-8" class="py-name"><a title="scapi.authentication.logger
scapi.logger
scapi.tests.scapi_tests.logger
scapi.tests.test_connect.logger
scapi.tests.test_oauth.logger" class="py-name" href="#" onclick="return doclink('link-8', 'logger', 'link-4');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt><tt class="py-string">"parameters: %r"</tt><tt class="py-op">,</tt> <tt class="py-name">parameters</tt><tt class="py-op">)</tt> </tt>
<a name="L53"></a><tt class="py-lineno"> 53</tt> <tt class="py-line"> <tt id="link-9" class="py-name"><a title="scapi.authentication.logger
scapi.logger
scapi.tests.scapi_tests.logger
scapi.tests.test_connect.logger
scapi.tests.test_oauth.logger" class="py-name" href="#" onclick="return doclink('link-9', 'logger', 'link-4');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt><tt class="py-string">"consumer_secret: %r"</tt><tt class="py-op">,</tt> <tt class="py-name">consumer_secret</tt><tt class="py-op">)</tt> </tt>
<a name="L54"></a><tt class="py-lineno"> 54</tt> <tt class="py-line"> <tt id="link-10" class="py-name"><a title="scapi.authentication.logger
scapi.logger
scapi.tests.scapi_tests.logger
scapi.tests.test_connect.logger
scapi.tests.test_oauth.logger" class="py-name" href="#" onclick="return doclink('link-10', 'logger', 'link-4');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt><tt class="py-string">"token_secret: %r"</tt><tt class="py-op">,</tt> <tt class="py-name">token_secret</tt><tt class="py-op">)</tt> </tt>
<a name="L55"></a><tt class="py-lineno"> 55</tt> <tt class="py-line"> <tt id="link-11" class="py-name"><a title="scapi.authentication.logger
scapi.logger
scapi.tests.scapi_tests.logger
scapi.tests.test_connect.logger
scapi.tests.test_oauth.logger" class="py-name" href="#" onclick="return doclink('link-11', 'logger', 'link-4');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt><tt class="py-string">"oauth_parameters: %r"</tt><tt class="py-op">,</tt> <tt class="py-name">oauth_parameters</tt><tt class="py-op">)</tt> </tt>
<a name="L56"></a><tt class="py-lineno"> 56</tt> <tt class="py-line"> </tt>
<a name="L57"></a><tt class="py-lineno"> 57</tt> <tt class="py-line"> </tt>
<a name="L58"></a><tt class="py-lineno"> 58</tt> <tt class="py-line"> <tt class="py-name">temp</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
<a name="L59"></a><tt class="py-lineno"> 59</tt> <tt class="py-line"> <tt class="py-name">temp</tt><tt class="py-op">.</tt><tt class="py-name">update</tt><tt class="py-op">(</tt><tt class="py-name">oauth_parameters</tt><tt class="py-op">)</tt> </tt>
<a name="L60"></a><tt class="py-lineno"> 60</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">p</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-12" class="py-name"><a title="scapi.authentication.OAuthSignatureMethod_HMAC_SHA1.FORBIDDEN" class="py-name" href="#" onclick="return doclink('link-12', 'FORBIDDEN', 'link-5');">FORBIDDEN</a></tt><tt class="py-op">:</tt> </tt>
<a name="L61"></a><tt class="py-lineno"> 61</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">p</tt> <tt class="py-keyword">in</tt> <tt class="py-name">temp</tt><tt class="py-op">:</tt> </tt>
<a name="L62"></a><tt class="py-lineno"> 62</tt> <tt class="py-line"> <tt class="py-keyword">del</tt> <tt class="py-name">temp</tt><tt class="py-op">[</tt><tt class="py-name">p</tt><tt class="py-op">]</tt> </tt>
<a name="L63"></a><tt class="py-lineno"> 63</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">parameters</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
<a name="L64"></a><tt class="py-lineno"> 64</tt> <tt class="py-line"> <tt class="py-name">temp</tt><tt class="py-op">.</tt><tt class="py-name">update</tt><tt class="py-op">(</tt><tt class="py-name">parameters</tt><tt class="py-op">)</tt> </tt>
<a name="L65"></a><tt class="py-lineno"> 65</tt> <tt class="py-line"> <tt class="py-name">sig</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt> </tt>
<a name="L66"></a><tt class="py-lineno"> 66</tt> <tt class="py-line"> <tt id="link-13" class="py-name"><a title="scapi.util.escape" class="py-name" href="#" onclick="return doclink('link-13', 'escape', 'link-2');">escape</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-14" class="py-name" targets="Method scapi.authentication.OAuthSignatureMethod_HMAC_SHA1.get_normalized_http_method()=scapi.authentication.OAuthSignatureMethod_HMAC_SHA1-class.html#get_normalized_http_method"><a title="scapi.authentication.OAuthSignatureMethod_HMAC_SHA1.get_normalized_http_method" class="py-name" href="#" onclick="return doclink('link-14', 'get_normalized_http_method', 'link-14');">get_normalized_http_method</a></tt><tt class="py-op">(</tt><tt class="py-name">request</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
<a name="L67"></a><tt class="py-lineno"> 67</tt> <tt class="py-line"> <tt id="link-15" class="py-name"><a title="scapi.util.escape" class="py-name" href="#" onclick="return doclink('link-15', 'escape', 'link-2');">escape</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-16" class="py-name" targets="Method scapi.authentication.OAuthSignatureMethod_HMAC_SHA1.get_normalized_http_url()=scapi.authentication.OAuthSignatureMethod_HMAC_SHA1-class.html#get_normalized_http_url"><a title="scapi.authentication.OAuthSignatureMethod_HMAC_SHA1.get_normalized_http_url" class="py-name" href="#" onclick="return doclink('link-16', 'get_normalized_http_url', 'link-16');">get_normalized_http_url</a></tt><tt class="py-op">(</tt><tt class="py-name">request</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
<a name="L68"></a><tt class="py-lineno"> 68</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-17" class="py-name" targets="Method scapi.authentication.OAuthSignatureMethod_HMAC_SHA1.get_normalized_parameters()=scapi.authentication.OAuthSignatureMethod_HMAC_SHA1-class.html#get_normalized_parameters"><a title="scapi.authentication.OAuthSignatureMethod_HMAC_SHA1.get_normalized_parameters" class="py-name" href="#" onclick="return doclink('link-17', 'get_normalized_parameters', 'link-17');">get_normalized_parameters</a></tt><tt class="py-op">(</tt><tt class="py-name">temp</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-comment"># these are escaped in the method already</tt> </tt>
<a name="L69"></a><tt class="py-lineno"> 69</tt> <tt class="py-line"> <tt class="py-op">)</tt> </tt>
<a name="L70"></a><tt class="py-lineno"> 70</tt> <tt class="py-line"> </tt>
<a name="L71"></a><tt class="py-lineno"> 71</tt> <tt class="py-line"> <tt class="py-name">key</tt> <tt class="py-op">=</tt> <tt class="py-string">'%s&amp;'</tt> <tt class="py-op">%</tt> <tt class="py-name">consumer_secret</tt> </tt>
<a name="L72"></a><tt class="py-lineno"> 72</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">token_secret</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
<a name="L73"></a><tt class="py-lineno"> 73</tt> <tt class="py-line"> <tt class="py-name">key</tt> <tt class="py-op">+=</tt> <tt class="py-name">token_secret</tt> </tt>
<a name="L74"></a><tt class="py-lineno"> 74</tt> <tt class="py-line"> <tt class="py-name">raw</tt> <tt class="py-op">=</tt> <tt class="py-string">'&amp;'</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">sig</tt><tt class="py-op">)</tt> </tt>
<a name="L75"></a><tt class="py-lineno"> 75</tt> <tt class="py-line"> <tt id="link-18" class="py-name"><a title="scapi.authentication.logger
scapi.logger
scapi.tests.scapi_tests.logger
scapi.tests.test_connect.logger
scapi.tests.test_oauth.logger" class="py-name" href="#" onclick="return doclink('link-18', 'logger', 'link-4');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt><tt class="py-string">"raw basestring: %s"</tt><tt class="py-op">,</tt> <tt class="py-name">raw</tt><tt class="py-op">)</tt> </tt>
<a name="L76"></a><tt class="py-lineno"> 76</tt> <tt class="py-line"> <tt id="link-19" class="py-name"><a title="scapi.authentication.logger
scapi.logger
scapi.tests.scapi_tests.logger
scapi.tests.test_connect.logger
scapi.tests.test_oauth.logger" class="py-name" href="#" onclick="return doclink('link-19', 'logger', 'link-4');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt><tt class="py-string">"key: %s"</tt><tt class="py-op">,</tt> <tt class="py-name">key</tt><tt class="py-op">)</tt> </tt>
<a name="L77"></a><tt class="py-lineno"> 77</tt> <tt class="py-line"> <tt class="py-comment"># hmac object</tt> </tt>
<a name="L78"></a><tt class="py-lineno"> 78</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-name">hashed</tt> <tt class="py-op">=</tt> <tt class="py-name">hmac</tt><tt class="py-op">.</tt><tt id="link-20" class="py-name" targets="Class Method scapi.RESTBase.new()=scapi.RESTBase-class.html#new"><a title="scapi.RESTBase.new" class="py-name" href="#" onclick="return doclink('link-20', 'new', 'link-20');">new</a></tt><tt class="py-op">(</tt><tt class="py-name">key</tt><tt class="py-op">,</tt> <tt class="py-name">raw</tt><tt class="py-op">,</tt> <tt class="py-name">hashlib</tt><tt class="py-op">.</tt><tt class="py-name">sha1</tt><tt class="py-op">)</tt> </tt>
<a name="L79"></a><tt class="py-lineno"> 79</tt> <tt class="py-line"> <tt class="py-comment"># calculate the digest base 64</tt> </tt>
<a name="L80"></a><tt class="py-lineno"> 80</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-name">signature</tt> <tt class="py-op">=</tt> <tt id="link-21" class="py-name"><a title="scapi.util.escape" class="py-name" href="#" onclick="return doclink('link-21', 'escape', 'link-2');">escape</a></tt><tt class="py-op">(</tt><tt class="py-name">base64</tt><tt class="py-op">.</tt><tt class="py-name">b64encode</tt><tt class="py-op">(</tt><tt class="py-name">hashed</tt><tt class="py-op">.</tt><tt class="py-name">digest</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
<a name="L81"></a><tt class="py-lineno"> 81</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">signature</tt> </tt>
</div><a name="L82"></a><tt class="py-lineno"> 82</tt> <tt class="py-line"> </tt>
<a name="L83"></a><tt class="py-lineno"> 83</tt> <tt class="py-line"> </tt>
<a name="OAuthSignatureMethod_HMAC_SHA1.get_normalized_http_method"></a><div id="OAuthSignatureMethod_HMAC_SHA1.get_normalized_http_method-def"><a name="L84"></a><tt class="py-lineno"> 84</tt> <a class="py-toggle" href="#" id="OAuthSignatureMethod_HMAC_SHA1.get_normalized_http_method-toggle" onclick="return toggle('OAuthSignatureMethod_HMAC_SHA1.get_normalized_http_method');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="scapi.authentication.OAuthSignatureMethod_HMAC_SHA1-class.html#get_normalized_http_method">get_normalized_http_method</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">request</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="OAuthSignatureMethod_HMAC_SHA1.get_normalized_http_method-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="OAuthSignatureMethod_HMAC_SHA1.get_normalized_http_method-expanded"><a name="L85"></a><tt class="py-lineno"> 85</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">request</tt><tt class="py-op">.</tt><tt class="py-name">get_method</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">upper</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
</div><a name="L86"></a><tt class="py-lineno"> 86</tt> <tt class="py-line"> </tt>
<a name="L87"></a><tt class="py-lineno"> 87</tt> <tt class="py-line"> </tt>
<a name="L88"></a><tt class="py-lineno"> 88</tt> <tt class="py-line"> <tt class="py-comment"># parses the url and rebuilds it to be scheme://host/path</tt> </tt>
<a name="OAuthSignatureMethod_HMAC_SHA1.get_normalized_http_url"></a><div id="OAuthSignatureMethod_HMAC_SHA1.get_normalized_http_url-def"><a name="L89"></a><tt class="py-lineno"> 89</tt> <a class="py-toggle" href="#" id="OAuthSignatureMethod_HMAC_SHA1.get_normalized_http_url-toggle" onclick="return toggle('OAuthSignatureMethod_HMAC_SHA1.get_normalized_http_url');">-</a><tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">def</tt> <a class="py-def-name" href="scapi.authentication.OAuthSignatureMethod_HMAC_SHA1-class.html#get_normalized_http_url">get_normalized_http_url</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">request</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="OAuthSignatureMethod_HMAC_SHA1.get_normalized_http_url-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="OAuthSignatureMethod_HMAC_SHA1.get_normalized_http_url-expanded"><a name="L90"></a><tt class="py-lineno"> 90</tt> <tt class="py-line"> <tt class="py-name">url</tt> <tt class="py-op">=</tt> <tt class="py-name">request</tt><tt class="py-op">.</tt><tt class="py-name">get_full_url</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L91"></a><tt class="py-lineno"> 91</tt> <tt class="py-line"> <tt class="py-name">parts</tt> <tt class="py-op">=</tt> <tt class="py-name">urlparse</tt><tt class="py-op">.</tt><tt class="py-name">urlparse</tt><tt class="py-op">(</tt><tt class="py-name">url</tt><tt class="py-op">)</tt> </tt>
<a name="L92"></a><tt class="py-lineno"> 92</tt> <tt class="py-line"> <tt class="py-name">url_string</tt> <tt class="py-op">=</tt> <tt class="py-string">'%s://%s%s'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">parts</tt><tt class="py-op">.</tt><tt class="py-name">scheme</tt><tt class="py-op">,</tt> <tt class="py-name">parts</tt><tt class="py-op">.</tt><tt class="py-name">netloc</tt><tt class="py-op">,</tt> <tt class="py-name">parts</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">)</tt> </tt>
<a name="L93"></a><tt class="py-lineno"> 93</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">url_string</tt> </tt>
</div><a name="L94"></a><tt class="py-lineno"> 94</tt> <tt class="py-line"> </tt>
<a name="L95"></a><tt class="py-lineno"> 95</tt> <tt class="py-line"> </tt>
<a name="OAuthSignatureMethod_HMAC_SHA1.get_normalized_parameters"></a><div id="OAuthSignatureMethod_HMAC_SHA1.get_normalized_parameters-def"><a name="L96"></a><tt class="py-lineno"> 96</tt> <a class="py-toggle" href="#" id="OAuthSignatureMethod_HMAC_SHA1.get_normalized_parameters-toggle" onclick="return toggle('OAuthSignatureMethod_HMAC_SHA1.get_normalized_parameters');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="scapi.authentication.OAuthSignatureMethod_HMAC_SHA1-class.html#get_normalized_parameters">get_normalized_parameters</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">params</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="OAuthSignatureMethod_HMAC_SHA1.get_normalized_parameters-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="OAuthSignatureMethod_HMAC_SHA1.get_normalized_parameters-expanded"><a name="L97"></a><tt class="py-lineno"> 97</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">params</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
<a name="L98"></a><tt class="py-lineno"> 98</tt> <tt class="py-line"> <tt class="py-name">params</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
<a name="L99"></a><tt class="py-lineno"> 99</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
<a name="L100"></a><tt class="py-lineno">100</tt> <tt class="py-line"> <tt class="py-comment"># exclude the signature if it exists</tt> </tt>
<a name="L101"></a><tt class="py-lineno">101</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">del</tt> <tt class="py-name">params</tt><tt class="py-op">[</tt><tt class="py-string">'oauth_signature'</tt><tt class="py-op">]</tt> </tt>
<a name="L102"></a><tt class="py-lineno">102</tt> <tt class="py-line"> <tt class="py-keyword">except</tt><tt class="py-op">:</tt> </tt>
<a name="L103"></a><tt class="py-lineno">103</tt> <tt class="py-line"> <tt class="py-keyword">pass</tt> </tt>
<a name="L104"></a><tt class="py-lineno">104</tt> <tt class="py-line"> <tt class="py-name">key_values</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
<a name="L105"></a><tt class="py-lineno">105</tt> <tt class="py-line"> </tt>
<a name="L106"></a><tt class="py-lineno">106</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">key</tt><tt class="py-op">,</tt> <tt class="py-name">values</tt> <tt class="py-keyword">in</tt> <tt class="py-name">params</tt><tt class="py-op">.</tt><tt class="py-name">iteritems</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L107"></a><tt class="py-lineno">107</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">values</tt><tt class="py-op">,</tt> <tt class="py-name">file</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L108"></a><tt class="py-lineno">108</tt> <tt class="py-line"> <tt class="py-keyword">continue</tt> </tt>
<a name="L109"></a><tt class="py-lineno">109</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">values</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-name">int</tt><tt class="py-op">,</tt> <tt class="py-name">long</tt><tt class="py-op">,</tt> <tt class="py-name">float</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L110"></a><tt class="py-lineno">110</tt> <tt class="py-line"> <tt class="py-name">values</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">values</tt><tt class="py-op">)</tt> </tt>
<a name="L111"></a><tt class="py-lineno">111</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">values</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-name">list</tt><tt class="py-op">,</tt> <tt class="py-name">tuple</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L112"></a><tt class="py-lineno">112</tt> <tt class="py-line"> <tt class="py-name">values</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">v</tt><tt class="py-op">)</tt> <tt class="py-keyword">for</tt> <tt class="py-name">v</tt> <tt class="py-keyword">in</tt> <tt class="py-name">values</tt><tt class="py-op">]</tt> </tt>
<a name="L113"></a><tt class="py-lineno">113</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">values</tt><tt class="py-op">,</tt> <tt class="py-name">basestring</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L114"></a><tt class="py-lineno">114</tt> <tt class="py-line"> <tt class="py-name">values</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">values</tt><tt class="py-op">]</tt> </tt>
<a name="L115"></a><tt class="py-lineno">115</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-22" class="py-name"><a title="scapi.authentication.USE_DOUBLE_ESCAPE_HACK" class="py-name" href="#" onclick="return doclink('link-22', 'USE_DOUBLE_ESCAPE_HACK', 'link-3');">USE_DOUBLE_ESCAPE_HACK</a></tt> <tt class="py-keyword">and</tt> <tt class="py-keyword">not</tt> <tt class="py-name">key</tt><tt class="py-op">.</tt><tt class="py-name">startswith</tt><tt class="py-op">(</tt><tt class="py-string">"ouath"</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L116"></a><tt class="py-lineno">116</tt> <tt class="py-line"> <tt class="py-name">key</tt> <tt class="py-op">=</tt> <tt id="link-23" class="py-name"><a title="scapi.util.escape" class="py-name" href="#" onclick="return doclink('link-23', 'escape', 'link-2');">escape</a></tt><tt class="py-op">(</tt><tt class="py-name">key</tt><tt class="py-op">)</tt> </tt>
<a name="L117"></a><tt class="py-lineno">117</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">v</tt> <tt class="py-keyword">in</tt> <tt class="py-name">values</tt><tt class="py-op">:</tt> </tt>
<a name="L118"></a><tt class="py-lineno">118</tt> <tt class="py-line"> <tt class="py-name">v</tt> <tt class="py-op">=</tt> <tt class="py-name">v</tt><tt class="py-op">.</tt><tt class="py-name">encode</tt><tt class="py-op">(</tt><tt class="py-string">"utf-8"</tt><tt class="py-op">)</tt> </tt>
<a name="L119"></a><tt class="py-lineno">119</tt> <tt class="py-line"> <tt class="py-name">key</tt> <tt class="py-op">=</tt> <tt class="py-name">key</tt><tt class="py-op">.</tt><tt class="py-name">encode</tt><tt class="py-op">(</tt><tt class="py-string">"utf-8"</tt><tt class="py-op">)</tt> </tt>
<a name="L120"></a><tt class="py-lineno">120</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-24" class="py-name"><a title="scapi.authentication.USE_DOUBLE_ESCAPE_HACK" class="py-name" href="#" onclick="return doclink('link-24', 'USE_DOUBLE_ESCAPE_HACK', 'link-3');">USE_DOUBLE_ESCAPE_HACK</a></tt> <tt class="py-keyword">and</tt> <tt class="py-keyword">not</tt> <tt class="py-name">key</tt><tt class="py-op">.</tt><tt class="py-name">startswith</tt><tt class="py-op">(</tt><tt class="py-string">"oauth"</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L121"></a><tt class="py-lineno">121</tt> <tt class="py-line"> <tt class="py-comment"># this is a dirty hack to make the</tt> </tt>
<a name="L122"></a><tt class="py-lineno">122</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment"># thing work with the current server-side</tt> </tt>
<a name="L123"></a><tt class="py-lineno">123</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment"># implementation. Or is it by spec? </tt> </tt>
<a name="L124"></a><tt class="py-lineno">124</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-name">v</tt> <tt class="py-op">=</tt> <tt id="link-25" class="py-name"><a title="scapi.util.escape" class="py-name" href="#" onclick="return doclink('link-25', 'escape', 'link-2');">escape</a></tt><tt class="py-op">(</tt><tt class="py-name">v</tt><tt class="py-op">)</tt> </tt>
<a name="L125"></a><tt class="py-lineno">125</tt> <tt class="py-line"> <tt class="py-name">key_values</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt id="link-26" class="py-name"><a title="scapi.util.escape" class="py-name" href="#" onclick="return doclink('link-26', 'escape', 'link-2');">escape</a></tt><tt class="py-op">(</tt><tt class="py-string">"%s=%s"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">key</tt><tt class="py-op">,</tt> <tt class="py-name">v</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
<a name="L126"></a><tt class="py-lineno">126</tt> <tt class="py-line"> <tt class="py-comment"># sort lexicographically, first after key, then after value</tt> </tt>
<a name="L127"></a><tt class="py-lineno">127</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-name">key_values</tt><tt class="py-op">.</tt><tt class="py-name">sort</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L128"></a><tt class="py-lineno">128</tt> <tt class="py-line"> <tt class="py-comment"># combine key value pairs in string</tt> </tt>
<a name="L129"></a><tt class="py-lineno">129</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">return</tt> <tt id="link-27" class="py-name"><a title="scapi.util.escape" class="py-name" href="#" onclick="return doclink('link-27', 'escape', 'link-2');">escape</a></tt><tt class="py-op">(</tt><tt class="py-string">'&amp;'</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">key_values</tt><tt class="py-op">)</tt> </tt>
</div></div><a name="L130"></a><tt class="py-lineno">130</tt> <tt class="py-line"> </tt>
<a name="L131"></a><tt class="py-lineno">131</tt> <tt class="py-line"> </tt>
<a name="OAuthAuthenticator"></a><div id="OAuthAuthenticator-def"><a name="L132"></a><tt class="py-lineno">132</tt> <a class="py-toggle" href="#" id="OAuthAuthenticator-toggle" onclick="return toggle('OAuthAuthenticator');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="scapi.authentication.OAuthAuthenticator-class.html">OAuthAuthenticator</a><tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="OAuthAuthenticator-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="OAuthAuthenticator-expanded"><a name="L133"></a><tt class="py-lineno">133</tt> <tt class="py-line"> <tt id="link-28" class="py-name" targets="Variable scapi.authentication.OAuthAuthenticator.OAUTH_API_VERSION=scapi.authentication.OAuthAuthenticator-class.html#OAUTH_API_VERSION"><a title="scapi.authentication.OAuthAuthenticator.OAUTH_API_VERSION" class="py-name" href="#" onclick="return doclink('link-28', 'OAUTH_API_VERSION', 'link-28');">OAUTH_API_VERSION</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'1.0'</tt> </tt>
<a name="L134"></a><tt class="py-lineno">134</tt> <tt class="py-line"> <tt id="link-29" class="py-name" targets="Variable scapi.authentication.OAuthAuthenticator.AUTHORIZATION_HEADER=scapi.authentication.OAuthAuthenticator-class.html#AUTHORIZATION_HEADER"><a title="scapi.authentication.OAuthAuthenticator.AUTHORIZATION_HEADER" class="py-name" href="#" onclick="return doclink('link-29', 'AUTHORIZATION_HEADER', 'link-29');">AUTHORIZATION_HEADER</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"Authorization"</tt> </tt>
<a name="L135"></a><tt class="py-lineno">135</tt> <tt class="py-line"> </tt>
<a name="OAuthAuthenticator.__init__"></a><div id="OAuthAuthenticator.__init__-def"><a name="L136"></a><tt class="py-lineno">136</tt> <a class="py-toggle" href="#" id="OAuthAuthenticator.__init__-toggle" onclick="return toggle('OAuthAuthenticator.__init__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="scapi.authentication.OAuthAuthenticator-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">consumer</tt><tt class="py-op">,</tt> <tt class="py-param">consumer_secret</tt><tt class="py-op">,</tt> <tt class="py-param">token</tt><tt class="py-op">,</tt> <tt class="py-param">secret</tt><tt class="py-op">,</tt> <tt class="py-param">signature_method</tt><tt class="py-op">=</tt><tt id="link-30" class="py-name" targets="Class scapi.authentication.OAuthSignatureMethod_HMAC_SHA1=scapi.authentication.OAuthSignatureMethod_HMAC_SHA1-class.html"><a title="scapi.authentication.OAuthSignatureMethod_HMAC_SHA1" class="py-name" href="#" onclick="return doclink('link-30', 'OAuthSignatureMethod_HMAC_SHA1', 'link-30');">OAuthSignatureMethod_HMAC_SHA1</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="OAuthAuthenticator.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="OAuthAuthenticator.__init__-expanded"><a name="L137"></a><tt class="py-lineno">137</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_consumer</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_token</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_secret</tt> <tt class="py-op">=</tt> <tt class="py-name">consumer</tt><tt class="py-op">,</tt> <tt class="py-name">token</tt><tt class="py-op">,</tt> <tt class="py-name">secret</tt> </tt>
<a name="L138"></a><tt class="py-lineno">138</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_consumer_secret</tt> <tt class="py-op">=</tt> <tt class="py-name">consumer_secret</tt> </tt>
<a name="L139"></a><tt class="py-lineno">139</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_signature_method</tt> <tt class="py-op">=</tt> <tt class="py-name">signature_method</tt> </tt>
<a name="L140"></a><tt class="py-lineno">140</tt> <tt class="py-line"> <tt class="py-name">random</tt><tt class="py-op">.</tt><tt class="py-name">seed</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
</div><a name="L141"></a><tt class="py-lineno">141</tt> <tt class="py-line"> </tt>
<a name="L142"></a><tt class="py-lineno">142</tt> <tt class="py-line"> </tt>
<a name="OAuthAuthenticator.augment_request"></a><div id="OAuthAuthenticator.augment_request-def"><a name="L143"></a><tt class="py-lineno">143</tt> <a class="py-toggle" href="#" id="OAuthAuthenticator.augment_request-toggle" onclick="return toggle('OAuthAuthenticator.augment_request');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="scapi.authentication.OAuthAuthenticator-class.html#augment_request">augment_request</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">req</tt><tt class="py-op">,</tt> <tt class="py-param">parameters</tt><tt class="py-op">,</tt> <tt class="py-param">use_multipart</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">,</tt> <tt class="py-param">oauth_callback</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">oauth_verifier</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="OAuthAuthenticator.augment_request-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="OAuthAuthenticator.augment_request-expanded"><a name="L144"></a><tt class="py-lineno">144</tt> <tt class="py-line"> <tt class="py-name">oauth_parameters</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> </tt>
<a name="L145"></a><tt class="py-lineno">145</tt> <tt class="py-line"> <tt class="py-string">'oauth_consumer_key'</tt><tt class="py-op">:</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_consumer</tt><tt class="py-op">,</tt> </tt>
<a name="L146"></a><tt class="py-lineno">146</tt> <tt class="py-line"> <tt class="py-string">'oauth_timestamp'</tt><tt class="py-op">:</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-31" class="py-name" targets="Method scapi.authentication.OAuthAuthenticator.generate_timestamp()=scapi.authentication.OAuthAuthenticator-class.html#generate_timestamp"><a title="scapi.authentication.OAuthAuthenticator.generate_timestamp" class="py-name" href="#" onclick="return doclink('link-31', 'generate_timestamp', 'link-31');">generate_timestamp</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
<a name="L147"></a><tt class="py-lineno">147</tt> <tt class="py-line"> <tt class="py-string">'oauth_nonce'</tt><tt class="py-op">:</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-32" class="py-name" targets="Method scapi.authentication.OAuthAuthenticator.generate_nonce()=scapi.authentication.OAuthAuthenticator-class.html#generate_nonce"><a title="scapi.authentication.OAuthAuthenticator.generate_nonce" class="py-name" href="#" onclick="return doclink('link-32', 'generate_nonce', 'link-32');">generate_nonce</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
<a name="L148"></a><tt class="py-lineno">148</tt> <tt class="py-line"> <tt class="py-string">'oauth_version'</tt><tt class="py-op">:</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-33" class="py-name"><a title="scapi.authentication.OAuthAuthenticator.OAUTH_API_VERSION" class="py-name" href="#" onclick="return doclink('link-33', 'OAUTH_API_VERSION', 'link-28');">OAUTH_API_VERSION</a></tt><tt class="py-op">,</tt> </tt>
<a name="L149"></a><tt class="py-lineno">149</tt> <tt class="py-line"> <tt class="py-string">'oauth_signature_method'</tt> <tt class="py-op">:</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_signature_method</tt><tt class="py-op">.</tt><tt id="link-34" class="py-name" targets="Method scapi.authentication.OAuthSignatureMethod_HMAC_SHA1.get_name()=scapi.authentication.OAuthSignatureMethod_HMAC_SHA1-class.html#get_name"><a title="scapi.authentication.OAuthSignatureMethod_HMAC_SHA1.get_name" class="py-name" href="#" onclick="return doclink('link-34', 'get_name', 'link-34');">get_name</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
<a name="L150"></a><tt class="py-lineno">150</tt> <tt class="py-line"> <tt class="py-comment">#'realm' : "http://soundcloud.com",</tt> </tt>
<a name="L151"></a><tt class="py-lineno">151</tt> <tt class="py-line"> <tt class="py-op">}</tt> </tt>
<a name="L152"></a><tt class="py-lineno">152</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_token</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
<a name="L153"></a><tt class="py-lineno">153</tt> <tt class="py-line"> <tt class="py-name">oauth_parameters</tt><tt class="py-op">[</tt><tt class="py-string">'oauth_token'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_token</tt> </tt>
<a name="L154"></a><tt class="py-lineno">154</tt> <tt class="py-line"> </tt>
<a name="L155"></a><tt class="py-lineno">155</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">oauth_callback</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
<a name="L156"></a><tt class="py-lineno">156</tt> <tt class="py-line"> <tt class="py-name">oauth_parameters</tt><tt class="py-op">[</tt><tt class="py-string">'oauth_callback'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">oauth_callback</tt> </tt>
<a name="L157"></a><tt class="py-lineno">157</tt> <tt class="py-line"> </tt>
<a name="L158"></a><tt class="py-lineno">158</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">oauth_verifier</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
<a name="L159"></a><tt class="py-lineno">159</tt> <tt class="py-line"> <tt class="py-name">oauth_parameters</tt><tt class="py-op">[</tt><tt class="py-string">'oauth_verifier'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">oauth_verifier</tt> </tt>
<a name="L160"></a><tt class="py-lineno">160</tt> <tt class="py-line"> </tt>
<a name="L161"></a><tt class="py-lineno">161</tt> <tt class="py-line"> <tt class="py-comment"># in case we upload large files, we don't</tt> </tt>
<a name="L162"></a><tt class="py-lineno">162</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment"># sign the request over the parameters</tt> </tt>
<a name="L163"></a><tt class="py-lineno">163</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">if</tt> <tt class="py-name">use_multipart</tt><tt class="py-op">:</tt> </tt>
<a name="L164"></a><tt class="py-lineno">164</tt> <tt class="py-line"> <tt class="py-name">parameters</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
<a name="L165"></a><tt class="py-lineno">165</tt> <tt class="py-line"> </tt>
<a name="L166"></a><tt class="py-lineno">166</tt> <tt class="py-line"> <tt class="py-name">oauth_parameters</tt><tt class="py-op">[</tt><tt class="py-string">'oauth_signature'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_signature_method</tt><tt class="py-op">.</tt><tt id="link-35" class="py-name" targets="Method scapi.authentication.OAuthSignatureMethod_HMAC_SHA1.build_signature()=scapi.authentication.OAuthSignatureMethod_HMAC_SHA1-class.html#build_signature"><a title="scapi.authentication.OAuthSignatureMethod_HMAC_SHA1.build_signature" class="py-name" href="#" onclick="return doclink('link-35', 'build_signature', 'link-35');">build_signature</a></tt><tt class="py-op">(</tt><tt class="py-name">req</tt><tt class="py-op">,</tt> </tt>
<a name="L167"></a><tt class="py-lineno">167</tt> <tt class="py-line"> <tt class="py-name">parameters</tt><tt class="py-op">,</tt> </tt>
<a name="L168"></a><tt class="py-lineno">168</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_consumer_secret</tt><tt class="py-op">,</tt> </tt>
<a name="L169"></a><tt class="py-lineno">169</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_secret</tt><tt class="py-op">,</tt> </tt>
<a name="L170"></a><tt class="py-lineno">170</tt> <tt class="py-line"> <tt class="py-name">oauth_parameters</tt><tt class="py-op">)</tt> </tt>
<a name="L171"></a><tt class="py-lineno">171</tt> <tt class="py-line"> <tt class="py-keyword">def</tt> <tt class="py-def-name">to_header</tt><tt class="py-op">(</tt><tt class="py-param">d</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L172"></a><tt class="py-lineno">172</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">","</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-string">'%s="%s"'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">key</tt><tt class="py-op">,</tt> <tt class="py-name">value</tt><tt class="py-op">)</tt> <tt class="py-keyword">for</tt> <tt class="py-name">key</tt><tt class="py-op">,</tt> <tt class="py-name">value</tt> <tt class="py-keyword">in</tt> <tt class="py-name">sorted</tt><tt class="py-op">(</tt><tt class="py-name">oauth_parameters</tt><tt class="py-op">.</tt><tt class="py-name">items</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
</div><a name="L173"></a><tt class="py-lineno">173</tt> <tt class="py-line"> </tt>
<a name="L174"></a><tt class="py-lineno">174</tt> <tt class="py-line"> <tt class="py-name">req</tt><tt class="py-op">.</tt><tt class="py-name">add_header</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-36" class="py-name"><a title="scapi.authentication.OAuthAuthenticator.AUTHORIZATION_HEADER" class="py-name" href="#" onclick="return doclink('link-36', 'AUTHORIZATION_HEADER', 'link-29');">AUTHORIZATION_HEADER</a></tt><tt class="py-op">,</tt> <tt class="py-string">"OAuth %s"</tt> <tt class="py-op">%</tt> <tt class="py-name">to_header</tt><tt class="py-op">(</tt><tt class="py-name">oauth_parameters</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
</div><a name="L175"></a><tt class="py-lineno">175</tt> <tt class="py-line"> </tt>
<a name="OAuthAuthenticator.generate_timestamp"></a><div id="OAuthAuthenticator.generate_timestamp-def"><a name="L176"></a><tt class="py-lineno">176</tt> <a class="py-toggle" href="#" id="OAuthAuthenticator.generate_timestamp-toggle" onclick="return toggle('OAuthAuthenticator.generate_timestamp');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="scapi.authentication.OAuthAuthenticator-class.html#generate_timestamp">generate_timestamp</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="OAuthAuthenticator.generate_timestamp-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="OAuthAuthenticator.generate_timestamp-expanded"><a name="L177"></a><tt class="py-lineno">177</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-comment"># * 1000.0)</tt> </tt>
</div><a name="L178"></a><tt class="py-lineno">178</tt> <tt class="py-line"> </tt>
<a name="OAuthAuthenticator.generate_nonce"></a><div id="OAuthAuthenticator.generate_nonce-def"><a name="L179"></a><tt class="py-lineno">179</tt> <a class="py-toggle" href="#" id="OAuthAuthenticator.generate_nonce-toggle" onclick="return toggle('OAuthAuthenticator.generate_nonce');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="scapi.authentication.OAuthAuthenticator-class.html#generate_nonce">generate_nonce</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">length</tt><tt class="py-op">=</tt><tt class="py-number">8</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="OAuthAuthenticator.generate_nonce-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="OAuthAuthenticator.generate_nonce-expanded"><a name="L180"></a><tt class="py-lineno">180</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">''</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">random</tt><tt class="py-op">.</tt><tt class="py-name">randint</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-number">9</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-name">length</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
</div></div><a name="L181"></a><tt class="py-lineno">181</tt> <tt class="py-line"> </tt>
<a name="L182"></a><tt class="py-lineno">182</tt> <tt class="py-line"> </tt>
<a name="BasicAuthenticator"></a><div id="BasicAuthenticator-def"><a name="L183"></a><tt class="py-lineno">183</tt> <a class="py-toggle" href="#" id="BasicAuthenticator-toggle" onclick="return toggle('BasicAuthenticator');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="scapi.authentication.BasicAuthenticator-class.html">BasicAuthenticator</a><tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="BasicAuthenticator-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="BasicAuthenticator-expanded"><a name="L184"></a><tt class="py-lineno">184</tt> <tt class="py-line"> </tt>
<a name="BasicAuthenticator.__init__"></a><div id="BasicAuthenticator.__init__-def"><a name="L185"></a><tt class="py-lineno">185</tt> <a class="py-toggle" href="#" id="BasicAuthenticator.__init__-toggle" onclick="return toggle('BasicAuthenticator.__init__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="scapi.authentication.BasicAuthenticator-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">user</tt><tt class="py-op">,</tt> <tt class="py-param">password</tt><tt class="py-op">,</tt> <tt class="py-param">consumer</tt><tt class="py-op">,</tt> <tt class="py-param">consumer_secret</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="BasicAuthenticator.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="BasicAuthenticator.__init__-expanded"><a name="L186"></a><tt class="py-lineno">186</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_base64string</tt> <tt class="py-op">=</tt> <tt class="py-name">base64</tt><tt class="py-op">.</tt><tt class="py-name">encodestring</tt><tt class="py-op">(</tt><tt class="py-string">"%s:%s"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">user</tt><tt class="py-op">,</tt> <tt class="py-name">password</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> </tt>
<a name="L187"></a><tt class="py-lineno">187</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_x_auth_header</tt> <tt class="py-op">=</tt> <tt class="py-string">'OAuth oauth_consumer_key="%s" oauth_consumer_secret="%s"'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">consumer</tt><tt class="py-op">,</tt> <tt class="py-name">consumer_secret</tt><tt class="py-op">)</tt> </tt>
</div><a name="L188"></a><tt class="py-lineno">188</tt> <tt class="py-line"> </tt>
<a name="BasicAuthenticator.augment_request"></a><div id="BasicAuthenticator.augment_request-def"><a name="L189"></a><tt class="py-lineno">189</tt> <a class="py-toggle" href="#" id="BasicAuthenticator.augment_request-toggle" onclick="return toggle('BasicAuthenticator.augment_request');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="scapi.authentication.BasicAuthenticator-class.html#augment_request">augment_request</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">req</tt><tt class="py-op">,</tt> <tt class="py-param">parameters</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="BasicAuthenticator.augment_request-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="BasicAuthenticator.augment_request-expanded"><a name="L190"></a><tt class="py-lineno">190</tt> <tt class="py-line"> <tt class="py-name">req</tt><tt class="py-op">.</tt><tt class="py-name">add_header</tt><tt class="py-op">(</tt><tt class="py-string">"Authorization"</tt><tt class="py-op">,</tt> <tt class="py-string">"Basic %s"</tt> <tt class="py-op">%</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_base64string</tt><tt class="py-op">)</tt> </tt>
<a name="L191"></a><tt class="py-lineno">191</tt> <tt class="py-line"> <tt class="py-name">req</tt><tt class="py-op">.</tt><tt class="py-name">add_header</tt><tt class="py-op">(</tt><tt class="py-string">"X-Authorization"</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_x_auth_header</tt><tt class="py-op">)</tt> </tt>
</div></div><a name="L192"></a><tt class="py-lineno">192</tt> <tt class="py-line"> </tt><script type="text/javascript">
<!--
expandto(location.href);
// -->
</script>
</pre>
<br />
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
bgcolor="#a0c0ff" cellspacing="0">
<tr valign="middle">
<!-- Home link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="scapi-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Tree link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Index link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Help link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Project homepage -->
<th class="navbar" align="right" width="100%">
<table border="0" cellpadding="0" cellspacing="0">
<tr><th class="navbar" align="center"
>SoundCloud API</th>
</tr></table></th>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
Generated by Epydoc 3.0.1 on Thu Sep 10 00:58:50 2009
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
>http://epydoc.sourceforge.net</a>
</td>
</tr>
</table>
<script type="text/javascript">
<!--
// Private objects are initially displayed (because if
// javascript is turned off then we want them to be
// visible); but by default, we want to hide them. So hide
// them unless we have a cookie that says to show them.
checkCookie();
// -->
</script>
</body>
</html>

View file

@ -0,0 +1,267 @@
<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>scapi.authentication.BasicAuthenticator</title>
<link rel="stylesheet" href="epydoc.css" type="text/css" />
<script type="text/javascript" src="epydoc.js"></script>
</head>
<body bgcolor="white" text="black" link="blue" vlink="#204080"
alink="#204080">
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
bgcolor="#a0c0ff" cellspacing="0">
<tr valign="middle">
<!-- Home link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="scapi-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Tree link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Index link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Help link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Project homepage -->
<th class="navbar" align="right" width="100%">
<table border="0" cellpadding="0" cellspacing="0">
<tr><th class="navbar" align="center"
>SoundCloud API</th>
</tr></table></th>
</tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0">
<tr valign="top">
<td width="100%">
<span class="breadcrumbs">
<a href="scapi-module.html">Package&nbsp;scapi</a> ::
<a href="scapi.authentication-module.html" onclick="show_private();">Module&nbsp;authentication</a> ::
Class&nbsp;BasicAuthenticator
</span>
</td>
<td>
<table cellpadding="0" cellspacing="0">
<!-- hide/show private -->
<tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
<tr><td align="right"><span class="options"
>[<a href="frames.html" target="_top">frames</a
>]&nbsp;|&nbsp;<a href="scapi.authentication.BasicAuthenticator-class.html"
target="_top">no&nbsp;frames</a>]</span></td></tr>
</table>
</td>
</tr>
</table>
<!-- ==================== CLASS DESCRIPTION ==================== -->
<h1 class="epydoc">Class BasicAuthenticator</h1><p class="nomargin-top"><span class="codelink"><a href="scapi.authentication-pysrc.html#BasicAuthenticator">source&nbsp;code</a></span></p>
<pre class="base-tree">
object --+
|
<strong class="uidshort">BasicAuthenticator</strong>
</pre>
<hr />
<!-- ==================== INSTANCE METHODS ==================== -->
<a name="section-InstanceMethods"></a>
<table class="summary" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Instance Methods</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-InstanceMethods"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="scapi.authentication.BasicAuthenticator-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">user</span>,
<span class="summary-sig-arg">password</span>,
<span class="summary-sig-arg">consumer</span>,
<span class="summary-sig-arg">consumer_secret</span>)</span><br />
x.__init__(...) initializes x; see x.__class__.__doc__ for signature</td>
<td align="right" valign="top">
<span class="codelink"><a href="scapi.authentication-pysrc.html#BasicAuthenticator.__init__">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="augment_request"></a><span class="summary-sig-name">augment_request</span>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">req</span>,
<span class="summary-sig-arg">parameters</span>)</span></td>
<td align="right" valign="top">
<span class="codelink"><a href="scapi.authentication-pysrc.html#BasicAuthenticator.augment_request">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td colspan="2" class="summary">
<p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
<code>__delattr__</code>,
<code>__getattribute__</code>,
<code>__hash__</code>,
<code>__new__</code>,
<code>__reduce__</code>,
<code>__reduce_ex__</code>,
<code>__repr__</code>,
<code>__setattr__</code>,
<code>__str__</code>
</p>
</td>
</tr>
</table>
<!-- ==================== PROPERTIES ==================== -->
<a name="section-Properties"></a>
<table class="summary" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Properties</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-Properties"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
<tr>
<td colspan="2" class="summary">
<p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
<code>__class__</code>
</p>
</td>
</tr>
</table>
<!-- ==================== METHOD DETAILS ==================== -->
<a name="section-MethodDetails"></a>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Method Details</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-MethodDetails"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
</table>
<a name="__init__"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
<span class="sig-arg">user</span>,
<span class="sig-arg">password</span>,
<span class="sig-arg">consumer</span>,
<span class="sig-arg">consumer_secret</span>)</span>
<br /><em class="fname">(Constructor)</em>
</h3>
</td><td align="right" valign="top"
><span class="codelink"><a href="scapi.authentication-pysrc.html#BasicAuthenticator.__init__">source&nbsp;code</a></span>&nbsp;
</td>
</tr></table>
<p>x.__init__(...) initializes x; see x.__class__.__doc__ for
signature</p>
<dl class="fields">
<dt>Overrides:
object.__init__
<dd><em class="note">(inherited documentation)</em></dd>
</dt>
</dl>
</td></tr></table>
</div>
<br />
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
bgcolor="#a0c0ff" cellspacing="0">
<tr valign="middle">
<!-- Home link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="scapi-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Tree link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Index link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Help link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Project homepage -->
<th class="navbar" align="right" width="100%">
<table border="0" cellpadding="0" cellspacing="0">
<tr><th class="navbar" align="center"
>SoundCloud API</th>
</tr></table></th>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
Generated by Epydoc 3.0.1 on Thu Sep 10 00:58:49 2009
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
>http://epydoc.sourceforge.net</a>
</td>
</tr>
</table>
<script type="text/javascript">
<!--
// Private objects are initially displayed (because if
// javascript is turned off then we want them to be
// visible); but by default, we want to hide them. So hide
// them unless we have a cookie that says to show them.
checkCookie();
// -->
</script>
</body>
</html>

View file

@ -0,0 +1,337 @@
<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>scapi.authentication.OAuthAuthenticator</title>
<link rel="stylesheet" href="epydoc.css" type="text/css" />
<script type="text/javascript" src="epydoc.js"></script>
</head>
<body bgcolor="white" text="black" link="blue" vlink="#204080"
alink="#204080">
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
bgcolor="#a0c0ff" cellspacing="0">
<tr valign="middle">
<!-- Home link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="scapi-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Tree link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Index link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Help link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Project homepage -->
<th class="navbar" align="right" width="100%">
<table border="0" cellpadding="0" cellspacing="0">
<tr><th class="navbar" align="center"
>SoundCloud API</th>
</tr></table></th>
</tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0">
<tr valign="top">
<td width="100%">
<span class="breadcrumbs">
<a href="scapi-module.html">Package&nbsp;scapi</a> ::
<a href="scapi.authentication-module.html" onclick="show_private();">Module&nbsp;authentication</a> ::
Class&nbsp;OAuthAuthenticator
</span>
</td>
<td>
<table cellpadding="0" cellspacing="0">
<!-- hide/show private -->
<tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
<tr><td align="right"><span class="options"
>[<a href="frames.html" target="_top">frames</a
>]&nbsp;|&nbsp;<a href="scapi.authentication.OAuthAuthenticator-class.html"
target="_top">no&nbsp;frames</a>]</span></td></tr>
</table>
</td>
</tr>
</table>
<!-- ==================== CLASS DESCRIPTION ==================== -->
<h1 class="epydoc">Class OAuthAuthenticator</h1><p class="nomargin-top"><span class="codelink"><a href="scapi.authentication-pysrc.html#OAuthAuthenticator">source&nbsp;code</a></span></p>
<pre class="base-tree">
object --+
|
<strong class="uidshort">OAuthAuthenticator</strong>
</pre>
<hr />
<!-- ==================== INSTANCE METHODS ==================== -->
<a name="section-InstanceMethods"></a>
<table class="summary" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Instance Methods</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-InstanceMethods"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="scapi.authentication.OAuthAuthenticator-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">consumer</span>,
<span class="summary-sig-arg">consumer_secret</span>,
<span class="summary-sig-arg">token</span>,
<span class="summary-sig-arg">secret</span>,
<span class="summary-sig-arg">signature_method</span>=<span class="summary-sig-default">OAuthSignatureMethod_HMAC_SHA1()</span>)</span><br />
x.__init__(...) initializes x; see x.__class__.__doc__ for signature</td>
<td align="right" valign="top">
<span class="codelink"><a href="scapi.authentication-pysrc.html#OAuthAuthenticator.__init__">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="augment_request"></a><span class="summary-sig-name">augment_request</span>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">req</span>,
<span class="summary-sig-arg">parameters</span>,
<span class="summary-sig-arg">use_multipart</span>=<span class="summary-sig-default">False</span>,
<span class="summary-sig-arg">oauth_callback</span>=<span class="summary-sig-default">None</span>,
<span class="summary-sig-arg">oauth_verifier</span>=<span class="summary-sig-default">None</span>)</span></td>
<td align="right" valign="top">
<span class="codelink"><a href="scapi.authentication-pysrc.html#OAuthAuthenticator.augment_request">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="generate_timestamp"></a><span class="summary-sig-name">generate_timestamp</span>(<span class="summary-sig-arg">self</span>)</span></td>
<td align="right" valign="top">
<span class="codelink"><a href="scapi.authentication-pysrc.html#OAuthAuthenticator.generate_timestamp">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="generate_nonce"></a><span class="summary-sig-name">generate_nonce</span>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">length</span>=<span class="summary-sig-default">8</span>)</span></td>
<td align="right" valign="top">
<span class="codelink"><a href="scapi.authentication-pysrc.html#OAuthAuthenticator.generate_nonce">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td colspan="2" class="summary">
<p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
<code>__delattr__</code>,
<code>__getattribute__</code>,
<code>__hash__</code>,
<code>__new__</code>,
<code>__reduce__</code>,
<code>__reduce_ex__</code>,
<code>__repr__</code>,
<code>__setattr__</code>,
<code>__str__</code>
</p>
</td>
</tr>
</table>
<!-- ==================== CLASS VARIABLES ==================== -->
<a name="section-ClassVariables"></a>
<table class="summary" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Class Variables</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-ClassVariables"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a name="OAUTH_API_VERSION"></a><span class="summary-name">OAUTH_API_VERSION</span> = <code title="'1.0'"><code class="variable-quote">'</code><code class="variable-string">1.0</code><code class="variable-quote">'</code></code>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a name="AUTHORIZATION_HEADER"></a><span class="summary-name">AUTHORIZATION_HEADER</span> = <code title="'Authorization'"><code class="variable-quote">'</code><code class="variable-string">Authorization</code><code class="variable-quote">'</code></code>
</td>
</tr>
</table>
<!-- ==================== PROPERTIES ==================== -->
<a name="section-Properties"></a>
<table class="summary" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Properties</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-Properties"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
<tr>
<td colspan="2" class="summary">
<p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
<code>__class__</code>
</p>
</td>
</tr>
</table>
<!-- ==================== METHOD DETAILS ==================== -->
<a name="section-MethodDetails"></a>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Method Details</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-MethodDetails"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
</table>
<a name="__init__"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
<span class="sig-arg">consumer</span>,
<span class="sig-arg">consumer_secret</span>,
<span class="sig-arg">token</span>,
<span class="sig-arg">secret</span>,
<span class="sig-arg">signature_method</span>=<span class="sig-default">OAuthSignatureMethod_HMAC_SHA1()</span>)</span>
<br /><em class="fname">(Constructor)</em>
</h3>
</td><td align="right" valign="top"
><span class="codelink"><a href="scapi.authentication-pysrc.html#OAuthAuthenticator.__init__">source&nbsp;code</a></span>&nbsp;
</td>
</tr></table>
<p>x.__init__(...) initializes x; see x.__class__.__doc__ for
signature</p>
<dl class="fields">
<dt>Overrides:
object.__init__
<dd><em class="note">(inherited documentation)</em></dd>
</dt>
</dl>
</td></tr></table>
</div>
<br />
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
bgcolor="#a0c0ff" cellspacing="0">
<tr valign="middle">
<!-- Home link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="scapi-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Tree link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Index link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Help link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Project homepage -->
<th class="navbar" align="right" width="100%">
<table border="0" cellpadding="0" cellspacing="0">
<tr><th class="navbar" align="center"
>SoundCloud API</th>
</tr></table></th>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
Generated by Epydoc 3.0.1 on Thu Sep 10 00:58:49 2009
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
>http://epydoc.sourceforge.net</a>
</td>
</tr>
</table>
<script type="text/javascript">
<!--
// Private objects are initially displayed (because if
// javascript is turned off then we want them to be
// visible); but by default, we want to hide them. So hide
// them unless we have a cookie that says to show them.
checkCookie();
// -->
</script>
</body>
</html>

View file

@ -0,0 +1,294 @@
<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>scapi.authentication.OAuthSignatureMethod_HMAC_SHA1</title>
<link rel="stylesheet" href="epydoc.css" type="text/css" />
<script type="text/javascript" src="epydoc.js"></script>
</head>
<body bgcolor="white" text="black" link="blue" vlink="#204080"
alink="#204080">
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
bgcolor="#a0c0ff" cellspacing="0">
<tr valign="middle">
<!-- Home link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="scapi-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Tree link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Index link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Help link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Project homepage -->
<th class="navbar" align="right" width="100%">
<table border="0" cellpadding="0" cellspacing="0">
<tr><th class="navbar" align="center"
>SoundCloud API</th>
</tr></table></th>
</tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0">
<tr valign="top">
<td width="100%">
<span class="breadcrumbs">
<a href="scapi-module.html">Package&nbsp;scapi</a> ::
<a href="scapi.authentication-module.html" onclick="show_private();">Module&nbsp;authentication</a> ::
Class&nbsp;OAuthSignatureMethod_HMAC_SHA1
</span>
</td>
<td>
<table cellpadding="0" cellspacing="0">
<!-- hide/show private -->
<tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
<tr><td align="right"><span class="options"
>[<a href="frames.html" target="_top">frames</a
>]&nbsp;|&nbsp;<a href="scapi.authentication.OAuthSignatureMethod_HMAC_SHA1-class.html"
target="_top">no&nbsp;frames</a>]</span></td></tr>
</table>
</td>
</tr>
</table>
<!-- ==================== CLASS DESCRIPTION ==================== -->
<h1 class="epydoc">Class OAuthSignatureMethod_HMAC_SHA1</h1><p class="nomargin-top"><span class="codelink"><a href="scapi.authentication-pysrc.html#OAuthSignatureMethod_HMAC_SHA1">source&nbsp;code</a></span></p>
<pre class="base-tree">
object --+
|
<strong class="uidshort">OAuthSignatureMethod_HMAC_SHA1</strong>
</pre>
<hr />
<!-- ==================== INSTANCE METHODS ==================== -->
<a name="section-InstanceMethods"></a>
<table class="summary" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Instance Methods</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-InstanceMethods"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="get_name"></a><span class="summary-sig-name">get_name</span>(<span class="summary-sig-arg">self</span>)</span></td>
<td align="right" valign="top">
<span class="codelink"><a href="scapi.authentication-pysrc.html#OAuthSignatureMethod_HMAC_SHA1.get_name">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="build_signature"></a><span class="summary-sig-name">build_signature</span>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">request</span>,
<span class="summary-sig-arg">parameters</span>,
<span class="summary-sig-arg">consumer_secret</span>,
<span class="summary-sig-arg">token_secret</span>,
<span class="summary-sig-arg">oauth_parameters</span>)</span></td>
<td align="right" valign="top">
<span class="codelink"><a href="scapi.authentication-pysrc.html#OAuthSignatureMethod_HMAC_SHA1.build_signature">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="get_normalized_http_method"></a><span class="summary-sig-name">get_normalized_http_method</span>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">request</span>)</span></td>
<td align="right" valign="top">
<span class="codelink"><a href="scapi.authentication-pysrc.html#OAuthSignatureMethod_HMAC_SHA1.get_normalized_http_method">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="get_normalized_http_url"></a><span class="summary-sig-name">get_normalized_http_url</span>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">request</span>)</span></td>
<td align="right" valign="top">
<span class="codelink"><a href="scapi.authentication-pysrc.html#OAuthSignatureMethod_HMAC_SHA1.get_normalized_http_url">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="get_normalized_parameters"></a><span class="summary-sig-name">get_normalized_parameters</span>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">params</span>)</span></td>
<td align="right" valign="top">
<span class="codelink"><a href="scapi.authentication-pysrc.html#OAuthSignatureMethod_HMAC_SHA1.get_normalized_parameters">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td colspan="2" class="summary">
<p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
<code>__delattr__</code>,
<code>__getattribute__</code>,
<code>__hash__</code>,
<code>__init__</code>,
<code>__new__</code>,
<code>__reduce__</code>,
<code>__reduce_ex__</code>,
<code>__repr__</code>,
<code>__setattr__</code>,
<code>__str__</code>
</p>
</td>
</tr>
</table>
<!-- ==================== CLASS VARIABLES ==================== -->
<a name="section-ClassVariables"></a>
<table class="summary" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Class Variables</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-ClassVariables"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a name="FORBIDDEN"></a><span class="summary-name">FORBIDDEN</span> = <code title="['realm', 'oauth_signature']"><code class="variable-group">[</code><code class="variable-quote">'</code><code class="variable-string">realm</code><code class="variable-quote">'</code><code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">oauth_signature</code><code class="variable-quote">'</code><code class="variable-group">]</code></code>
</td>
</tr>
</table>
<!-- ==================== PROPERTIES ==================== -->
<a name="section-Properties"></a>
<table class="summary" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Properties</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-Properties"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
<tr>
<td colspan="2" class="summary">
<p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
<code>__class__</code>
</p>
</td>
</tr>
</table>
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
bgcolor="#a0c0ff" cellspacing="0">
<tr valign="middle">
<!-- Home link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="scapi-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Tree link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Index link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Help link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Project homepage -->
<th class="navbar" align="right" width="100%">
<table border="0" cellpadding="0" cellspacing="0">
<tr><th class="navbar" align="center"
>SoundCloud API</th>
</tr></table></th>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
Generated by Epydoc 3.0.1 on Thu Sep 10 00:58:49 2009
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
>http://epydoc.sourceforge.net</a>
</td>
</tr>
</table>
<script type="text/javascript">
<!--
// Private objects are initially displayed (because if
// javascript is turned off then we want them to be
// visible); but by default, we want to hide them. So hide
// them unless we have a cookie that says to show them.
checkCookie();
// -->
</script>
</body>
</html>

View file

@ -0,0 +1,114 @@
<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>scapi.config</title>
<link rel="stylesheet" href="epydoc.css" type="text/css" />
<script type="text/javascript" src="epydoc.js"></script>
</head>
<body bgcolor="white" text="black" link="blue" vlink="#204080"
alink="#204080">
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
bgcolor="#a0c0ff" cellspacing="0">
<tr valign="middle">
<!-- Home link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="scapi-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Tree link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Index link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Help link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Project homepage -->
<th class="navbar" align="right" width="100%">
<table border="0" cellpadding="0" cellspacing="0">
<tr><th class="navbar" align="center"
>SoundCloud API</th>
</tr></table></th>
</tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0">
<tr valign="top">
<td width="100%">
<span class="breadcrumbs">
<a href="scapi-module.html">Package&nbsp;scapi</a> ::
Module&nbsp;config
</span>
</td>
<td>
<table cellpadding="0" cellspacing="0">
<!-- hide/show private -->
<tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
<tr><td align="right"><span class="options"
>[<a href="frames.html" target="_top">frames</a
>]&nbsp;|&nbsp;<a href="scapi.config-module.html"
target="_top">no&nbsp;frames</a>]</span></td></tr>
</table>
</td>
</tr>
</table>
<!-- ==================== MODULE DESCRIPTION ==================== -->
<h1 class="epydoc">Module config</h1><p class="nomargin-top"><span class="codelink"><a href="scapi.config-pysrc.html">source&nbsp;code</a></span></p>
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
bgcolor="#a0c0ff" cellspacing="0">
<tr valign="middle">
<!-- Home link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="scapi-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Tree link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Index link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Help link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Project homepage -->
<th class="navbar" align="right" width="100%">
<table border="0" cellpadding="0" cellspacing="0">
<tr><th class="navbar" align="center"
>SoundCloud API</th>
</tr></table></th>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
Generated by Epydoc 3.0.1 on Thu Sep 10 00:58:49 2009
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
>http://epydoc.sourceforge.net</a>
</td>
</tr>
</table>
<script type="text/javascript">
<!--
// Private objects are initially displayed (because if
// javascript is turned off then we want them to be
// visible); but by default, we want to hide them. So hide
// them unless we have a cookie that says to show them.
checkCookie();
// -->
</script>
</body>
</html>

View file

@ -0,0 +1,122 @@
<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>scapi.config</title>
<link rel="stylesheet" href="epydoc.css" type="text/css" />
<script type="text/javascript" src="epydoc.js"></script>
</head>
<body bgcolor="white" text="black" link="blue" vlink="#204080"
alink="#204080">
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
bgcolor="#a0c0ff" cellspacing="0">
<tr valign="middle">
<!-- Home link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="scapi-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Tree link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Index link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Help link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Project homepage -->
<th class="navbar" align="right" width="100%">
<table border="0" cellpadding="0" cellspacing="0">
<tr><th class="navbar" align="center"
>SoundCloud API</th>
</tr></table></th>
</tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0">
<tr valign="top">
<td width="100%">
<span class="breadcrumbs">
<a href="scapi-module.html">Package&nbsp;scapi</a> ::
Module&nbsp;config
</span>
</td>
<td>
<table cellpadding="0" cellspacing="0">
<!-- hide/show private -->
<tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
<tr><td align="right"><span class="options"
>[<a href="frames.html" target="_top">frames</a
>]&nbsp;|&nbsp;<a href="scapi.config-pysrc.html"
target="_top">no&nbsp;frames</a>]</span></td></tr>
</table>
</td>
</tr>
</table>
<h1 class="epydoc">Source Code for <a href="scapi.config-module.html">Module scapi.config</a></h1>
<pre class="py-src">
<a name="L1"></a><tt class="py-lineno">1</tt> <tt class="py-line"> </tt>
<a name="L2"></a><tt class="py-lineno">2</tt> <tt class="py-line"> </tt><script type="text/javascript">
<!--
expandto(location.href);
// -->
</script>
</pre>
<br />
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
bgcolor="#a0c0ff" cellspacing="0">
<tr valign="middle">
<!-- Home link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="scapi-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Tree link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Index link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Help link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Project homepage -->
<th class="navbar" align="right" width="100%">
<table border="0" cellpadding="0" cellspacing="0">
<tr><th class="navbar" align="center"
>SoundCloud API</th>
</tr></table></th>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
Generated by Epydoc 3.0.1 on Thu Sep 10 00:58:50 2009
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
>http://epydoc.sourceforge.net</a>
</td>
</tr>
</table>
<script type="text/javascript">
<!--
// Private objects are initially displayed (because if
// javascript is turned off then we want them to be
// visible); but by default, we want to hide them. So hide
// them unless we have a cookie that says to show them.
checkCookie();
// -->
</script>
</body>
</html>

View file

@ -0,0 +1,218 @@
<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>scapi.json</title>
<link rel="stylesheet" href="epydoc.css" type="text/css" />
<script type="text/javascript" src="epydoc.js"></script>
</head>
<body bgcolor="white" text="black" link="blue" vlink="#204080"
alink="#204080">
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
bgcolor="#a0c0ff" cellspacing="0">
<tr valign="middle">
<!-- Home link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="scapi-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Tree link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Index link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Help link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Project homepage -->
<th class="navbar" align="right" width="100%">
<table border="0" cellpadding="0" cellspacing="0">
<tr><th class="navbar" align="center"
>SoundCloud API</th>
</tr></table></th>
</tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0">
<tr valign="top">
<td width="100%">
<span class="breadcrumbs">
<a href="scapi-module.html">Package&nbsp;scapi</a> ::
Module&nbsp;json
</span>
</td>
<td>
<table cellpadding="0" cellspacing="0">
<!-- hide/show private -->
<tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
<tr><td align="right"><span class="options"
>[<a href="frames.html" target="_top">frames</a
>]&nbsp;|&nbsp;<a href="scapi.json-module.html"
target="_top">no&nbsp;frames</a>]</span></td></tr>
</table>
</td>
</tr>
</table>
<!-- ==================== MODULE DESCRIPTION ==================== -->
<h1 class="epydoc">Module json</h1><p class="nomargin-top"><span class="codelink"><a href="scapi.json-pysrc.html">source&nbsp;code</a></span></p>
<!-- ==================== CLASSES ==================== -->
<a name="section-Classes"></a>
<table class="summary" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Classes</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-Classes"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
<tr class="private">
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a href="scapi.json._StringGenerator-class.html" class="summary-name" onclick="show_private();">_StringGenerator</a>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a href="scapi.json.WriteException-class.html" class="summary-name">WriteException</a>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a href="scapi.json.ReadException-class.html" class="summary-name">ReadException</a>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a href="scapi.json.JsonReader-class.html" class="summary-name">JsonReader</a>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a href="scapi.json.JsonWriter-class.html" class="summary-name">JsonWriter</a>
</td>
</tr>
</table>
<!-- ==================== FUNCTIONS ==================== -->
<a name="section-Functions"></a>
<table class="summary" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Functions</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-Functions"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="write"></a><span class="summary-sig-name">write</span>(<span class="summary-sig-arg">obj</span>,
<span class="summary-sig-arg">escaped_forward_slash</span>=<span class="summary-sig-default">False</span>)</span></td>
<td align="right" valign="top">
<span class="codelink"><a href="scapi.json-pysrc.html#write">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="read"></a><span class="summary-sig-name">read</span>(<span class="summary-sig-arg">s</span>)</span></td>
<td align="right" valign="top">
<span class="codelink"><a href="scapi.json-pysrc.html#read">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
</table>
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
bgcolor="#a0c0ff" cellspacing="0">
<tr valign="middle">
<!-- Home link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="scapi-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Tree link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Index link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Help link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Project homepage -->
<th class="navbar" align="right" width="100%">
<table border="0" cellpadding="0" cellspacing="0">
<tr><th class="navbar" align="center"
>SoundCloud API</th>
</tr></table></th>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
Generated by Epydoc 3.0.1 on Thu Sep 10 00:58:49 2009
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
>http://epydoc.sourceforge.net</a>
</td>
</tr>
</table>
<script type="text/javascript">
<!--
// Private objects are initially displayed (because if
// javascript is turned off then we want them to be
// visible); but by default, we want to hide them. So hide
// them unless we have a cookie that says to show them.
checkCookie();
// -->
</script>
</body>
</html>

View file

@ -0,0 +1,433 @@
<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>scapi.json</title>
<link rel="stylesheet" href="epydoc.css" type="text/css" />
<script type="text/javascript" src="epydoc.js"></script>
</head>
<body bgcolor="white" text="black" link="blue" vlink="#204080"
alink="#204080">
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
bgcolor="#a0c0ff" cellspacing="0">
<tr valign="middle">
<!-- Home link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="scapi-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Tree link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Index link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Help link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Project homepage -->
<th class="navbar" align="right" width="100%">
<table border="0" cellpadding="0" cellspacing="0">
<tr><th class="navbar" align="center"
>SoundCloud API</th>
</tr></table></th>
</tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0">
<tr valign="top">
<td width="100%">
<span class="breadcrumbs">
<a href="scapi-module.html">Package&nbsp;scapi</a> ::
Module&nbsp;json
</span>
</td>
<td>
<table cellpadding="0" cellspacing="0">
<!-- hide/show private -->
<tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
<tr><td align="right"><span class="options"
>[<a href="frames.html" target="_top">frames</a
>]&nbsp;|&nbsp;<a href="scapi.json-pysrc.html"
target="_top">no&nbsp;frames</a>]</span></td></tr>
</table>
</td>
</tr>
</table>
<h1 class="epydoc">Source Code for <a href="scapi.json-module.html">Module scapi.json</a></h1>
<pre class="py-src">
<a name="L1"></a><tt class="py-lineno"> 1</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">string</tt> </tt>
<a name="L2"></a><tt class="py-lineno"> 2</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">types</tt> </tt>
<a name="L3"></a><tt class="py-lineno"> 3</tt> <tt class="py-line"> </tt>
<a name="L4"></a><tt class="py-lineno"> 4</tt> <tt class="py-line"><tt class="py-comment">## json.py implements a JSON (http://json.org) reader and writer.</tt> </tt>
<a name="L5"></a><tt class="py-lineno"> 5</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">## Copyright (C) 2005 Patrick D. Logan</tt> </tt>
<a name="L6"></a><tt class="py-lineno"> 6</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">## Contact mailto:patrickdlogan@stardecisions.com</tt> </tt>
<a name="L7"></a><tt class="py-lineno"> 7</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">##</tt> </tt>
<a name="L8"></a><tt class="py-lineno"> 8</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">## This library is free software; you can redistribute it and/or</tt> </tt>
<a name="L9"></a><tt class="py-lineno"> 9</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">## modify it under the terms of the GNU Lesser General Public</tt> </tt>
<a name="L10"></a><tt class="py-lineno"> 10</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">## License as published by the Free Software Foundation; either</tt> </tt>
<a name="L11"></a><tt class="py-lineno"> 11</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">## version 2.1 of the License, or (at your option) any later version.</tt> </tt>
<a name="L12"></a><tt class="py-lineno"> 12</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">##</tt> </tt>
<a name="L13"></a><tt class="py-lineno"> 13</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">## This library is distributed in the hope that it will be useful,</tt> </tt>
<a name="L14"></a><tt class="py-lineno"> 14</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">## but WITHOUT ANY WARRANTY; without even the implied warranty of</tt> </tt>
<a name="L15"></a><tt class="py-lineno"> 15</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</tt> </tt>
<a name="L16"></a><tt class="py-lineno"> 16</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">## Lesser General Public License for more details.</tt> </tt>
<a name="L17"></a><tt class="py-lineno"> 17</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">##</tt> </tt>
<a name="L18"></a><tt class="py-lineno"> 18</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">## You should have received a copy of the GNU Lesser General Public</tt> </tt>
<a name="L19"></a><tt class="py-lineno"> 19</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">## License along with this library; if not, write to the Free Software</tt> </tt>
<a name="L20"></a><tt class="py-lineno"> 20</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">## Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</tt> </tt>
<a name="L21"></a><tt class="py-lineno"> 21</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
<a name="L22"></a><tt class="py-lineno"> 22</tt> <tt class="py-line"> </tt>
<a name="_StringGenerator"></a><div id="_StringGenerator-def"><a name="L23"></a><tt class="py-lineno"> 23</tt> <a class="py-toggle" href="#" id="_StringGenerator-toggle" onclick="return toggle('_StringGenerator');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="scapi.json._StringGenerator-class.html">_StringGenerator</a><tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="_StringGenerator-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="_StringGenerator-expanded"><a name="_StringGenerator.__init__"></a><div id="_StringGenerator.__init__-def"><a name="L24"></a><tt class="py-lineno"> 24</tt> <a class="py-toggle" href="#" id="_StringGenerator.__init__-toggle" onclick="return toggle('_StringGenerator.__init__');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="scapi.json._StringGenerator-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">string</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="_StringGenerator.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++++++"></div><div id="_StringGenerator.__init__-expanded"><a name="L25"></a><tt class="py-lineno"> 25</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">string</tt> <tt class="py-op">=</tt> <tt class="py-name">string</tt> </tt>
<a name="L26"></a><tt class="py-lineno"> 26</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">index</tt> <tt class="py-op">=</tt> <tt class="py-op">-</tt><tt class="py-number">1</tt> </tt>
</div><a name="_StringGenerator.peek"></a><div id="_StringGenerator.peek-def"><a name="L27"></a><tt class="py-lineno"> 27</tt> <a class="py-toggle" href="#" id="_StringGenerator.peek-toggle" onclick="return toggle('_StringGenerator.peek');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="scapi.json._StringGenerator-class.html#peek">peek</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="_StringGenerator.peek-collapsed" style="display:none;" pad="+++" indent="++++++++++++"></div><div id="_StringGenerator.peek-expanded"><a name="L28"></a><tt class="py-lineno"> 28</tt> <tt class="py-line"> <tt class="py-name">i</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">index</tt> <tt class="py-op">+</tt> <tt class="py-number">1</tt> </tt>
<a name="L29"></a><tt class="py-lineno"> 29</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">i</tt> <tt class="py-op">&lt;</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">string</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L30"></a><tt class="py-lineno"> 30</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">string</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt> </tt>
<a name="L31"></a><tt class="py-lineno"> 31</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
<a name="L32"></a><tt class="py-lineno"> 32</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
</div><a name="_StringGenerator.next"></a><div id="_StringGenerator.next-def"><a name="L33"></a><tt class="py-lineno"> 33</tt> <a class="py-toggle" href="#" id="_StringGenerator.next-toggle" onclick="return toggle('_StringGenerator.next');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="scapi.json._StringGenerator-class.html#next">next</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="_StringGenerator.next-collapsed" style="display:none;" pad="+++" indent="++++++++++++"></div><div id="_StringGenerator.next-expanded"><a name="L34"></a><tt class="py-lineno"> 34</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">index</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
<a name="L35"></a><tt class="py-lineno"> 35</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">index</tt> <tt class="py-op">&lt;</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">string</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L36"></a><tt class="py-lineno"> 36</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">string</tt><tt class="py-op">[</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">index</tt><tt class="py-op">]</tt> </tt>
<a name="L37"></a><tt class="py-lineno"> 37</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
<a name="L38"></a><tt class="py-lineno"> 38</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">StopIteration</tt> </tt>
</div><a name="_StringGenerator.all"></a><div id="_StringGenerator.all-def"><a name="L39"></a><tt class="py-lineno"> 39</tt> <a class="py-toggle" href="#" id="_StringGenerator.all-toggle" onclick="return toggle('_StringGenerator.all');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="scapi.json._StringGenerator-class.html#all">all</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="_StringGenerator.all-collapsed" style="display:none;" pad="+++" indent="++++++++++++"></div><div id="_StringGenerator.all-expanded"><a name="L40"></a><tt class="py-lineno"> 40</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">string</tt> </tt>
</div></div><a name="L41"></a><tt class="py-lineno"> 41</tt> <tt class="py-line"> </tt>
<a name="WriteException"></a><div id="WriteException-def"><a name="L42"></a><tt class="py-lineno"> 42</tt> <a class="py-toggle" href="#" id="WriteException-toggle" onclick="return toggle('WriteException');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="scapi.json.WriteException-class.html">WriteException</a><tt class="py-op">(</tt><tt class="py-base-class">Exception</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="WriteException-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="WriteException-expanded"><a name="L43"></a><tt class="py-lineno"> 43</tt> <tt class="py-line"> <tt class="py-keyword">pass</tt> </tt>
</div><a name="L44"></a><tt class="py-lineno"> 44</tt> <tt class="py-line"> </tt>
<a name="ReadException"></a><div id="ReadException-def"><a name="L45"></a><tt class="py-lineno"> 45</tt> <a class="py-toggle" href="#" id="ReadException-toggle" onclick="return toggle('ReadException');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="scapi.json.ReadException-class.html">ReadException</a><tt class="py-op">(</tt><tt class="py-base-class">Exception</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="ReadException-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="ReadException-expanded"><a name="L46"></a><tt class="py-lineno"> 46</tt> <tt class="py-line"> <tt class="py-keyword">pass</tt> </tt>
</div><a name="L47"></a><tt class="py-lineno"> 47</tt> <tt class="py-line"> </tt>
<a name="JsonReader"></a><div id="JsonReader-def"><a name="L48"></a><tt class="py-lineno"> 48</tt> <a class="py-toggle" href="#" id="JsonReader-toggle" onclick="return toggle('JsonReader');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="scapi.json.JsonReader-class.html">JsonReader</a><tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="JsonReader-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="JsonReader-expanded"><a name="L49"></a><tt class="py-lineno"> 49</tt> <tt class="py-line"> <tt id="link-0" class="py-name" targets="Variable scapi.json.JsonReader.hex_digits=scapi.json.JsonReader-class.html#hex_digits"><a title="scapi.json.JsonReader.hex_digits" class="py-name" href="#" onclick="return doclink('link-0', 'hex_digits', 'link-0');">hex_digits</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-string">'A'</tt><tt class="py-op">:</tt> <tt class="py-number">10</tt><tt class="py-op">,</tt><tt class="py-string">'B'</tt><tt class="py-op">:</tt> <tt class="py-number">11</tt><tt class="py-op">,</tt><tt class="py-string">'C'</tt><tt class="py-op">:</tt> <tt class="py-number">12</tt><tt class="py-op">,</tt><tt class="py-string">'D'</tt><tt class="py-op">:</tt> <tt class="py-number">13</tt><tt class="py-op">,</tt><tt class="py-string">'E'</tt><tt class="py-op">:</tt> <tt class="py-number">14</tt><tt class="py-op">,</tt><tt class="py-string">'F'</tt><tt class="py-op">:</tt><tt class="py-number">15</tt><tt class="py-op">}</tt> </tt>
<a name="L50"></a><tt class="py-lineno"> 50</tt> <tt class="py-line"> <tt id="link-1" class="py-name" targets="Variable scapi.json.JsonReader.escapes=scapi.json.JsonReader-class.html#escapes"><a title="scapi.json.JsonReader.escapes" class="py-name" href="#" onclick="return doclink('link-1', 'escapes', 'link-1');">escapes</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-string">'t'</tt><tt class="py-op">:</tt><tt class="py-string">'\t'</tt><tt class="py-op">,</tt><tt class="py-string">'n'</tt><tt class="py-op">:</tt><tt class="py-string">'\n'</tt><tt class="py-op">,</tt><tt class="py-string">'f'</tt><tt class="py-op">:</tt><tt class="py-string">'\f'</tt><tt class="py-op">,</tt><tt class="py-string">'r'</tt><tt class="py-op">:</tt><tt class="py-string">'\r'</tt><tt class="py-op">,</tt><tt class="py-string">'b'</tt><tt class="py-op">:</tt><tt class="py-string">'\b'</tt><tt class="py-op">}</tt> </tt>
<a name="L51"></a><tt class="py-lineno"> 51</tt> <tt class="py-line"> </tt>
<a name="JsonReader.read"></a><div id="JsonReader.read-def"><a name="L52"></a><tt class="py-lineno"> 52</tt> <a class="py-toggle" href="#" id="JsonReader.read-toggle" onclick="return toggle('JsonReader.read');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="scapi.json.JsonReader-class.html#read">read</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">s</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="JsonReader.read-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="JsonReader.read-expanded"><a name="L53"></a><tt class="py-lineno"> 53</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_generator</tt> <tt class="py-op">=</tt> <tt id="link-2" class="py-name" targets="Class scapi.json._StringGenerator=scapi.json._StringGenerator-class.html"><a title="scapi.json._StringGenerator" class="py-name" href="#" onclick="return doclink('link-2', '_StringGenerator', 'link-2');">_StringGenerator</a></tt><tt class="py-op">(</tt><tt class="py-name">s</tt><tt class="py-op">)</tt> </tt>
<a name="L54"></a><tt class="py-lineno"> 54</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3" class="py-name" targets="Method scapi.json.JsonReader._read()=scapi.json.JsonReader-class.html#_read"><a title="scapi.json.JsonReader._read" class="py-name" href="#" onclick="return doclink('link-3', '_read', 'link-3');">_read</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L55"></a><tt class="py-lineno"> 55</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">result</tt> </tt>
</div><a name="L56"></a><tt class="py-lineno"> 56</tt> <tt class="py-line"> </tt>
<a name="JsonReader._read"></a><div id="JsonReader._read-def"><a name="L57"></a><tt class="py-lineno"> 57</tt> <a class="py-toggle" href="#" id="JsonReader._read-toggle" onclick="return toggle('JsonReader._read');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="scapi.json.JsonReader-class.html#_read">_read</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="JsonReader._read-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="JsonReader._read-expanded"><a name="L58"></a><tt class="py-lineno"> 58</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-4" class="py-name" targets="Method scapi.json.JsonReader._eatWhitespace()=scapi.json.JsonReader-class.html#_eatWhitespace"><a title="scapi.json.JsonReader._eatWhitespace" class="py-name" href="#" onclick="return doclink('link-4', '_eatWhitespace', 'link-4');">_eatWhitespace</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L59"></a><tt class="py-lineno"> 59</tt> <tt class="py-line"> <tt id="link-5" class="py-name" targets="Method scapi.json._StringGenerator.peek()=scapi.json._StringGenerator-class.html#peek"><a title="scapi.json._StringGenerator.peek" class="py-name" href="#" onclick="return doclink('link-5', 'peek', 'link-5');">peek</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-6" class="py-name" targets="Method scapi.json.JsonReader._peek()=scapi.json.JsonReader-class.html#_peek"><a title="scapi.json.JsonReader._peek" class="py-name" href="#" onclick="return doclink('link-6', '_peek', 'link-6');">_peek</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L60"></a><tt class="py-lineno"> 60</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-7" class="py-name"><a title="scapi.json._StringGenerator.peek" class="py-name" href="#" onclick="return doclink('link-7', 'peek', 'link-5');">peek</a></tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
<a name="L61"></a><tt class="py-lineno"> 61</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-8" class="py-name" targets="Class scapi.json.ReadException=scapi.json.ReadException-class.html"><a title="scapi.json.ReadException" class="py-name" href="#" onclick="return doclink('link-8', 'ReadException', 'link-8');">ReadException</a></tt><tt class="py-op">,</tt> <tt class="py-string">"Nothing to read: '%s'"</tt> <tt class="py-op">%</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_generator</tt><tt class="py-op">.</tt><tt id="link-9" class="py-name" targets="Method scapi.json._StringGenerator.all()=scapi.json._StringGenerator-class.html#all"><a title="scapi.json._StringGenerator.all" class="py-name" href="#" onclick="return doclink('link-9', 'all', 'link-9');">all</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L62"></a><tt class="py-lineno"> 62</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-10" class="py-name"><a title="scapi.json._StringGenerator.peek" class="py-name" href="#" onclick="return doclink('link-10', 'peek', 'link-5');">peek</a></tt> <tt class="py-op">==</tt> <tt class="py-string">'{'</tt><tt class="py-op">:</tt> </tt>
<a name="L63"></a><tt class="py-lineno"> 63</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-11" class="py-name" targets="Method scapi.json.JsonReader._readObject()=scapi.json.JsonReader-class.html#_readObject"><a title="scapi.json.JsonReader._readObject" class="py-name" href="#" onclick="return doclink('link-11', '_readObject', 'link-11');">_readObject</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L64"></a><tt class="py-lineno"> 64</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt id="link-12" class="py-name"><a title="scapi.json._StringGenerator.peek" class="py-name" href="#" onclick="return doclink('link-12', 'peek', 'link-5');">peek</a></tt> <tt class="py-op">==</tt> <tt class="py-string">'['</tt><tt class="py-op">:</tt> </tt>
<a name="L65"></a><tt class="py-lineno"> 65</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-13" class="py-name" targets="Method scapi.json.JsonReader._readArray()=scapi.json.JsonReader-class.html#_readArray"><a title="scapi.json.JsonReader._readArray" class="py-name" href="#" onclick="return doclink('link-13', '_readArray', 'link-13');">_readArray</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L66"></a><tt class="py-lineno"> 66</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt id="link-14" class="py-name"><a title="scapi.json._StringGenerator.peek" class="py-name" href="#" onclick="return doclink('link-14', 'peek', 'link-5');">peek</a></tt> <tt class="py-op">==</tt> <tt class="py-string">'"'</tt><tt class="py-op">:</tt> </tt>
<a name="L67"></a><tt class="py-lineno"> 67</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-15" class="py-name" targets="Method scapi.json.JsonReader._readString()=scapi.json.JsonReader-class.html#_readString"><a title="scapi.json.JsonReader._readString" class="py-name" href="#" onclick="return doclink('link-15', '_readString', 'link-15');">_readString</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L68"></a><tt class="py-lineno"> 68</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt id="link-16" class="py-name"><a title="scapi.json._StringGenerator.peek" class="py-name" href="#" onclick="return doclink('link-16', 'peek', 'link-5');">peek</a></tt> <tt class="py-op">==</tt> <tt class="py-string">'-'</tt> <tt class="py-keyword">or</tt> <tt id="link-17" class="py-name"><a title="scapi.json._StringGenerator.peek" class="py-name" href="#" onclick="return doclink('link-17', 'peek', 'link-5');">peek</a></tt><tt class="py-op">.</tt><tt class="py-name">isdigit</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L69"></a><tt class="py-lineno"> 69</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-18" class="py-name" targets="Method scapi.json.JsonReader._readNumber()=scapi.json.JsonReader-class.html#_readNumber"><a title="scapi.json.JsonReader._readNumber" class="py-name" href="#" onclick="return doclink('link-18', '_readNumber', 'link-18');">_readNumber</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L70"></a><tt class="py-lineno"> 70</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt id="link-19" class="py-name"><a title="scapi.json._StringGenerator.peek" class="py-name" href="#" onclick="return doclink('link-19', 'peek', 'link-5');">peek</a></tt> <tt class="py-op">==</tt> <tt class="py-string">'t'</tt><tt class="py-op">:</tt> </tt>
<a name="L71"></a><tt class="py-lineno"> 71</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-20" class="py-name" targets="Method scapi.json.JsonReader._readTrue()=scapi.json.JsonReader-class.html#_readTrue"><a title="scapi.json.JsonReader._readTrue" class="py-name" href="#" onclick="return doclink('link-20', '_readTrue', 'link-20');">_readTrue</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L72"></a><tt class="py-lineno"> 72</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt id="link-21" class="py-name"><a title="scapi.json._StringGenerator.peek" class="py-name" href="#" onclick="return doclink('link-21', 'peek', 'link-5');">peek</a></tt> <tt class="py-op">==</tt> <tt class="py-string">'f'</tt><tt class="py-op">:</tt> </tt>
<a name="L73"></a><tt class="py-lineno"> 73</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-22" class="py-name" targets="Method scapi.json.JsonReader._readFalse()=scapi.json.JsonReader-class.html#_readFalse"><a title="scapi.json.JsonReader._readFalse" class="py-name" href="#" onclick="return doclink('link-22', '_readFalse', 'link-22');">_readFalse</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L74"></a><tt class="py-lineno"> 74</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt id="link-23" class="py-name"><a title="scapi.json._StringGenerator.peek" class="py-name" href="#" onclick="return doclink('link-23', 'peek', 'link-5');">peek</a></tt> <tt class="py-op">==</tt> <tt class="py-string">'n'</tt><tt class="py-op">:</tt> </tt>
<a name="L75"></a><tt class="py-lineno"> 75</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-24" class="py-name" targets="Method scapi.json.JsonReader._readNull()=scapi.json.JsonReader-class.html#_readNull"><a title="scapi.json.JsonReader._readNull" class="py-name" href="#" onclick="return doclink('link-24', '_readNull', 'link-24');">_readNull</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L76"></a><tt class="py-lineno"> 76</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt id="link-25" class="py-name"><a title="scapi.json._StringGenerator.peek" class="py-name" href="#" onclick="return doclink('link-25', 'peek', 'link-5');">peek</a></tt> <tt class="py-op">==</tt> <tt class="py-string">'/'</tt><tt class="py-op">:</tt> </tt>
<a name="L77"></a><tt class="py-lineno"> 77</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-26" class="py-name" targets="Method scapi.json.JsonReader._readComment()=scapi.json.JsonReader-class.html#_readComment"><a title="scapi.json.JsonReader._readComment" class="py-name" href="#" onclick="return doclink('link-26', '_readComment', 'link-26');">_readComment</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L78"></a><tt class="py-lineno"> 78</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-27" class="py-name"><a title="scapi.json.JsonReader._read" class="py-name" href="#" onclick="return doclink('link-27', '_read', 'link-3');">_read</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L79"></a><tt class="py-lineno"> 79</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
<a name="L80"></a><tt class="py-lineno"> 80</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-28" class="py-name"><a title="scapi.json.ReadException" class="py-name" href="#" onclick="return doclink('link-28', 'ReadException', 'link-8');">ReadException</a></tt><tt class="py-op">,</tt> <tt class="py-string">"Input is not valid JSON: '%s'"</tt> <tt class="py-op">%</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_generator</tt><tt class="py-op">.</tt><tt id="link-29" class="py-name"><a title="scapi.json._StringGenerator.all" class="py-name" href="#" onclick="return doclink('link-29', 'all', 'link-9');">all</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
</div><a name="L81"></a><tt class="py-lineno"> 81</tt> <tt class="py-line"> </tt>
<a name="JsonReader._readTrue"></a><div id="JsonReader._readTrue-def"><a name="L82"></a><tt class="py-lineno"> 82</tt> <a class="py-toggle" href="#" id="JsonReader._readTrue-toggle" onclick="return toggle('JsonReader._readTrue');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="scapi.json.JsonReader-class.html#_readTrue">_readTrue</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="JsonReader._readTrue-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="JsonReader._readTrue-expanded"><a name="L83"></a><tt class="py-lineno"> 83</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-30" class="py-name" targets="Method scapi.json.JsonReader._assertNext()=scapi.json.JsonReader-class.html#_assertNext"><a title="scapi.json.JsonReader._assertNext" class="py-name" href="#" onclick="return doclink('link-30', '_assertNext', 'link-30');">_assertNext</a></tt><tt class="py-op">(</tt><tt class="py-string">'t'</tt><tt class="py-op">,</tt> <tt class="py-string">"true"</tt><tt class="py-op">)</tt> </tt>
<a name="L84"></a><tt class="py-lineno"> 84</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-31" class="py-name"><a title="scapi.json.JsonReader._assertNext" class="py-name" href="#" onclick="return doclink('link-31', '_assertNext', 'link-30');">_assertNext</a></tt><tt class="py-op">(</tt><tt class="py-string">'r'</tt><tt class="py-op">,</tt> <tt class="py-string">"true"</tt><tt class="py-op">)</tt> </tt>
<a name="L85"></a><tt class="py-lineno"> 85</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-32" class="py-name"><a title="scapi.json.JsonReader._assertNext" class="py-name" href="#" onclick="return doclink('link-32', '_assertNext', 'link-30');">_assertNext</a></tt><tt class="py-op">(</tt><tt class="py-string">'u'</tt><tt class="py-op">,</tt> <tt class="py-string">"true"</tt><tt class="py-op">)</tt> </tt>
<a name="L86"></a><tt class="py-lineno"> 86</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-33" class="py-name"><a title="scapi.json.JsonReader._assertNext" class="py-name" href="#" onclick="return doclink('link-33', '_assertNext', 'link-30');">_assertNext</a></tt><tt class="py-op">(</tt><tt class="py-string">'e'</tt><tt class="py-op">,</tt> <tt class="py-string">"true"</tt><tt class="py-op">)</tt> </tt>
<a name="L87"></a><tt class="py-lineno"> 87</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">True</tt> </tt>
</div><a name="L88"></a><tt class="py-lineno"> 88</tt> <tt class="py-line"> </tt>
<a name="JsonReader._readFalse"></a><div id="JsonReader._readFalse-def"><a name="L89"></a><tt class="py-lineno"> 89</tt> <a class="py-toggle" href="#" id="JsonReader._readFalse-toggle" onclick="return toggle('JsonReader._readFalse');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="scapi.json.JsonReader-class.html#_readFalse">_readFalse</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="JsonReader._readFalse-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="JsonReader._readFalse-expanded"><a name="L90"></a><tt class="py-lineno"> 90</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-34" class="py-name"><a title="scapi.json.JsonReader._assertNext" class="py-name" href="#" onclick="return doclink('link-34', '_assertNext', 'link-30');">_assertNext</a></tt><tt class="py-op">(</tt><tt class="py-string">'f'</tt><tt class="py-op">,</tt> <tt class="py-string">"false"</tt><tt class="py-op">)</tt> </tt>
<a name="L91"></a><tt class="py-lineno"> 91</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-35" class="py-name"><a title="scapi.json.JsonReader._assertNext" class="py-name" href="#" onclick="return doclink('link-35', '_assertNext', 'link-30');">_assertNext</a></tt><tt class="py-op">(</tt><tt class="py-string">'a'</tt><tt class="py-op">,</tt> <tt class="py-string">"false"</tt><tt class="py-op">)</tt> </tt>
<a name="L92"></a><tt class="py-lineno"> 92</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-36" class="py-name"><a title="scapi.json.JsonReader._assertNext" class="py-name" href="#" onclick="return doclink('link-36', '_assertNext', 'link-30');">_assertNext</a></tt><tt class="py-op">(</tt><tt class="py-string">'l'</tt><tt class="py-op">,</tt> <tt class="py-string">"false"</tt><tt class="py-op">)</tt> </tt>
<a name="L93"></a><tt class="py-lineno"> 93</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-37" class="py-name"><a title="scapi.json.JsonReader._assertNext" class="py-name" href="#" onclick="return doclink('link-37', '_assertNext', 'link-30');">_assertNext</a></tt><tt class="py-op">(</tt><tt class="py-string">'s'</tt><tt class="py-op">,</tt> <tt class="py-string">"false"</tt><tt class="py-op">)</tt> </tt>
<a name="L94"></a><tt class="py-lineno"> 94</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-38" class="py-name"><a title="scapi.json.JsonReader._assertNext" class="py-name" href="#" onclick="return doclink('link-38', '_assertNext', 'link-30');">_assertNext</a></tt><tt class="py-op">(</tt><tt class="py-string">'e'</tt><tt class="py-op">,</tt> <tt class="py-string">"false"</tt><tt class="py-op">)</tt> </tt>
<a name="L95"></a><tt class="py-lineno"> 95</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">False</tt> </tt>
</div><a name="L96"></a><tt class="py-lineno"> 96</tt> <tt class="py-line"> </tt>
<a name="JsonReader._readNull"></a><div id="JsonReader._readNull-def"><a name="L97"></a><tt class="py-lineno"> 97</tt> <a class="py-toggle" href="#" id="JsonReader._readNull-toggle" onclick="return toggle('JsonReader._readNull');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="scapi.json.JsonReader-class.html#_readNull">_readNull</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="JsonReader._readNull-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="JsonReader._readNull-expanded"><a name="L98"></a><tt class="py-lineno"> 98</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-39" class="py-name"><a title="scapi.json.JsonReader._assertNext" class="py-name" href="#" onclick="return doclink('link-39', '_assertNext', 'link-30');">_assertNext</a></tt><tt class="py-op">(</tt><tt class="py-string">'n'</tt><tt class="py-op">,</tt> <tt class="py-string">"null"</tt><tt class="py-op">)</tt> </tt>
<a name="L99"></a><tt class="py-lineno"> 99</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-40" class="py-name"><a title="scapi.json.JsonReader._assertNext" class="py-name" href="#" onclick="return doclink('link-40', '_assertNext', 'link-30');">_assertNext</a></tt><tt class="py-op">(</tt><tt class="py-string">'u'</tt><tt class="py-op">,</tt> <tt class="py-string">"null"</tt><tt class="py-op">)</tt> </tt>
<a name="L100"></a><tt class="py-lineno">100</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-41" class="py-name"><a title="scapi.json.JsonReader._assertNext" class="py-name" href="#" onclick="return doclink('link-41', '_assertNext', 'link-30');">_assertNext</a></tt><tt class="py-op">(</tt><tt class="py-string">'l'</tt><tt class="py-op">,</tt> <tt class="py-string">"null"</tt><tt class="py-op">)</tt> </tt>
<a name="L101"></a><tt class="py-lineno">101</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-42" class="py-name"><a title="scapi.json.JsonReader._assertNext" class="py-name" href="#" onclick="return doclink('link-42', '_assertNext', 'link-30');">_assertNext</a></tt><tt class="py-op">(</tt><tt class="py-string">'l'</tt><tt class="py-op">,</tt> <tt class="py-string">"null"</tt><tt class="py-op">)</tt> </tt>
<a name="L102"></a><tt class="py-lineno">102</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> </tt>
</div><a name="L103"></a><tt class="py-lineno">103</tt> <tt class="py-line"> </tt>
<a name="JsonReader._assertNext"></a><div id="JsonReader._assertNext-def"><a name="L104"></a><tt class="py-lineno">104</tt> <a class="py-toggle" href="#" id="JsonReader._assertNext-toggle" onclick="return toggle('JsonReader._assertNext');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="scapi.json.JsonReader-class.html#_assertNext">_assertNext</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">ch</tt><tt class="py-op">,</tt> <tt class="py-param">target</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="JsonReader._assertNext-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="JsonReader._assertNext-expanded"><a name="L105"></a><tt class="py-lineno">105</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-43" class="py-name" targets="Method scapi.json.JsonReader._next()=scapi.json.JsonReader-class.html#_next"><a title="scapi.json.JsonReader._next" class="py-name" href="#" onclick="return doclink('link-43', '_next', 'link-43');">_next</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">!=</tt> <tt class="py-name">ch</tt><tt class="py-op">:</tt> </tt>
<a name="L106"></a><tt class="py-lineno">106</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-44" class="py-name"><a title="scapi.json.ReadException" class="py-name" href="#" onclick="return doclink('link-44', 'ReadException', 'link-8');">ReadException</a></tt><tt class="py-op">,</tt> <tt class="py-string">"Trying to read %s: '%s'"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">target</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_generator</tt><tt class="py-op">.</tt><tt id="link-45" class="py-name"><a title="scapi.json._StringGenerator.all" class="py-name" href="#" onclick="return doclink('link-45', 'all', 'link-9');">all</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
</div><a name="L107"></a><tt class="py-lineno">107</tt> <tt class="py-line"> </tt>
<a name="JsonReader._readNumber"></a><div id="JsonReader._readNumber-def"><a name="L108"></a><tt class="py-lineno">108</tt> <a class="py-toggle" href="#" id="JsonReader._readNumber-toggle" onclick="return toggle('JsonReader._readNumber');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="scapi.json.JsonReader-class.html#_readNumber">_readNumber</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="JsonReader._readNumber-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="JsonReader._readNumber-expanded"><a name="L109"></a><tt class="py-lineno">109</tt> <tt class="py-line"> <tt class="py-name">isfloat</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
<a name="L110"></a><tt class="py-lineno">110</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-46" class="py-name"><a title="scapi.json.JsonReader._next" class="py-name" href="#" onclick="return doclink('link-46', '_next', 'link-43');">_next</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L111"></a><tt class="py-lineno">111</tt> <tt class="py-line"> <tt id="link-47" class="py-name"><a title="scapi.json._StringGenerator.peek" class="py-name" href="#" onclick="return doclink('link-47', 'peek', 'link-5');">peek</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-48" class="py-name"><a title="scapi.json.JsonReader._peek" class="py-name" href="#" onclick="return doclink('link-48', '_peek', 'link-6');">_peek</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L112"></a><tt class="py-lineno">112</tt> <tt class="py-line"> <tt class="py-keyword">while</tt> <tt id="link-49" class="py-name"><a title="scapi.json._StringGenerator.peek" class="py-name" href="#" onclick="return doclink('link-49', 'peek', 'link-5');">peek</a></tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt> <tt class="py-keyword">and</tt> <tt class="py-op">(</tt><tt id="link-50" class="py-name"><a title="scapi.json._StringGenerator.peek" class="py-name" href="#" onclick="return doclink('link-50', 'peek', 'link-5');">peek</a></tt><tt class="py-op">.</tt><tt class="py-name">isdigit</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-keyword">or</tt> <tt id="link-51" class="py-name"><a title="scapi.json._StringGenerator.peek" class="py-name" href="#" onclick="return doclink('link-51', 'peek', 'link-5');">peek</a></tt> <tt class="py-op">==</tt> <tt class="py-string">"."</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L113"></a><tt class="py-lineno">113</tt> <tt class="py-line"> <tt class="py-name">isfloat</tt> <tt class="py-op">=</tt> <tt class="py-name">isfloat</tt> <tt class="py-keyword">or</tt> <tt id="link-52" class="py-name"><a title="scapi.json._StringGenerator.peek" class="py-name" href="#" onclick="return doclink('link-52', 'peek', 'link-5');">peek</a></tt> <tt class="py-op">==</tt> <tt class="py-string">"."</tt> </tt>
<a name="L114"></a><tt class="py-lineno">114</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">result</tt> <tt class="py-op">+</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-53" class="py-name"><a title="scapi.json.JsonReader._next" class="py-name" href="#" onclick="return doclink('link-53', '_next', 'link-43');">_next</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L115"></a><tt class="py-lineno">115</tt> <tt class="py-line"> <tt id="link-54" class="py-name"><a title="scapi.json._StringGenerator.peek" class="py-name" href="#" onclick="return doclink('link-54', 'peek', 'link-5');">peek</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-55" class="py-name"><a title="scapi.json.JsonReader._peek" class="py-name" href="#" onclick="return doclink('link-55', '_peek', 'link-6');">_peek</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L116"></a><tt class="py-lineno">116</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
<a name="L117"></a><tt class="py-lineno">117</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">isfloat</tt><tt class="py-op">:</tt> </tt>
<a name="L118"></a><tt class="py-lineno">118</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">float</tt><tt class="py-op">(</tt><tt class="py-name">result</tt><tt class="py-op">)</tt> </tt>
<a name="L119"></a><tt class="py-lineno">119</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
<a name="L120"></a><tt class="py-lineno">120</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">result</tt><tt class="py-op">)</tt> </tt>
<a name="L121"></a><tt class="py-lineno">121</tt> <tt class="py-line"> <tt class="py-keyword">except</tt> <tt class="py-name">ValueError</tt><tt class="py-op">:</tt> </tt>
<a name="L122"></a><tt class="py-lineno">122</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-56" class="py-name"><a title="scapi.json.ReadException" class="py-name" href="#" onclick="return doclink('link-56', 'ReadException', 'link-8');">ReadException</a></tt><tt class="py-op">,</tt> <tt class="py-string">"Not a valid JSON number: '%s'"</tt> <tt class="py-op">%</tt> <tt class="py-name">result</tt> </tt>
</div><a name="L123"></a><tt class="py-lineno">123</tt> <tt class="py-line"> </tt>
<a name="JsonReader._readString"></a><div id="JsonReader._readString-def"><a name="L124"></a><tt class="py-lineno">124</tt> <a class="py-toggle" href="#" id="JsonReader._readString-toggle" onclick="return toggle('JsonReader._readString');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="scapi.json.JsonReader-class.html#_readString">_readString</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="JsonReader._readString-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="JsonReader._readString-expanded"><a name="L125"></a><tt class="py-lineno">125</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-string">""</tt> </tt>
<a name="L126"></a><tt class="py-lineno">126</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-57" class="py-name"><a title="scapi.json.JsonReader._next" class="py-name" href="#" onclick="return doclink('link-57', '_next', 'link-43');">_next</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-string">'"'</tt> </tt>
<a name="L127"></a><tt class="py-lineno">127</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
<a name="L128"></a><tt class="py-lineno">128</tt> <tt class="py-line"> <tt class="py-keyword">while</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-58" class="py-name"><a title="scapi.json.JsonReader._peek" class="py-name" href="#" onclick="return doclink('link-58', '_peek', 'link-6');">_peek</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">!=</tt> <tt class="py-string">'"'</tt><tt class="py-op">:</tt> </tt>
<a name="L129"></a><tt class="py-lineno">129</tt> <tt class="py-line"> <tt class="py-name">ch</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-59" class="py-name"><a title="scapi.json.JsonReader._next" class="py-name" href="#" onclick="return doclink('link-59', '_next', 'link-43');">_next</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L130"></a><tt class="py-lineno">130</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">ch</tt> <tt class="py-op">==</tt> <tt class="py-string">"\\"</tt><tt class="py-op">:</tt> </tt>
<a name="L131"></a><tt class="py-lineno">131</tt> <tt class="py-line"> <tt class="py-name">ch</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-60" class="py-name"><a title="scapi.json.JsonReader._next" class="py-name" href="#" onclick="return doclink('link-60', '_next', 'link-43');">_next</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L132"></a><tt class="py-lineno">132</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">ch</tt> <tt class="py-keyword">in</tt> <tt class="py-string">'brnft'</tt><tt class="py-op">:</tt> </tt>
<a name="L133"></a><tt class="py-lineno">133</tt> <tt class="py-line"> <tt class="py-name">ch</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-61" class="py-name"><a title="scapi.json.JsonReader.escapes" class="py-name" href="#" onclick="return doclink('link-61', 'escapes', 'link-1');">escapes</a></tt><tt class="py-op">[</tt><tt class="py-name">ch</tt><tt class="py-op">]</tt> </tt>
<a name="L134"></a><tt class="py-lineno">134</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">ch</tt> <tt class="py-op">==</tt> <tt class="py-string">"u"</tt><tt class="py-op">:</tt> </tt>
<a name="L135"></a><tt class="py-lineno">135</tt> <tt class="py-line"> <tt class="py-name">ch4096</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-62" class="py-name"><a title="scapi.json.JsonReader._next" class="py-name" href="#" onclick="return doclink('link-62', '_next', 'link-43');">_next</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L136"></a><tt class="py-lineno">136</tt> <tt class="py-line"> <tt class="py-name">ch256</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-63" class="py-name"><a title="scapi.json.JsonReader._next" class="py-name" href="#" onclick="return doclink('link-63', '_next', 'link-43');">_next</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L137"></a><tt class="py-lineno">137</tt> <tt class="py-line"> <tt class="py-name">ch16</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-64" class="py-name"><a title="scapi.json.JsonReader._next" class="py-name" href="#" onclick="return doclink('link-64', '_next', 'link-43');">_next</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L138"></a><tt class="py-lineno">138</tt> <tt class="py-line"> <tt class="py-name">ch1</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-65" class="py-name"><a title="scapi.json.JsonReader._next" class="py-name" href="#" onclick="return doclink('link-65', '_next', 'link-43');">_next</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L139"></a><tt class="py-lineno">139</tt> <tt class="py-line"> <tt class="py-name">n</tt> <tt class="py-op">=</tt> <tt class="py-number">4096</tt> <tt class="py-op">*</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-66" class="py-name" targets="Method scapi.json.JsonReader._hexDigitToInt()=scapi.json.JsonReader-class.html#_hexDigitToInt"><a title="scapi.json.JsonReader._hexDigitToInt" class="py-name" href="#" onclick="return doclink('link-66', '_hexDigitToInt', 'link-66');">_hexDigitToInt</a></tt><tt class="py-op">(</tt><tt class="py-name">ch4096</tt><tt class="py-op">)</tt> </tt>
<a name="L140"></a><tt class="py-lineno">140</tt> <tt class="py-line"> <tt class="py-name">n</tt> <tt class="py-op">+=</tt> <tt class="py-number">256</tt> <tt class="py-op">*</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-67" class="py-name"><a title="scapi.json.JsonReader._hexDigitToInt" class="py-name" href="#" onclick="return doclink('link-67', '_hexDigitToInt', 'link-66');">_hexDigitToInt</a></tt><tt class="py-op">(</tt><tt class="py-name">ch256</tt><tt class="py-op">)</tt> </tt>
<a name="L141"></a><tt class="py-lineno">141</tt> <tt class="py-line"> <tt class="py-name">n</tt> <tt class="py-op">+=</tt> <tt class="py-number">16</tt> <tt class="py-op">*</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-68" class="py-name"><a title="scapi.json.JsonReader._hexDigitToInt" class="py-name" href="#" onclick="return doclink('link-68', '_hexDigitToInt', 'link-66');">_hexDigitToInt</a></tt><tt class="py-op">(</tt><tt class="py-name">ch16</tt><tt class="py-op">)</tt> </tt>
<a name="L142"></a><tt class="py-lineno">142</tt> <tt class="py-line"> <tt class="py-name">n</tt> <tt class="py-op">+=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-69" class="py-name"><a title="scapi.json.JsonReader._hexDigitToInt" class="py-name" href="#" onclick="return doclink('link-69', '_hexDigitToInt', 'link-66');">_hexDigitToInt</a></tt><tt class="py-op">(</tt><tt class="py-name">ch1</tt><tt class="py-op">)</tt> </tt>
<a name="L143"></a><tt class="py-lineno">143</tt> <tt class="py-line"> <tt class="py-name">ch</tt> <tt class="py-op">=</tt> <tt class="py-name">unichr</tt><tt class="py-op">(</tt><tt class="py-name">n</tt><tt class="py-op">)</tt> </tt>
<a name="L144"></a><tt class="py-lineno">144</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">ch</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-string">'"/\\'</tt><tt class="py-op">:</tt> </tt>
<a name="L145"></a><tt class="py-lineno">145</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-70" class="py-name"><a title="scapi.json.ReadException" class="py-name" href="#" onclick="return doclink('link-70', 'ReadException', 'link-8');">ReadException</a></tt><tt class="py-op">,</tt> <tt class="py-string">"Not a valid escaped JSON character: '%s' in %s"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">ch</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_generator</tt><tt class="py-op">.</tt><tt id="link-71" class="py-name"><a title="scapi.json._StringGenerator.all" class="py-name" href="#" onclick="return doclink('link-71', 'all', 'link-9');">all</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
<a name="L146"></a><tt class="py-lineno">146</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">result</tt> <tt class="py-op">+</tt> <tt class="py-name">ch</tt> </tt>
<a name="L147"></a><tt class="py-lineno">147</tt> <tt class="py-line"> <tt class="py-keyword">except</tt> <tt class="py-name">StopIteration</tt><tt class="py-op">:</tt> </tt>
<a name="L148"></a><tt class="py-lineno">148</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-72" class="py-name"><a title="scapi.json.ReadException" class="py-name" href="#" onclick="return doclink('link-72', 'ReadException', 'link-8');">ReadException</a></tt><tt class="py-op">,</tt> <tt class="py-string">"Not a valid JSON string: '%s'"</tt> <tt class="py-op">%</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_generator</tt><tt class="py-op">.</tt><tt id="link-73" class="py-name"><a title="scapi.json._StringGenerator.all" class="py-name" href="#" onclick="return doclink('link-73', 'all', 'link-9');">all</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L149"></a><tt class="py-lineno">149</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-74" class="py-name"><a title="scapi.json.JsonReader._next" class="py-name" href="#" onclick="return doclink('link-74', '_next', 'link-43');">_next</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-string">'"'</tt> </tt>
<a name="L150"></a><tt class="py-lineno">150</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">result</tt> </tt>
</div><a name="L151"></a><tt class="py-lineno">151</tt> <tt class="py-line"> </tt>
<a name="JsonReader._hexDigitToInt"></a><div id="JsonReader._hexDigitToInt-def"><a name="L152"></a><tt class="py-lineno">152</tt> <a class="py-toggle" href="#" id="JsonReader._hexDigitToInt-toggle" onclick="return toggle('JsonReader._hexDigitToInt');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="scapi.json.JsonReader-class.html#_hexDigitToInt">_hexDigitToInt</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">ch</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="JsonReader._hexDigitToInt-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="JsonReader._hexDigitToInt-expanded"><a name="L153"></a><tt class="py-lineno">153</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
<a name="L154"></a><tt class="py-lineno">154</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-75" class="py-name"><a title="scapi.json.JsonReader.hex_digits" class="py-name" href="#" onclick="return doclink('link-75', 'hex_digits', 'link-0');">hex_digits</a></tt><tt class="py-op">[</tt><tt class="py-name">ch</tt><tt class="py-op">.</tt><tt class="py-name">upper</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">]</tt> </tt>
<a name="L155"></a><tt class="py-lineno">155</tt> <tt class="py-line"> <tt class="py-keyword">except</tt> <tt class="py-name">KeyError</tt><tt class="py-op">:</tt> </tt>
<a name="L156"></a><tt class="py-lineno">156</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
<a name="L157"></a><tt class="py-lineno">157</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">ch</tt><tt class="py-op">)</tt> </tt>
<a name="L158"></a><tt class="py-lineno">158</tt> <tt class="py-line"> <tt class="py-keyword">except</tt> <tt class="py-name">ValueError</tt><tt class="py-op">:</tt> </tt>
<a name="L159"></a><tt class="py-lineno">159</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-76" class="py-name"><a title="scapi.json.ReadException" class="py-name" href="#" onclick="return doclink('link-76', 'ReadException', 'link-8');">ReadException</a></tt><tt class="py-op">,</tt> <tt class="py-string">"The character %s is not a hex digit."</tt> <tt class="py-op">%</tt> <tt class="py-name">ch</tt> </tt>
<a name="L160"></a><tt class="py-lineno">160</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">result</tt> </tt>
</div><a name="L161"></a><tt class="py-lineno">161</tt> <tt class="py-line"> </tt>
<a name="JsonReader._readComment"></a><div id="JsonReader._readComment-def"><a name="L162"></a><tt class="py-lineno">162</tt> <a class="py-toggle" href="#" id="JsonReader._readComment-toggle" onclick="return toggle('JsonReader._readComment');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="scapi.json.JsonReader-class.html#_readComment">_readComment</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="JsonReader._readComment-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="JsonReader._readComment-expanded"><a name="L163"></a><tt class="py-lineno">163</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-77" class="py-name"><a title="scapi.json.JsonReader._next" class="py-name" href="#" onclick="return doclink('link-77', '_next', 'link-43');">_next</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-string">"/"</tt> </tt>
<a name="L164"></a><tt class="py-lineno">164</tt> <tt class="py-line"> <tt class="py-name">second</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-78" class="py-name"><a title="scapi.json.JsonReader._next" class="py-name" href="#" onclick="return doclink('link-78', '_next', 'link-43');">_next</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L165"></a><tt class="py-lineno">165</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">second</tt> <tt class="py-op">==</tt> <tt class="py-string">"/"</tt><tt class="py-op">:</tt> </tt>
<a name="L166"></a><tt class="py-lineno">166</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-79" class="py-name" targets="Method scapi.json.JsonReader._readDoubleSolidusComment()=scapi.json.JsonReader-class.html#_readDoubleSolidusComment"><a title="scapi.json.JsonReader._readDoubleSolidusComment" class="py-name" href="#" onclick="return doclink('link-79', '_readDoubleSolidusComment', 'link-79');">_readDoubleSolidusComment</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L167"></a><tt class="py-lineno">167</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">second</tt> <tt class="py-op">==</tt> <tt class="py-string">'*'</tt><tt class="py-op">:</tt> </tt>
<a name="L168"></a><tt class="py-lineno">168</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-80" class="py-name" targets="Method scapi.json.JsonReader._readCStyleComment()=scapi.json.JsonReader-class.html#_readCStyleComment"><a title="scapi.json.JsonReader._readCStyleComment" class="py-name" href="#" onclick="return doclink('link-80', '_readCStyleComment', 'link-80');">_readCStyleComment</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L169"></a><tt class="py-lineno">169</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
<a name="L170"></a><tt class="py-lineno">170</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-81" class="py-name"><a title="scapi.json.ReadException" class="py-name" href="#" onclick="return doclink('link-81', 'ReadException', 'link-8');">ReadException</a></tt><tt class="py-op">,</tt> <tt class="py-string">"Not a valid JSON comment: %s"</tt> <tt class="py-op">%</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_generator</tt><tt class="py-op">.</tt><tt id="link-82" class="py-name"><a title="scapi.json._StringGenerator.all" class="py-name" href="#" onclick="return doclink('link-82', 'all', 'link-9');">all</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
</div><a name="L171"></a><tt class="py-lineno">171</tt> <tt class="py-line"> </tt>
<a name="JsonReader._readCStyleComment"></a><div id="JsonReader._readCStyleComment-def"><a name="L172"></a><tt class="py-lineno">172</tt> <a class="py-toggle" href="#" id="JsonReader._readCStyleComment-toggle" onclick="return toggle('JsonReader._readCStyleComment');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="scapi.json.JsonReader-class.html#_readCStyleComment">_readCStyleComment</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="JsonReader._readCStyleComment-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="JsonReader._readCStyleComment-expanded"><a name="L173"></a><tt class="py-lineno">173</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
<a name="L174"></a><tt class="py-lineno">174</tt> <tt class="py-line"> <tt class="py-name">done</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
<a name="L175"></a><tt class="py-lineno">175</tt> <tt class="py-line"> <tt class="py-keyword">while</tt> <tt class="py-keyword">not</tt> <tt class="py-name">done</tt><tt class="py-op">:</tt> </tt>
<a name="L176"></a><tt class="py-lineno">176</tt> <tt class="py-line"> <tt class="py-name">ch</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-83" class="py-name"><a title="scapi.json.JsonReader._next" class="py-name" href="#" onclick="return doclink('link-83', '_next', 'link-43');">_next</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L177"></a><tt class="py-lineno">177</tt> <tt class="py-line"> <tt class="py-name">done</tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-name">ch</tt> <tt class="py-op">==</tt> <tt class="py-string">"*"</tt> <tt class="py-keyword">and</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-84" class="py-name"><a title="scapi.json.JsonReader._peek" class="py-name" href="#" onclick="return doclink('link-84', '_peek', 'link-6');">_peek</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-string">"/"</tt><tt class="py-op">)</tt> </tt>
<a name="L178"></a><tt class="py-lineno">178</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">done</tt> <tt class="py-keyword">and</tt> <tt class="py-name">ch</tt> <tt class="py-op">==</tt> <tt class="py-string">"/"</tt> <tt class="py-keyword">and</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-85" class="py-name"><a title="scapi.json.JsonReader._peek" class="py-name" href="#" onclick="return doclink('link-85', '_peek', 'link-6');">_peek</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-string">"*"</tt><tt class="py-op">:</tt> </tt>
<a name="L179"></a><tt class="py-lineno">179</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-86" class="py-name"><a title="scapi.json.ReadException" class="py-name" href="#" onclick="return doclink('link-86', 'ReadException', 'link-8');">ReadException</a></tt><tt class="py-op">,</tt> <tt class="py-string">"Not a valid JSON comment: %s, '/*' cannot be embedded in the comment."</tt> <tt class="py-op">%</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_generator</tt><tt class="py-op">.</tt><tt id="link-87" class="py-name"><a title="scapi.json._StringGenerator.all" class="py-name" href="#" onclick="return doclink('link-87', 'all', 'link-9');">all</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L180"></a><tt class="py-lineno">180</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-88" class="py-name"><a title="scapi.json.JsonReader._next" class="py-name" href="#" onclick="return doclink('link-88', '_next', 'link-43');">_next</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L181"></a><tt class="py-lineno">181</tt> <tt class="py-line"> <tt class="py-keyword">except</tt> <tt class="py-name">StopIteration</tt><tt class="py-op">:</tt> </tt>
<a name="L182"></a><tt class="py-lineno">182</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-89" class="py-name"><a title="scapi.json.ReadException" class="py-name" href="#" onclick="return doclink('link-89', 'ReadException', 'link-8');">ReadException</a></tt><tt class="py-op">,</tt> <tt class="py-string">"Not a valid JSON comment: %s, expected */"</tt> <tt class="py-op">%</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_generator</tt><tt class="py-op">.</tt><tt id="link-90" class="py-name"><a title="scapi.json._StringGenerator.all" class="py-name" href="#" onclick="return doclink('link-90', 'all', 'link-9');">all</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
</div><a name="L183"></a><tt class="py-lineno">183</tt> <tt class="py-line"> </tt>
<a name="JsonReader._readDoubleSolidusComment"></a><div id="JsonReader._readDoubleSolidusComment-def"><a name="L184"></a><tt class="py-lineno">184</tt> <a class="py-toggle" href="#" id="JsonReader._readDoubleSolidusComment-toggle" onclick="return toggle('JsonReader._readDoubleSolidusComment');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="scapi.json.JsonReader-class.html#_readDoubleSolidusComment">_readDoubleSolidusComment</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="JsonReader._readDoubleSolidusComment-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="JsonReader._readDoubleSolidusComment-expanded"><a name="L185"></a><tt class="py-lineno">185</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
<a name="L186"></a><tt class="py-lineno">186</tt> <tt class="py-line"> <tt class="py-name">ch</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-91" class="py-name"><a title="scapi.json.JsonReader._next" class="py-name" href="#" onclick="return doclink('link-91', '_next', 'link-43');">_next</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L187"></a><tt class="py-lineno">187</tt> <tt class="py-line"> <tt class="py-keyword">while</tt> <tt class="py-name">ch</tt> <tt class="py-op">!=</tt> <tt class="py-string">"\r"</tt> <tt class="py-keyword">and</tt> <tt class="py-name">ch</tt> <tt class="py-op">!=</tt> <tt class="py-string">"\n"</tt><tt class="py-op">:</tt> </tt>
<a name="L188"></a><tt class="py-lineno">188</tt> <tt class="py-line"> <tt class="py-name">ch</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-92" class="py-name"><a title="scapi.json.JsonReader._next" class="py-name" href="#" onclick="return doclink('link-92', '_next', 'link-43');">_next</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L189"></a><tt class="py-lineno">189</tt> <tt class="py-line"> <tt class="py-keyword">except</tt> <tt class="py-name">StopIteration</tt><tt class="py-op">:</tt> </tt>
<a name="L190"></a><tt class="py-lineno">190</tt> <tt class="py-line"> <tt class="py-keyword">pass</tt> </tt>
</div><a name="L191"></a><tt class="py-lineno">191</tt> <tt class="py-line"> </tt>
<a name="JsonReader._readArray"></a><div id="JsonReader._readArray-def"><a name="L192"></a><tt class="py-lineno">192</tt> <a class="py-toggle" href="#" id="JsonReader._readArray-toggle" onclick="return toggle('JsonReader._readArray');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="scapi.json.JsonReader-class.html#_readArray">_readArray</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="JsonReader._readArray-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="JsonReader._readArray-expanded"><a name="L193"></a><tt class="py-lineno">193</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
<a name="L194"></a><tt class="py-lineno">194</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-93" class="py-name"><a title="scapi.json.JsonReader._next" class="py-name" href="#" onclick="return doclink('link-93', '_next', 'link-43');">_next</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-string">'['</tt> </tt>
<a name="L195"></a><tt class="py-lineno">195</tt> <tt class="py-line"> <tt class="py-name">done</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-94" class="py-name"><a title="scapi.json.JsonReader._peek" class="py-name" href="#" onclick="return doclink('link-94', '_peek', 'link-6');">_peek</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-string">']'</tt> </tt>
<a name="L196"></a><tt class="py-lineno">196</tt> <tt class="py-line"> <tt class="py-keyword">while</tt> <tt class="py-keyword">not</tt> <tt class="py-name">done</tt><tt class="py-op">:</tt> </tt>
<a name="L197"></a><tt class="py-lineno">197</tt> <tt class="py-line"> <tt class="py-name">item</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-95" class="py-name"><a title="scapi.json.JsonReader._read" class="py-name" href="#" onclick="return doclink('link-95', '_read', 'link-3');">_read</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L198"></a><tt class="py-lineno">198</tt> <tt class="py-line"> <tt class="py-name">result</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">item</tt><tt class="py-op">)</tt> </tt>
<a name="L199"></a><tt class="py-lineno">199</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-96" class="py-name"><a title="scapi.json.JsonReader._eatWhitespace" class="py-name" href="#" onclick="return doclink('link-96', '_eatWhitespace', 'link-4');">_eatWhitespace</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L200"></a><tt class="py-lineno">200</tt> <tt class="py-line"> <tt class="py-name">done</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-97" class="py-name"><a title="scapi.json.JsonReader._peek" class="py-name" href="#" onclick="return doclink('link-97', '_peek', 'link-6');">_peek</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-string">']'</tt> </tt>
<a name="L201"></a><tt class="py-lineno">201</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">done</tt><tt class="py-op">:</tt> </tt>
<a name="L202"></a><tt class="py-lineno">202</tt> <tt class="py-line"> <tt class="py-name">ch</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-98" class="py-name"><a title="scapi.json.JsonReader._next" class="py-name" href="#" onclick="return doclink('link-98', '_next', 'link-43');">_next</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L203"></a><tt class="py-lineno">203</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">ch</tt> <tt class="py-op">!=</tt> <tt class="py-string">","</tt><tt class="py-op">:</tt> </tt>
<a name="L204"></a><tt class="py-lineno">204</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-99" class="py-name"><a title="scapi.json.ReadException" class="py-name" href="#" onclick="return doclink('link-99', 'ReadException', 'link-8');">ReadException</a></tt><tt class="py-op">,</tt> <tt class="py-string">"Not a valid JSON array: '%s' due to: '%s'"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_generator</tt><tt class="py-op">.</tt><tt id="link-100" class="py-name"><a title="scapi.json._StringGenerator.all" class="py-name" href="#" onclick="return doclink('link-100', 'all', 'link-9');">all</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">ch</tt><tt class="py-op">)</tt> </tt>
<a name="L205"></a><tt class="py-lineno">205</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-string">']'</tt> <tt class="py-op">==</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-101" class="py-name"><a title="scapi.json.JsonReader._next" class="py-name" href="#" onclick="return doclink('link-101', '_next', 'link-43');">_next</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L206"></a><tt class="py-lineno">206</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">result</tt> </tt>
</div><a name="L207"></a><tt class="py-lineno">207</tt> <tt class="py-line"> </tt>
<a name="JsonReader._readObject"></a><div id="JsonReader._readObject-def"><a name="L208"></a><tt class="py-lineno">208</tt> <a class="py-toggle" href="#" id="JsonReader._readObject-toggle" onclick="return toggle('JsonReader._readObject');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="scapi.json.JsonReader-class.html#_readObject">_readObject</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="JsonReader._readObject-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="JsonReader._readObject-expanded"><a name="L209"></a><tt class="py-lineno">209</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
<a name="L210"></a><tt class="py-lineno">210</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-102" class="py-name"><a title="scapi.json.JsonReader._next" class="py-name" href="#" onclick="return doclink('link-102', '_next', 'link-43');">_next</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-string">'{'</tt> </tt>
<a name="L211"></a><tt class="py-lineno">211</tt> <tt class="py-line"> <tt class="py-name">done</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-103" class="py-name"><a title="scapi.json.JsonReader._peek" class="py-name" href="#" onclick="return doclink('link-103', '_peek', 'link-6');">_peek</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-string">'}'</tt> </tt>
<a name="L212"></a><tt class="py-lineno">212</tt> <tt class="py-line"> <tt class="py-keyword">while</tt> <tt class="py-keyword">not</tt> <tt class="py-name">done</tt><tt class="py-op">:</tt> </tt>
<a name="L213"></a><tt class="py-lineno">213</tt> <tt class="py-line"> <tt class="py-name">key</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-104" class="py-name"><a title="scapi.json.JsonReader._read" class="py-name" href="#" onclick="return doclink('link-104', '_read', 'link-3');">_read</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L214"></a><tt class="py-lineno">214</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">key</tt><tt class="py-op">)</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">types</tt><tt class="py-op">.</tt><tt class="py-name">StringType</tt><tt class="py-op">:</tt> </tt>
<a name="L215"></a><tt class="py-lineno">215</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-105" class="py-name"><a title="scapi.json.ReadException" class="py-name" href="#" onclick="return doclink('link-105', 'ReadException', 'link-8');">ReadException</a></tt><tt class="py-op">,</tt> <tt class="py-string">"Not a valid JSON object key (should be a string): %s"</tt> <tt class="py-op">%</tt> <tt class="py-name">key</tt> </tt>
<a name="L216"></a><tt class="py-lineno">216</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-106" class="py-name"><a title="scapi.json.JsonReader._eatWhitespace" class="py-name" href="#" onclick="return doclink('link-106', '_eatWhitespace', 'link-4');">_eatWhitespace</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L217"></a><tt class="py-lineno">217</tt> <tt class="py-line"> <tt class="py-name">ch</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-107" class="py-name"><a title="scapi.json.JsonReader._next" class="py-name" href="#" onclick="return doclink('link-107', '_next', 'link-43');">_next</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L218"></a><tt class="py-lineno">218</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">ch</tt> <tt class="py-op">!=</tt> <tt class="py-string">":"</tt><tt class="py-op">:</tt> </tt>
<a name="L219"></a><tt class="py-lineno">219</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-108" class="py-name"><a title="scapi.json.ReadException" class="py-name" href="#" onclick="return doclink('link-108', 'ReadException', 'link-8');">ReadException</a></tt><tt class="py-op">,</tt> <tt class="py-string">"Not a valid JSON object: '%s' due to: '%s'"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_generator</tt><tt class="py-op">.</tt><tt id="link-109" class="py-name"><a title="scapi.json._StringGenerator.all" class="py-name" href="#" onclick="return doclink('link-109', 'all', 'link-9');">all</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">ch</tt><tt class="py-op">)</tt> </tt>
<a name="L220"></a><tt class="py-lineno">220</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-110" class="py-name"><a title="scapi.json.JsonReader._eatWhitespace" class="py-name" href="#" onclick="return doclink('link-110', '_eatWhitespace', 'link-4');">_eatWhitespace</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L221"></a><tt class="py-lineno">221</tt> <tt class="py-line"> <tt class="py-name">val</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-111" class="py-name"><a title="scapi.json.JsonReader._read" class="py-name" href="#" onclick="return doclink('link-111', '_read', 'link-3');">_read</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L222"></a><tt class="py-lineno">222</tt> <tt class="py-line"> <tt class="py-name">result</tt><tt class="py-op">[</tt><tt class="py-name">key</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">val</tt> </tt>
<a name="L223"></a><tt class="py-lineno">223</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-112" class="py-name"><a title="scapi.json.JsonReader._eatWhitespace" class="py-name" href="#" onclick="return doclink('link-112', '_eatWhitespace', 'link-4');">_eatWhitespace</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L224"></a><tt class="py-lineno">224</tt> <tt class="py-line"> <tt class="py-name">done</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-113" class="py-name"><a title="scapi.json.JsonReader._peek" class="py-name" href="#" onclick="return doclink('link-113', '_peek', 'link-6');">_peek</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-string">'}'</tt> </tt>
<a name="L225"></a><tt class="py-lineno">225</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">done</tt><tt class="py-op">:</tt> </tt>
<a name="L226"></a><tt class="py-lineno">226</tt> <tt class="py-line"> <tt class="py-name">ch</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-114" class="py-name"><a title="scapi.json.JsonReader._next" class="py-name" href="#" onclick="return doclink('link-114', '_next', 'link-43');">_next</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L227"></a><tt class="py-lineno">227</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">ch</tt> <tt class="py-op">!=</tt> <tt class="py-string">","</tt><tt class="py-op">:</tt> </tt>
<a name="L228"></a><tt class="py-lineno">228</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-115" class="py-name"><a title="scapi.json.ReadException" class="py-name" href="#" onclick="return doclink('link-115', 'ReadException', 'link-8');">ReadException</a></tt><tt class="py-op">,</tt> <tt class="py-string">"Not a valid JSON array: '%s' due to: '%s'"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_generator</tt><tt class="py-op">.</tt><tt id="link-116" class="py-name"><a title="scapi.json._StringGenerator.all" class="py-name" href="#" onclick="return doclink('link-116', 'all', 'link-9');">all</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">ch</tt><tt class="py-op">)</tt> </tt>
<a name="L229"></a><tt class="py-lineno">229</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-117" class="py-name"><a title="scapi.json.JsonReader._next" class="py-name" href="#" onclick="return doclink('link-117', '_next', 'link-43');">_next</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-string">"}"</tt> </tt>
<a name="L230"></a><tt class="py-lineno">230</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">result</tt> </tt>
</div><a name="L231"></a><tt class="py-lineno">231</tt> <tt class="py-line"> </tt>
<a name="JsonReader._eatWhitespace"></a><div id="JsonReader._eatWhitespace-def"><a name="L232"></a><tt class="py-lineno">232</tt> <a class="py-toggle" href="#" id="JsonReader._eatWhitespace-toggle" onclick="return toggle('JsonReader._eatWhitespace');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="scapi.json.JsonReader-class.html#_eatWhitespace">_eatWhitespace</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="JsonReader._eatWhitespace-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="JsonReader._eatWhitespace-expanded"><a name="L233"></a><tt class="py-lineno">233</tt> <tt class="py-line"> <tt class="py-name">p</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-118" class="py-name"><a title="scapi.json.JsonReader._peek" class="py-name" href="#" onclick="return doclink('link-118', '_peek', 'link-6');">_peek</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L234"></a><tt class="py-lineno">234</tt> <tt class="py-line"> <tt class="py-keyword">while</tt> <tt class="py-name">p</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt> <tt class="py-keyword">and</tt> <tt class="py-name">p</tt> <tt class="py-keyword">in</tt> <tt class="py-name">string</tt><tt class="py-op">.</tt><tt class="py-name">whitespace</tt> <tt class="py-keyword">or</tt> <tt class="py-name">p</tt> <tt class="py-op">==</tt> <tt class="py-string">'/'</tt><tt class="py-op">:</tt> </tt>
<a name="L235"></a><tt class="py-lineno">235</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">p</tt> <tt class="py-op">==</tt> <tt class="py-string">'/'</tt><tt class="py-op">:</tt> </tt>
<a name="L236"></a><tt class="py-lineno">236</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-119" class="py-name"><a title="scapi.json.JsonReader._readComment" class="py-name" href="#" onclick="return doclink('link-119', '_readComment', 'link-26');">_readComment</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L237"></a><tt class="py-lineno">237</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
<a name="L238"></a><tt class="py-lineno">238</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-120" class="py-name"><a title="scapi.json.JsonReader._next" class="py-name" href="#" onclick="return doclink('link-120', '_next', 'link-43');">_next</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L239"></a><tt class="py-lineno">239</tt> <tt class="py-line"> <tt class="py-name">p</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-121" class="py-name"><a title="scapi.json.JsonReader._peek" class="py-name" href="#" onclick="return doclink('link-121', '_peek', 'link-6');">_peek</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
</div><a name="L240"></a><tt class="py-lineno">240</tt> <tt class="py-line"> </tt>
<a name="JsonReader._peek"></a><div id="JsonReader._peek-def"><a name="L241"></a><tt class="py-lineno">241</tt> <a class="py-toggle" href="#" id="JsonReader._peek-toggle" onclick="return toggle('JsonReader._peek');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="scapi.json.JsonReader-class.html#_peek">_peek</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="JsonReader._peek-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="JsonReader._peek-expanded"><a name="L242"></a><tt class="py-lineno">242</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_generator</tt><tt class="py-op">.</tt><tt id="link-122" class="py-name"><a title="scapi.json._StringGenerator.peek" class="py-name" href="#" onclick="return doclink('link-122', 'peek', 'link-5');">peek</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
</div><a name="L243"></a><tt class="py-lineno">243</tt> <tt class="py-line"> </tt>
<a name="JsonReader._next"></a><div id="JsonReader._next-def"><a name="L244"></a><tt class="py-lineno">244</tt> <a class="py-toggle" href="#" id="JsonReader._next-toggle" onclick="return toggle('JsonReader._next');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="scapi.json.JsonReader-class.html#_next">_next</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="JsonReader._next-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="JsonReader._next-expanded"><a name="L245"></a><tt class="py-lineno">245</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_generator</tt><tt class="py-op">.</tt><tt id="link-123" class="py-name" targets="Method scapi.json._StringGenerator.next()=scapi.json._StringGenerator-class.html#next"><a title="scapi.json._StringGenerator.next" class="py-name" href="#" onclick="return doclink('link-123', 'next', 'link-123');">next</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
</div></div><a name="L246"></a><tt class="py-lineno">246</tt> <tt class="py-line"> </tt>
<a name="JsonWriter"></a><div id="JsonWriter-def"><a name="L247"></a><tt class="py-lineno">247</tt> <a class="py-toggle" href="#" id="JsonWriter-toggle" onclick="return toggle('JsonWriter');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="scapi.json.JsonWriter-class.html">JsonWriter</a><tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="JsonWriter-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="JsonWriter-expanded"><a name="L248"></a><tt class="py-lineno">248</tt> <tt class="py-line"> </tt>
<a name="JsonWriter._append"></a><div id="JsonWriter._append-def"><a name="L249"></a><tt class="py-lineno">249</tt> <a class="py-toggle" href="#" id="JsonWriter._append-toggle" onclick="return toggle('JsonWriter._append');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="scapi.json.JsonWriter-class.html#_append">_append</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">s</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="JsonWriter._append-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="JsonWriter._append-expanded"><a name="L250"></a><tt class="py-lineno">250</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_results</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">s</tt><tt class="py-op">)</tt> </tt>
</div><a name="L251"></a><tt class="py-lineno">251</tt> <tt class="py-line"> </tt>
<a name="JsonWriter.write"></a><div id="JsonWriter.write-def"><a name="L252"></a><tt class="py-lineno">252</tt> <a class="py-toggle" href="#" id="JsonWriter.write-toggle" onclick="return toggle('JsonWriter.write');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="scapi.json.JsonWriter-class.html#write">write</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">obj</tt><tt class="py-op">,</tt> <tt class="py-param">escaped_forward_slash</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="JsonWriter.write-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="JsonWriter.write-expanded"><a name="L253"></a><tt class="py-lineno">253</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_escaped_forward_slash</tt> <tt class="py-op">=</tt> <tt class="py-name">escaped_forward_slash</tt> </tt>
<a name="L254"></a><tt class="py-lineno">254</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_results</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
<a name="L255"></a><tt class="py-lineno">255</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-124" class="py-name" targets="Method scapi.json.JsonWriter._write()=scapi.json.JsonWriter-class.html#_write"><a title="scapi.json.JsonWriter._write" class="py-name" href="#" onclick="return doclink('link-124', '_write', 'link-124');">_write</a></tt><tt class="py-op">(</tt><tt class="py-name">obj</tt><tt class="py-op">)</tt> </tt>
<a name="L256"></a><tt class="py-lineno">256</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-string">""</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_results</tt><tt class="py-op">)</tt> </tt>
</div><a name="L257"></a><tt class="py-lineno">257</tt> <tt class="py-line"> </tt>
<a name="JsonWriter._write"></a><div id="JsonWriter._write-def"><a name="L258"></a><tt class="py-lineno">258</tt> <a class="py-toggle" href="#" id="JsonWriter._write-toggle" onclick="return toggle('JsonWriter._write');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="scapi.json.JsonWriter-class.html#_write">_write</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">obj</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="JsonWriter._write-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="JsonWriter._write-expanded"><a name="L259"></a><tt class="py-lineno">259</tt> <tt class="py-line"> <tt class="py-name">ty</tt> <tt class="py-op">=</tt> <tt class="py-name">type</tt><tt class="py-op">(</tt><tt class="py-name">obj</tt><tt class="py-op">)</tt> </tt>
<a name="L260"></a><tt class="py-lineno">260</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">ty</tt> <tt class="py-keyword">is</tt> <tt class="py-name">types</tt><tt class="py-op">.</tt><tt class="py-name">DictType</tt><tt class="py-op">:</tt> </tt>
<a name="L261"></a><tt class="py-lineno">261</tt> <tt class="py-line"> <tt class="py-name">n</tt> <tt class="py-op">=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">obj</tt><tt class="py-op">)</tt> </tt>
<a name="L262"></a><tt class="py-lineno">262</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-125" class="py-name" targets="Method scapi.json.JsonWriter._append()=scapi.json.JsonWriter-class.html#_append"><a title="scapi.json.JsonWriter._append" class="py-name" href="#" onclick="return doclink('link-125', '_append', 'link-125');">_append</a></tt><tt class="py-op">(</tt><tt class="py-string">"{"</tt><tt class="py-op">)</tt> </tt>
<a name="L263"></a><tt class="py-lineno">263</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">k</tt><tt class="py-op">,</tt> <tt class="py-name">v</tt> <tt class="py-keyword">in</tt> <tt class="py-name">obj</tt><tt class="py-op">.</tt><tt class="py-name">items</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L264"></a><tt class="py-lineno">264</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-126" class="py-name"><a title="scapi.json.JsonWriter._write" class="py-name" href="#" onclick="return doclink('link-126', '_write', 'link-124');">_write</a></tt><tt class="py-op">(</tt><tt class="py-name">k</tt><tt class="py-op">)</tt> </tt>
<a name="L265"></a><tt class="py-lineno">265</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-127" class="py-name"><a title="scapi.json.JsonWriter._append" class="py-name" href="#" onclick="return doclink('link-127', '_append', 'link-125');">_append</a></tt><tt class="py-op">(</tt><tt class="py-string">":"</tt><tt class="py-op">)</tt> </tt>
<a name="L266"></a><tt class="py-lineno">266</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-128" class="py-name"><a title="scapi.json.JsonWriter._write" class="py-name" href="#" onclick="return doclink('link-128', '_write', 'link-124');">_write</a></tt><tt class="py-op">(</tt><tt class="py-name">v</tt><tt class="py-op">)</tt> </tt>
<a name="L267"></a><tt class="py-lineno">267</tt> <tt class="py-line"> <tt class="py-name">n</tt> <tt class="py-op">=</tt> <tt class="py-name">n</tt> <tt class="py-op">-</tt> <tt class="py-number">1</tt> </tt>
<a name="L268"></a><tt class="py-lineno">268</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">n</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
<a name="L269"></a><tt class="py-lineno">269</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-129" class="py-name"><a title="scapi.json.JsonWriter._append" class="py-name" href="#" onclick="return doclink('link-129', '_append', 'link-125');">_append</a></tt><tt class="py-op">(</tt><tt class="py-string">","</tt><tt class="py-op">)</tt> </tt>
<a name="L270"></a><tt class="py-lineno">270</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-130" class="py-name"><a title="scapi.json.JsonWriter._append" class="py-name" href="#" onclick="return doclink('link-130', '_append', 'link-125');">_append</a></tt><tt class="py-op">(</tt><tt class="py-string">"}"</tt><tt class="py-op">)</tt> </tt>
<a name="L271"></a><tt class="py-lineno">271</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">ty</tt> <tt class="py-keyword">is</tt> <tt class="py-name">types</tt><tt class="py-op">.</tt><tt class="py-name">ListType</tt> <tt class="py-keyword">or</tt> <tt class="py-name">ty</tt> <tt class="py-keyword">is</tt> <tt class="py-name">types</tt><tt class="py-op">.</tt><tt class="py-name">TupleType</tt><tt class="py-op">:</tt> </tt>
<a name="L272"></a><tt class="py-lineno">272</tt> <tt class="py-line"> <tt class="py-name">n</tt> <tt class="py-op">=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">obj</tt><tt class="py-op">)</tt> </tt>
<a name="L273"></a><tt class="py-lineno">273</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-131" class="py-name"><a title="scapi.json.JsonWriter._append" class="py-name" href="#" onclick="return doclink('link-131', '_append', 'link-125');">_append</a></tt><tt class="py-op">(</tt><tt class="py-string">"["</tt><tt class="py-op">)</tt> </tt>
<a name="L274"></a><tt class="py-lineno">274</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">item</tt> <tt class="py-keyword">in</tt> <tt class="py-name">obj</tt><tt class="py-op">:</tt> </tt>
<a name="L275"></a><tt class="py-lineno">275</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-132" class="py-name"><a title="scapi.json.JsonWriter._write" class="py-name" href="#" onclick="return doclink('link-132', '_write', 'link-124');">_write</a></tt><tt class="py-op">(</tt><tt class="py-name">item</tt><tt class="py-op">)</tt> </tt>
<a name="L276"></a><tt class="py-lineno">276</tt> <tt class="py-line"> <tt class="py-name">n</tt> <tt class="py-op">=</tt> <tt class="py-name">n</tt> <tt class="py-op">-</tt> <tt class="py-number">1</tt> </tt>
<a name="L277"></a><tt class="py-lineno">277</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">n</tt> <tt class="py-op">&gt;</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
<a name="L278"></a><tt class="py-lineno">278</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-133" class="py-name"><a title="scapi.json.JsonWriter._append" class="py-name" href="#" onclick="return doclink('link-133', '_append', 'link-125');">_append</a></tt><tt class="py-op">(</tt><tt class="py-string">","</tt><tt class="py-op">)</tt> </tt>
<a name="L279"></a><tt class="py-lineno">279</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-134" class="py-name"><a title="scapi.json.JsonWriter._append" class="py-name" href="#" onclick="return doclink('link-134', '_append', 'link-125');">_append</a></tt><tt class="py-op">(</tt><tt class="py-string">"]"</tt><tt class="py-op">)</tt> </tt>
<a name="L280"></a><tt class="py-lineno">280</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">ty</tt> <tt class="py-keyword">is</tt> <tt class="py-name">types</tt><tt class="py-op">.</tt><tt class="py-name">StringType</tt> <tt class="py-keyword">or</tt> <tt class="py-name">ty</tt> <tt class="py-keyword">is</tt> <tt class="py-name">types</tt><tt class="py-op">.</tt><tt class="py-name">UnicodeType</tt><tt class="py-op">:</tt> </tt>
<a name="L281"></a><tt class="py-lineno">281</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-135" class="py-name"><a title="scapi.json.JsonWriter._append" class="py-name" href="#" onclick="return doclink('link-135', '_append', 'link-125');">_append</a></tt><tt class="py-op">(</tt><tt class="py-string">'"'</tt><tt class="py-op">)</tt> </tt>
<a name="L282"></a><tt class="py-lineno">282</tt> <tt class="py-line"> <tt class="py-name">obj</tt> <tt class="py-op">=</tt> <tt class="py-name">obj</tt><tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt><tt class="py-string">'\\'</tt><tt class="py-op">,</tt> <tt class="py-string">r'\\'</tt><tt class="py-op">)</tt> </tt>
<a name="L283"></a><tt class="py-lineno">283</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_escaped_forward_slash</tt><tt class="py-op">:</tt> </tt>
<a name="L284"></a><tt class="py-lineno">284</tt> <tt class="py-line"> <tt class="py-name">obj</tt> <tt class="py-op">=</tt> <tt class="py-name">obj</tt><tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt><tt class="py-string">'/'</tt><tt class="py-op">,</tt> <tt class="py-string">r'\/'</tt><tt class="py-op">)</tt> </tt>
<a name="L285"></a><tt class="py-lineno">285</tt> <tt class="py-line"> <tt class="py-name">obj</tt> <tt class="py-op">=</tt> <tt class="py-name">obj</tt><tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt><tt class="py-string">'"'</tt><tt class="py-op">,</tt> <tt class="py-string">r'\"'</tt><tt class="py-op">)</tt> </tt>
<a name="L286"></a><tt class="py-lineno">286</tt> <tt class="py-line"> <tt class="py-name">obj</tt> <tt class="py-op">=</tt> <tt class="py-name">obj</tt><tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt><tt class="py-string">'\b'</tt><tt class="py-op">,</tt> <tt class="py-string">r'\b'</tt><tt class="py-op">)</tt> </tt>
<a name="L287"></a><tt class="py-lineno">287</tt> <tt class="py-line"> <tt class="py-name">obj</tt> <tt class="py-op">=</tt> <tt class="py-name">obj</tt><tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt><tt class="py-string">'\f'</tt><tt class="py-op">,</tt> <tt class="py-string">r'\f'</tt><tt class="py-op">)</tt> </tt>
<a name="L288"></a><tt class="py-lineno">288</tt> <tt class="py-line"> <tt class="py-name">obj</tt> <tt class="py-op">=</tt> <tt class="py-name">obj</tt><tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt><tt class="py-string">'\n'</tt><tt class="py-op">,</tt> <tt class="py-string">r'\n'</tt><tt class="py-op">)</tt> </tt>
<a name="L289"></a><tt class="py-lineno">289</tt> <tt class="py-line"> <tt class="py-name">obj</tt> <tt class="py-op">=</tt> <tt class="py-name">obj</tt><tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt><tt class="py-string">'\r'</tt><tt class="py-op">,</tt> <tt class="py-string">r'\r'</tt><tt class="py-op">)</tt> </tt>
<a name="L290"></a><tt class="py-lineno">290</tt> <tt class="py-line"> <tt class="py-name">obj</tt> <tt class="py-op">=</tt> <tt class="py-name">obj</tt><tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt><tt class="py-string">'\t'</tt><tt class="py-op">,</tt> <tt class="py-string">r'\t'</tt><tt class="py-op">)</tt> </tt>
<a name="L291"></a><tt class="py-lineno">291</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-136" class="py-name"><a title="scapi.json.JsonWriter._append" class="py-name" href="#" onclick="return doclink('link-136', '_append', 'link-125');">_append</a></tt><tt class="py-op">(</tt><tt class="py-name">obj</tt><tt class="py-op">)</tt> </tt>
<a name="L292"></a><tt class="py-lineno">292</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-137" class="py-name"><a title="scapi.json.JsonWriter._append" class="py-name" href="#" onclick="return doclink('link-137', '_append', 'link-125');">_append</a></tt><tt class="py-op">(</tt><tt class="py-string">'"'</tt><tt class="py-op">)</tt> </tt>
<a name="L293"></a><tt class="py-lineno">293</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">ty</tt> <tt class="py-keyword">is</tt> <tt class="py-name">types</tt><tt class="py-op">.</tt><tt class="py-name">IntType</tt> <tt class="py-keyword">or</tt> <tt class="py-name">ty</tt> <tt class="py-keyword">is</tt> <tt class="py-name">types</tt><tt class="py-op">.</tt><tt class="py-name">LongType</tt><tt class="py-op">:</tt> </tt>
<a name="L294"></a><tt class="py-lineno">294</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-138" class="py-name"><a title="scapi.json.JsonWriter._append" class="py-name" href="#" onclick="return doclink('link-138', '_append', 'link-125');">_append</a></tt><tt class="py-op">(</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">obj</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
<a name="L295"></a><tt class="py-lineno">295</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">ty</tt> <tt class="py-keyword">is</tt> <tt class="py-name">types</tt><tt class="py-op">.</tt><tt class="py-name">FloatType</tt><tt class="py-op">:</tt> </tt>
<a name="L296"></a><tt class="py-lineno">296</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-139" class="py-name"><a title="scapi.json.JsonWriter._append" class="py-name" href="#" onclick="return doclink('link-139', '_append', 'link-125');">_append</a></tt><tt class="py-op">(</tt><tt class="py-string">"%f"</tt> <tt class="py-op">%</tt> <tt class="py-name">obj</tt><tt class="py-op">)</tt> </tt>
<a name="L297"></a><tt class="py-lineno">297</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">obj</tt> <tt class="py-keyword">is</tt> <tt class="py-name">True</tt><tt class="py-op">:</tt> </tt>
<a name="L298"></a><tt class="py-lineno">298</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-140" class="py-name"><a title="scapi.json.JsonWriter._append" class="py-name" href="#" onclick="return doclink('link-140', '_append', 'link-125');">_append</a></tt><tt class="py-op">(</tt><tt class="py-string">"true"</tt><tt class="py-op">)</tt> </tt>
<a name="L299"></a><tt class="py-lineno">299</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">obj</tt> <tt class="py-keyword">is</tt> <tt class="py-name">False</tt><tt class="py-op">:</tt> </tt>
<a name="L300"></a><tt class="py-lineno">300</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-141" class="py-name"><a title="scapi.json.JsonWriter._append" class="py-name" href="#" onclick="return doclink('link-141', '_append', 'link-125');">_append</a></tt><tt class="py-op">(</tt><tt class="py-string">"false"</tt><tt class="py-op">)</tt> </tt>
<a name="L301"></a><tt class="py-lineno">301</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">obj</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
<a name="L302"></a><tt class="py-lineno">302</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-142" class="py-name"><a title="scapi.json.JsonWriter._append" class="py-name" href="#" onclick="return doclink('link-142', '_append', 'link-125');">_append</a></tt><tt class="py-op">(</tt><tt class="py-string">"null"</tt><tt class="py-op">)</tt> </tt>
<a name="L303"></a><tt class="py-lineno">303</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
<a name="L304"></a><tt class="py-lineno">304</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-143" class="py-name" targets="Class scapi.json.WriteException=scapi.json.WriteException-class.html"><a title="scapi.json.WriteException" class="py-name" href="#" onclick="return doclink('link-143', 'WriteException', 'link-143');">WriteException</a></tt><tt class="py-op">,</tt> <tt class="py-string">"Cannot write in JSON: %s"</tt> <tt class="py-op">%</tt> <tt class="py-name">repr</tt><tt class="py-op">(</tt><tt class="py-name">obj</tt><tt class="py-op">)</tt> </tt>
</div></div><a name="L305"></a><tt class="py-lineno">305</tt> <tt class="py-line"> </tt>
<a name="write"></a><div id="write-def"><a name="L306"></a><tt class="py-lineno">306</tt> <a class="py-toggle" href="#" id="write-toggle" onclick="return toggle('write');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="scapi.json-module.html#write">write</a><tt class="py-op">(</tt><tt class="py-param">obj</tt><tt class="py-op">,</tt> <tt class="py-param">escaped_forward_slash</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="write-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="write-expanded"><a name="L307"></a><tt class="py-lineno">307</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-144" class="py-name" targets="Class scapi.json.JsonWriter=scapi.json.JsonWriter-class.html"><a title="scapi.json.JsonWriter" class="py-name" href="#" onclick="return doclink('link-144', 'JsonWriter', 'link-144');">JsonWriter</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-145" class="py-name" targets="Method scapi.json.JsonWriter.write()=scapi.json.JsonWriter-class.html#write,Function scapi.json.write()=scapi.json-module.html#write"><a title="scapi.json.JsonWriter.write
scapi.json.write" class="py-name" href="#" onclick="return doclink('link-145', 'write', 'link-145');">write</a></tt><tt class="py-op">(</tt><tt class="py-name">obj</tt><tt class="py-op">,</tt> <tt class="py-name">escaped_forward_slash</tt><tt class="py-op">)</tt> </tt>
</div><a name="L308"></a><tt class="py-lineno">308</tt> <tt class="py-line"> </tt>
<a name="read"></a><div id="read-def"><a name="L309"></a><tt class="py-lineno">309</tt> <a class="py-toggle" href="#" id="read-toggle" onclick="return toggle('read');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="scapi.json-module.html#read">read</a><tt class="py-op">(</tt><tt class="py-param">s</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="read-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="read-expanded"><a name="L310"></a><tt class="py-lineno">310</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-146" class="py-name" targets="Class scapi.json.JsonReader=scapi.json.JsonReader-class.html"><a title="scapi.json.JsonReader" class="py-name" href="#" onclick="return doclink('link-146', 'JsonReader', 'link-146');">JsonReader</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-147" class="py-name" targets="Method scapi.json.JsonReader.read()=scapi.json.JsonReader-class.html#read,Function scapi.json.read()=scapi.json-module.html#read"><a title="scapi.json.JsonReader.read
scapi.json.read" class="py-name" href="#" onclick="return doclink('link-147', 'read', 'link-147');">read</a></tt><tt class="py-op">(</tt><tt class="py-name">s</tt><tt class="py-op">)</tt> </tt>
</div><a name="L311"></a><tt class="py-lineno">311</tt> <tt class="py-line"> </tt><script type="text/javascript">
<!--
expandto(location.href);
// -->
</script>
</pre>
<br />
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
bgcolor="#a0c0ff" cellspacing="0">
<tr valign="middle">
<!-- Home link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="scapi-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Tree link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Index link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Help link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Project homepage -->
<th class="navbar" align="right" width="100%">
<table border="0" cellpadding="0" cellspacing="0">
<tr><th class="navbar" align="center"
>SoundCloud API</th>
</tr></table></th>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
Generated by Epydoc 3.0.1 on Thu Sep 10 00:58:50 2009
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
>http://epydoc.sourceforge.net</a>
</td>
</tr>
</table>
<script type="text/javascript">
<!--
// Private objects are initially displayed (because if
// javascript is turned off then we want them to be
// visible); but by default, we want to hide them. So hide
// them unless we have a cookie that says to show them.
checkCookie();
// -->
</script>
</body>
</html>

View file

@ -0,0 +1,544 @@
<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>scapi.json.JsonReader</title>
<link rel="stylesheet" href="epydoc.css" type="text/css" />
<script type="text/javascript" src="epydoc.js"></script>
</head>
<body bgcolor="white" text="black" link="blue" vlink="#204080"
alink="#204080">
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
bgcolor="#a0c0ff" cellspacing="0">
<tr valign="middle">
<!-- Home link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="scapi-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Tree link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Index link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Help link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Project homepage -->
<th class="navbar" align="right" width="100%">
<table border="0" cellpadding="0" cellspacing="0">
<tr><th class="navbar" align="center"
>SoundCloud API</th>
</tr></table></th>
</tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0">
<tr valign="top">
<td width="100%">
<span class="breadcrumbs">
<a href="scapi-module.html">Package&nbsp;scapi</a> ::
<a href="scapi.json-module.html">Module&nbsp;json</a> ::
Class&nbsp;JsonReader
</span>
</td>
<td>
<table cellpadding="0" cellspacing="0">
<!-- hide/show private -->
<tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
<tr><td align="right"><span class="options"
>[<a href="frames.html" target="_top">frames</a
>]&nbsp;|&nbsp;<a href="scapi.json.JsonReader-class.html"
target="_top">no&nbsp;frames</a>]</span></td></tr>
</table>
</td>
</tr>
</table>
<!-- ==================== CLASS DESCRIPTION ==================== -->
<h1 class="epydoc">Class JsonReader</h1><p class="nomargin-top"><span class="codelink"><a href="scapi.json-pysrc.html#JsonReader">source&nbsp;code</a></span></p>
<pre class="base-tree">
object --+
|
<strong class="uidshort">JsonReader</strong>
</pre>
<hr />
<!-- ==================== INSTANCE METHODS ==================== -->
<a name="section-InstanceMethods"></a>
<table class="summary" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Instance Methods</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-InstanceMethods"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="read"></a><span class="summary-sig-name">read</span>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">s</span>)</span></td>
<td align="right" valign="top">
<span class="codelink"><a href="scapi.json-pysrc.html#JsonReader.read">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr class="private">
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="_read"></a><span class="summary-sig-name">_read</span>(<span class="summary-sig-arg">self</span>)</span></td>
<td align="right" valign="top">
<span class="codelink"><a href="scapi.json-pysrc.html#JsonReader._read">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr class="private">
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="_readTrue"></a><span class="summary-sig-name">_readTrue</span>(<span class="summary-sig-arg">self</span>)</span></td>
<td align="right" valign="top">
<span class="codelink"><a href="scapi.json-pysrc.html#JsonReader._readTrue">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr class="private">
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="_readFalse"></a><span class="summary-sig-name">_readFalse</span>(<span class="summary-sig-arg">self</span>)</span></td>
<td align="right" valign="top">
<span class="codelink"><a href="scapi.json-pysrc.html#JsonReader._readFalse">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr class="private">
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="_readNull"></a><span class="summary-sig-name">_readNull</span>(<span class="summary-sig-arg">self</span>)</span></td>
<td align="right" valign="top">
<span class="codelink"><a href="scapi.json-pysrc.html#JsonReader._readNull">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr class="private">
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="_assertNext"></a><span class="summary-sig-name">_assertNext</span>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">ch</span>,
<span class="summary-sig-arg">target</span>)</span></td>
<td align="right" valign="top">
<span class="codelink"><a href="scapi.json-pysrc.html#JsonReader._assertNext">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr class="private">
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="_readNumber"></a><span class="summary-sig-name">_readNumber</span>(<span class="summary-sig-arg">self</span>)</span></td>
<td align="right" valign="top">
<span class="codelink"><a href="scapi.json-pysrc.html#JsonReader._readNumber">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr class="private">
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="_readString"></a><span class="summary-sig-name">_readString</span>(<span class="summary-sig-arg">self</span>)</span></td>
<td align="right" valign="top">
<span class="codelink"><a href="scapi.json-pysrc.html#JsonReader._readString">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr class="private">
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="_hexDigitToInt"></a><span class="summary-sig-name">_hexDigitToInt</span>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">ch</span>)</span></td>
<td align="right" valign="top">
<span class="codelink"><a href="scapi.json-pysrc.html#JsonReader._hexDigitToInt">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr class="private">
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="_readComment"></a><span class="summary-sig-name">_readComment</span>(<span class="summary-sig-arg">self</span>)</span></td>
<td align="right" valign="top">
<span class="codelink"><a href="scapi.json-pysrc.html#JsonReader._readComment">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr class="private">
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="_readCStyleComment"></a><span class="summary-sig-name">_readCStyleComment</span>(<span class="summary-sig-arg">self</span>)</span></td>
<td align="right" valign="top">
<span class="codelink"><a href="scapi.json-pysrc.html#JsonReader._readCStyleComment">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr class="private">
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="_readDoubleSolidusComment"></a><span class="summary-sig-name">_readDoubleSolidusComment</span>(<span class="summary-sig-arg">self</span>)</span></td>
<td align="right" valign="top">
<span class="codelink"><a href="scapi.json-pysrc.html#JsonReader._readDoubleSolidusComment">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr class="private">
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="_readArray"></a><span class="summary-sig-name">_readArray</span>(<span class="summary-sig-arg">self</span>)</span></td>
<td align="right" valign="top">
<span class="codelink"><a href="scapi.json-pysrc.html#JsonReader._readArray">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr class="private">
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="_readObject"></a><span class="summary-sig-name">_readObject</span>(<span class="summary-sig-arg">self</span>)</span></td>
<td align="right" valign="top">
<span class="codelink"><a href="scapi.json-pysrc.html#JsonReader._readObject">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr class="private">
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="_eatWhitespace"></a><span class="summary-sig-name">_eatWhitespace</span>(<span class="summary-sig-arg">self</span>)</span></td>
<td align="right" valign="top">
<span class="codelink"><a href="scapi.json-pysrc.html#JsonReader._eatWhitespace">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr class="private">
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="_peek"></a><span class="summary-sig-name">_peek</span>(<span class="summary-sig-arg">self</span>)</span></td>
<td align="right" valign="top">
<span class="codelink"><a href="scapi.json-pysrc.html#JsonReader._peek">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr class="private">
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="_next"></a><span class="summary-sig-name">_next</span>(<span class="summary-sig-arg">self</span>)</span></td>
<td align="right" valign="top">
<span class="codelink"><a href="scapi.json-pysrc.html#JsonReader._next">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td colspan="2" class="summary">
<p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
<code>__delattr__</code>,
<code>__getattribute__</code>,
<code>__hash__</code>,
<code>__init__</code>,
<code>__new__</code>,
<code>__reduce__</code>,
<code>__reduce_ex__</code>,
<code>__repr__</code>,
<code>__setattr__</code>,
<code>__str__</code>
</p>
</td>
</tr>
</table>
<!-- ==================== CLASS VARIABLES ==================== -->
<a name="section-ClassVariables"></a>
<table class="summary" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Class Variables</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-ClassVariables"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a href="scapi.json.JsonReader-class.html#hex_digits" class="summary-name">hex_digits</a> = <code title="{'A': 10, 'B': 11, 'C': 12, 'D': 13, 'E': 14, 'F': 15}"><code class="variable-group">{</code><code class="variable-quote">'</code><code class="variable-string">A</code><code class="variable-quote">'</code><code class="variable-op">: </code>10<code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">B</code><code class="variable-quote">'</code><code class="variable-op">: </code>11<code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">C</code><code class="variable-quote">'</code><code class="variable-op">: </code>12<code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">D</code><code class="variable-quote">'</code><code class="variable-op">: </code>13<code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">E</code><code class="variable-quote">'</code><code class="variable-op">: </code>14<code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">F</code><code class="variable-quote">'</code><code class="variable-ellipsis">...</code></code>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a href="scapi.json.JsonReader-class.html#escapes" class="summary-name">escapes</a> = <code title="{'b': '\x08', 'f': '\x0c', 'n': '\n', 'r': '\r', 't': '\t'}"><code class="variable-group">{</code><code class="variable-quote">'</code><code class="variable-string">b</code><code class="variable-quote">'</code><code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">\x08</code><code class="variable-quote">'</code><code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">f</code><code class="variable-quote">'</code><code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">\x0c</code><code class="variable-quote">'</code><code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">n</code><code class="variable-quote">'</code><code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">\n</code><code class="variable-quote">'</code><code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">r</code><code class="variable-quote">'</code><code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">\r</code><code class="variable-quote">'</code><code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">t</code><code class="variable-quote">'</code><code class="variable-ellipsis">...</code></code>
</td>
</tr>
</table>
<!-- ==================== PROPERTIES ==================== -->
<a name="section-Properties"></a>
<table class="summary" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Properties</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-Properties"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
<tr>
<td colspan="2" class="summary">
<p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
<code>__class__</code>
</p>
</td>
</tr>
</table>
<!-- ==================== CLASS VARIABLE DETAILS ==================== -->
<a name="section-ClassVariableDetails"></a>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Class Variable Details</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-ClassVariableDetails"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
</table>
<a name="hex_digits"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<h3 class="epydoc">hex_digits</h3>
<dl class="fields">
</dl>
<dl class="fields">
<dt>Value:</dt>
<dd><table><tr><td><pre class="variable">
<code class="variable-group">{</code><code class="variable-quote">'</code><code class="variable-string">A</code><code class="variable-quote">'</code><code class="variable-op">: </code>10<code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">B</code><code class="variable-quote">'</code><code class="variable-op">: </code>11<code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">C</code><code class="variable-quote">'</code><code class="variable-op">: </code>12<code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">D</code><code class="variable-quote">'</code><code class="variable-op">: </code>13<code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">E</code><code class="variable-quote">'</code><code class="variable-op">: </code>14<code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">F</code><code class="variable-quote">'</code><code class="variable-op">: </code>15<code class="variable-group">}</code>
</pre></td></tr></table>
</dd>
</dl>
</td></tr></table>
</div>
<a name="escapes"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<h3 class="epydoc">escapes</h3>
<dl class="fields">
</dl>
<dl class="fields">
<dt>Value:</dt>
<dd><table><tr><td><pre class="variable">
<code class="variable-group">{</code><code class="variable-quote">'</code><code class="variable-string">b</code><code class="variable-quote">'</code><code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">\x08</code><code class="variable-quote">'</code><code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">f</code><code class="variable-quote">'</code><code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">\x0c</code><code class="variable-quote">'</code><code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">n</code><code class="variable-quote">'</code><code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">\n</code><code class="variable-quote">'</code><code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">r</code><code class="variable-quote">'</code><code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">\r</code><code class="variable-quote">'</code><code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">t</code><code class="variable-quote">'</code><code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">\t</code><code class="variable-quote">'</code><code class="variable-group">}</code>
</pre></td></tr></table>
</dd>
</dl>
</td></tr></table>
</div>
<br />
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
bgcolor="#a0c0ff" cellspacing="0">
<tr valign="middle">
<!-- Home link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="scapi-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Tree link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Index link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Help link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Project homepage -->
<th class="navbar" align="right" width="100%">
<table border="0" cellpadding="0" cellspacing="0">
<tr><th class="navbar" align="center"
>SoundCloud API</th>
</tr></table></th>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
Generated by Epydoc 3.0.1 on Thu Sep 10 00:58:49 2009
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
>http://epydoc.sourceforge.net</a>
</td>
</tr>
</table>
<script type="text/javascript">
<!--
// Private objects are initially displayed (because if
// javascript is turned off then we want them to be
// visible); but by default, we want to hide them. So hide
// them unless we have a cookie that says to show them.
checkCookie();
// -->
</script>
</body>
</html>

View file

@ -0,0 +1,233 @@
<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>scapi.json.JsonWriter</title>
<link rel="stylesheet" href="epydoc.css" type="text/css" />
<script type="text/javascript" src="epydoc.js"></script>
</head>
<body bgcolor="white" text="black" link="blue" vlink="#204080"
alink="#204080">
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
bgcolor="#a0c0ff" cellspacing="0">
<tr valign="middle">
<!-- Home link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="scapi-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Tree link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Index link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Help link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Project homepage -->
<th class="navbar" align="right" width="100%">
<table border="0" cellpadding="0" cellspacing="0">
<tr><th class="navbar" align="center"
>SoundCloud API</th>
</tr></table></th>
</tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0">
<tr valign="top">
<td width="100%">
<span class="breadcrumbs">
<a href="scapi-module.html">Package&nbsp;scapi</a> ::
<a href="scapi.json-module.html">Module&nbsp;json</a> ::
Class&nbsp;JsonWriter
</span>
</td>
<td>
<table cellpadding="0" cellspacing="0">
<!-- hide/show private -->
<tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
<tr><td align="right"><span class="options"
>[<a href="frames.html" target="_top">frames</a
>]&nbsp;|&nbsp;<a href="scapi.json.JsonWriter-class.html"
target="_top">no&nbsp;frames</a>]</span></td></tr>
</table>
</td>
</tr>
</table>
<!-- ==================== CLASS DESCRIPTION ==================== -->
<h1 class="epydoc">Class JsonWriter</h1><p class="nomargin-top"><span class="codelink"><a href="scapi.json-pysrc.html#JsonWriter">source&nbsp;code</a></span></p>
<pre class="base-tree">
object --+
|
<strong class="uidshort">JsonWriter</strong>
</pre>
<hr />
<!-- ==================== INSTANCE METHODS ==================== -->
<a name="section-InstanceMethods"></a>
<table class="summary" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Instance Methods</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-InstanceMethods"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
<tr class="private">
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="_append"></a><span class="summary-sig-name">_append</span>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">s</span>)</span></td>
<td align="right" valign="top">
<span class="codelink"><a href="scapi.json-pysrc.html#JsonWriter._append">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="write"></a><span class="summary-sig-name">write</span>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">obj</span>,
<span class="summary-sig-arg">escaped_forward_slash</span>=<span class="summary-sig-default">False</span>)</span></td>
<td align="right" valign="top">
<span class="codelink"><a href="scapi.json-pysrc.html#JsonWriter.write">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr class="private">
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="_write"></a><span class="summary-sig-name">_write</span>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">obj</span>)</span></td>
<td align="right" valign="top">
<span class="codelink"><a href="scapi.json-pysrc.html#JsonWriter._write">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td colspan="2" class="summary">
<p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
<code>__delattr__</code>,
<code>__getattribute__</code>,
<code>__hash__</code>,
<code>__init__</code>,
<code>__new__</code>,
<code>__reduce__</code>,
<code>__reduce_ex__</code>,
<code>__repr__</code>,
<code>__setattr__</code>,
<code>__str__</code>
</p>
</td>
</tr>
</table>
<!-- ==================== PROPERTIES ==================== -->
<a name="section-Properties"></a>
<table class="summary" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Properties</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-Properties"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
<tr>
<td colspan="2" class="summary">
<p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
<code>__class__</code>
</p>
</td>
</tr>
</table>
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
bgcolor="#a0c0ff" cellspacing="0">
<tr valign="middle">
<!-- Home link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="scapi-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Tree link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Index link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Help link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Project homepage -->
<th class="navbar" align="right" width="100%">
<table border="0" cellpadding="0" cellspacing="0">
<tr><th class="navbar" align="center"
>SoundCloud API</th>
</tr></table></th>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
Generated by Epydoc 3.0.1 on Thu Sep 10 00:58:49 2009
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
>http://epydoc.sourceforge.net</a>
</td>
</tr>
</table>
<script type="text/javascript">
<!--
// Private objects are initially displayed (because if
// javascript is turned off then we want them to be
// visible); but by default, we want to hide them. So hide
// them unless we have a cookie that says to show them.
checkCookie();
// -->
</script>
</body>
</html>

View file

@ -0,0 +1,196 @@
<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>scapi.json.ReadException</title>
<link rel="stylesheet" href="epydoc.css" type="text/css" />
<script type="text/javascript" src="epydoc.js"></script>
</head>
<body bgcolor="white" text="black" link="blue" vlink="#204080"
alink="#204080">
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
bgcolor="#a0c0ff" cellspacing="0">
<tr valign="middle">
<!-- Home link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="scapi-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Tree link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Index link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Help link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Project homepage -->
<th class="navbar" align="right" width="100%">
<table border="0" cellpadding="0" cellspacing="0">
<tr><th class="navbar" align="center"
>SoundCloud API</th>
</tr></table></th>
</tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0">
<tr valign="top">
<td width="100%">
<span class="breadcrumbs">
<a href="scapi-module.html">Package&nbsp;scapi</a> ::
<a href="scapi.json-module.html">Module&nbsp;json</a> ::
Class&nbsp;ReadException
</span>
</td>
<td>
<table cellpadding="0" cellspacing="0">
<!-- hide/show private -->
<tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
<tr><td align="right"><span class="options"
>[<a href="frames.html" target="_top">frames</a
>]&nbsp;|&nbsp;<a href="scapi.json.ReadException-class.html"
target="_top">no&nbsp;frames</a>]</span></td></tr>
</table>
</td>
</tr>
</table>
<!-- ==================== CLASS DESCRIPTION ==================== -->
<h1 class="epydoc">Class ReadException</h1><p class="nomargin-top"><span class="codelink"><a href="scapi.json-pysrc.html#ReadException">source&nbsp;code</a></span></p>
<pre class="base-tree">
object --+
|
exceptions.BaseException --+
|
exceptions.Exception --+
|
<strong class="uidshort">ReadException</strong>
</pre>
<hr />
<!-- ==================== INSTANCE METHODS ==================== -->
<a name="section-InstanceMethods"></a>
<table class="summary" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Instance Methods</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-InstanceMethods"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
<tr>
<td colspan="2" class="summary">
<p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.Exception</code></b>:
<code>__init__</code>,
<code>__new__</code>
</p>
<p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
<code>__delattr__</code>,
<code>__getattribute__</code>,
<code>__getitem__</code>,
<code>__getslice__</code>,
<code>__reduce__</code>,
<code>__repr__</code>,
<code>__setattr__</code>,
<code>__setstate__</code>,
<code>__str__</code>
</p>
<p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
<code>__hash__</code>,
<code>__reduce_ex__</code>
</p>
</td>
</tr>
</table>
<!-- ==================== PROPERTIES ==================== -->
<a name="section-Properties"></a>
<table class="summary" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Properties</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-Properties"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
<tr>
<td colspan="2" class="summary">
<p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
<code>args</code>,
<code>message</code>
</p>
<p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
<code>__class__</code>
</p>
</td>
</tr>
</table>
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
bgcolor="#a0c0ff" cellspacing="0">
<tr valign="middle">
<!-- Home link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="scapi-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Tree link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Index link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Help link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Project homepage -->
<th class="navbar" align="right" width="100%">
<table border="0" cellpadding="0" cellspacing="0">
<tr><th class="navbar" align="center"
>SoundCloud API</th>
</tr></table></th>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
Generated by Epydoc 3.0.1 on Thu Sep 10 00:58:49 2009
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
>http://epydoc.sourceforge.net</a>
</td>
</tr>
</table>
<script type="text/javascript">
<!--
// Private objects are initially displayed (because if
// javascript is turned off then we want them to be
// visible); but by default, we want to hide them. So hide
// them unless we have a cookie that says to show them.
checkCookie();
// -->
</script>
</body>
</html>

View file

@ -0,0 +1,196 @@
<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>scapi.json.WriteException</title>
<link rel="stylesheet" href="epydoc.css" type="text/css" />
<script type="text/javascript" src="epydoc.js"></script>
</head>
<body bgcolor="white" text="black" link="blue" vlink="#204080"
alink="#204080">
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
bgcolor="#a0c0ff" cellspacing="0">
<tr valign="middle">
<!-- Home link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="scapi-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Tree link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Index link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Help link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Project homepage -->
<th class="navbar" align="right" width="100%">
<table border="0" cellpadding="0" cellspacing="0">
<tr><th class="navbar" align="center"
>SoundCloud API</th>
</tr></table></th>
</tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0">
<tr valign="top">
<td width="100%">
<span class="breadcrumbs">
<a href="scapi-module.html">Package&nbsp;scapi</a> ::
<a href="scapi.json-module.html">Module&nbsp;json</a> ::
Class&nbsp;WriteException
</span>
</td>
<td>
<table cellpadding="0" cellspacing="0">
<!-- hide/show private -->
<tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
<tr><td align="right"><span class="options"
>[<a href="frames.html" target="_top">frames</a
>]&nbsp;|&nbsp;<a href="scapi.json.WriteException-class.html"
target="_top">no&nbsp;frames</a>]</span></td></tr>
</table>
</td>
</tr>
</table>
<!-- ==================== CLASS DESCRIPTION ==================== -->
<h1 class="epydoc">Class WriteException</h1><p class="nomargin-top"><span class="codelink"><a href="scapi.json-pysrc.html#WriteException">source&nbsp;code</a></span></p>
<pre class="base-tree">
object --+
|
exceptions.BaseException --+
|
exceptions.Exception --+
|
<strong class="uidshort">WriteException</strong>
</pre>
<hr />
<!-- ==================== INSTANCE METHODS ==================== -->
<a name="section-InstanceMethods"></a>
<table class="summary" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Instance Methods</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-InstanceMethods"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
<tr>
<td colspan="2" class="summary">
<p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.Exception</code></b>:
<code>__init__</code>,
<code>__new__</code>
</p>
<p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
<code>__delattr__</code>,
<code>__getattribute__</code>,
<code>__getitem__</code>,
<code>__getslice__</code>,
<code>__reduce__</code>,
<code>__repr__</code>,
<code>__setattr__</code>,
<code>__setstate__</code>,
<code>__str__</code>
</p>
<p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
<code>__hash__</code>,
<code>__reduce_ex__</code>
</p>
</td>
</tr>
</table>
<!-- ==================== PROPERTIES ==================== -->
<a name="section-Properties"></a>
<table class="summary" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Properties</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-Properties"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
<tr>
<td colspan="2" class="summary">
<p class="indent-wrapped-lines"><b>Inherited from <code>exceptions.BaseException</code></b>:
<code>args</code>,
<code>message</code>
</p>
<p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
<code>__class__</code>
</p>
</td>
</tr>
</table>
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
bgcolor="#a0c0ff" cellspacing="0">
<tr valign="middle">
<!-- Home link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="scapi-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Tree link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Index link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Help link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Project homepage -->
<th class="navbar" align="right" width="100%">
<table border="0" cellpadding="0" cellspacing="0">
<tr><th class="navbar" align="center"
>SoundCloud API</th>
</tr></table></th>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
Generated by Epydoc 3.0.1 on Thu Sep 10 00:58:49 2009
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
>http://epydoc.sourceforge.net</a>
</td>
</tr>
</table>
<script type="text/javascript">
<!--
// Private objects are initially displayed (because if
// javascript is turned off then we want them to be
// visible); but by default, we want to hide them. So hide
// them unless we have a cookie that says to show them.
checkCookie();
// -->
</script>
</body>
</html>

View file

@ -0,0 +1,291 @@
<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>scapi.json._StringGenerator</title>
<link rel="stylesheet" href="epydoc.css" type="text/css" />
<script type="text/javascript" src="epydoc.js"></script>
</head>
<body bgcolor="white" text="black" link="blue" vlink="#204080"
alink="#204080">
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
bgcolor="#a0c0ff" cellspacing="0">
<tr valign="middle">
<!-- Home link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="scapi-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Tree link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Index link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Help link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Project homepage -->
<th class="navbar" align="right" width="100%">
<table border="0" cellpadding="0" cellspacing="0">
<tr><th class="navbar" align="center"
>SoundCloud API</th>
</tr></table></th>
</tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0">
<tr valign="top">
<td width="100%">
<span class="breadcrumbs">
<a href="scapi-module.html">Package&nbsp;scapi</a> ::
<a href="scapi.json-module.html">Module&nbsp;json</a> ::
Class&nbsp;_StringGenerator
</span>
</td>
<td>
<table cellpadding="0" cellspacing="0">
<!-- hide/show private -->
<tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
<tr><td align="right"><span class="options"
>[<a href="frames.html" target="_top">frames</a
>]&nbsp;|&nbsp;<a href="scapi.json._StringGenerator-class.html"
target="_top">no&nbsp;frames</a>]</span></td></tr>
</table>
</td>
</tr>
</table>
<!-- ==================== CLASS DESCRIPTION ==================== -->
<h1 class="epydoc">Class _StringGenerator</h1><p class="nomargin-top"><span class="codelink"><a href="scapi.json-pysrc.html#_StringGenerator">source&nbsp;code</a></span></p>
<pre class="base-tree">
object --+
|
<strong class="uidshort">_StringGenerator</strong>
</pre>
<hr />
<!-- ==================== INSTANCE METHODS ==================== -->
<a name="section-InstanceMethods"></a>
<table class="summary" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Instance Methods</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-InstanceMethods"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="scapi.json._StringGenerator-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">string</span>)</span><br />
x.__init__(...) initializes x; see x.__class__.__doc__ for signature</td>
<td align="right" valign="top">
<span class="codelink"><a href="scapi.json-pysrc.html#_StringGenerator.__init__">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="peek"></a><span class="summary-sig-name">peek</span>(<span class="summary-sig-arg">self</span>)</span></td>
<td align="right" valign="top">
<span class="codelink"><a href="scapi.json-pysrc.html#_StringGenerator.peek">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="next"></a><span class="summary-sig-name">next</span>(<span class="summary-sig-arg">self</span>)</span></td>
<td align="right" valign="top">
<span class="codelink"><a href="scapi.json-pysrc.html#_StringGenerator.next">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="all"></a><span class="summary-sig-name">all</span>(<span class="summary-sig-arg">self</span>)</span></td>
<td align="right" valign="top">
<span class="codelink"><a href="scapi.json-pysrc.html#_StringGenerator.all">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td colspan="2" class="summary">
<p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
<code>__delattr__</code>,
<code>__getattribute__</code>,
<code>__hash__</code>,
<code>__new__</code>,
<code>__reduce__</code>,
<code>__reduce_ex__</code>,
<code>__repr__</code>,
<code>__setattr__</code>,
<code>__str__</code>
</p>
</td>
</tr>
</table>
<!-- ==================== PROPERTIES ==================== -->
<a name="section-Properties"></a>
<table class="summary" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Properties</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-Properties"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
<tr>
<td colspan="2" class="summary">
<p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
<code>__class__</code>
</p>
</td>
</tr>
</table>
<!-- ==================== METHOD DETAILS ==================== -->
<a name="section-MethodDetails"></a>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Method Details</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-MethodDetails"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
</table>
<a name="__init__"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
<span class="sig-arg">string</span>)</span>
<br /><em class="fname">(Constructor)</em>
</h3>
</td><td align="right" valign="top"
><span class="codelink"><a href="scapi.json-pysrc.html#_StringGenerator.__init__">source&nbsp;code</a></span>&nbsp;
</td>
</tr></table>
<p>x.__init__(...) initializes x; see x.__class__.__doc__ for
signature</p>
<dl class="fields">
<dt>Overrides:
object.__init__
<dd><em class="note">(inherited documentation)</em></dd>
</dt>
</dl>
</td></tr></table>
</div>
<br />
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
bgcolor="#a0c0ff" cellspacing="0">
<tr valign="middle">
<!-- Home link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="scapi-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Tree link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Index link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Help link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Project homepage -->
<th class="navbar" align="right" width="100%">
<table border="0" cellpadding="0" cellspacing="0">
<tr><th class="navbar" align="center"
>SoundCloud API</th>
</tr></table></th>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
Generated by Epydoc 3.0.1 on Thu Sep 10 00:58:49 2009
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
>http://epydoc.sourceforge.net</a>
</td>
</tr>
</table>
<script type="text/javascript">
<!--
// Private objects are initially displayed (because if
// javascript is turned off then we want them to be
// visible); but by default, we want to hide them. So hide
// them unless we have a cookie that says to show them.
checkCookie();
// -->
</script>
</body>
</html>

View file

@ -0,0 +1,140 @@
<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>scapi.tests</title>
<link rel="stylesheet" href="epydoc.css" type="text/css" />
<script type="text/javascript" src="epydoc.js"></script>
</head>
<body bgcolor="white" text="black" link="blue" vlink="#204080"
alink="#204080">
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
bgcolor="#a0c0ff" cellspacing="0">
<tr valign="middle">
<!-- Home link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="scapi-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Tree link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Index link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Help link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Project homepage -->
<th class="navbar" align="right" width="100%">
<table border="0" cellpadding="0" cellspacing="0">
<tr><th class="navbar" align="center"
>SoundCloud API</th>
</tr></table></th>
</tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0">
<tr valign="top">
<td width="100%">
<span class="breadcrumbs">
<a href="scapi-module.html">Package&nbsp;scapi</a> ::
Package&nbsp;tests
</span>
</td>
<td>
<table cellpadding="0" cellspacing="0">
<!-- hide/show private -->
<tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
<tr><td align="right"><span class="options"
>[<a href="frames.html" target="_top">frames</a
>]&nbsp;|&nbsp;<a href="scapi.tests-module.html"
target="_top">no&nbsp;frames</a>]</span></td></tr>
</table>
</td>
</tr>
</table>
<!-- ==================== PACKAGE DESCRIPTION ==================== -->
<h1 class="epydoc">Package tests</h1><p class="nomargin-top"><span class="codelink"><a href="scapi.tests-pysrc.html">source&nbsp;code</a></span></p>
<!-- ==================== SUBMODULES ==================== -->
<a name="section-Submodules"></a>
<table class="summary" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Submodules</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-Submodules"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
<tr><td class="summary">
<ul class="nomargin">
<li> <strong class="uidlink"><a href="scapi.tests.scapi_tests-module.html">scapi.tests.scapi_tests</a></strong> </li>
<li> <strong class="uidlink"><a href="scapi.tests.test_connect-module.html">scapi.tests.test_connect</a></strong> </li>
<li> <strong class="uidlink"><a href="scapi.tests.test_oauth-module.html">scapi.tests.test_oauth</a></strong> </li>
</ul></td></tr>
</table>
<br />
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
bgcolor="#a0c0ff" cellspacing="0">
<tr valign="middle">
<!-- Home link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="scapi-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Tree link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Index link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Help link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Project homepage -->
<th class="navbar" align="right" width="100%">
<table border="0" cellpadding="0" cellspacing="0">
<tr><th class="navbar" align="center"
>SoundCloud API</th>
</tr></table></th>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
Generated by Epydoc 3.0.1 on Thu Sep 10 00:58:49 2009
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
>http://epydoc.sourceforge.net</a>
</td>
</tr>
</table>
<script type="text/javascript">
<!--
// Private objects are initially displayed (because if
// javascript is turned off then we want them to be
// visible); but by default, we want to hide them. So hide
// them unless we have a cookie that says to show them.
checkCookie();
// -->
</script>
</body>
</html>

View file

@ -0,0 +1,122 @@
<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>scapi.tests</title>
<link rel="stylesheet" href="epydoc.css" type="text/css" />
<script type="text/javascript" src="epydoc.js"></script>
</head>
<body bgcolor="white" text="black" link="blue" vlink="#204080"
alink="#204080">
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
bgcolor="#a0c0ff" cellspacing="0">
<tr valign="middle">
<!-- Home link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="scapi-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Tree link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Index link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Help link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Project homepage -->
<th class="navbar" align="right" width="100%">
<table border="0" cellpadding="0" cellspacing="0">
<tr><th class="navbar" align="center"
>SoundCloud API</th>
</tr></table></th>
</tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0">
<tr valign="top">
<td width="100%">
<span class="breadcrumbs">
<a href="scapi-module.html">Package&nbsp;scapi</a> ::
Package&nbsp;tests
</span>
</td>
<td>
<table cellpadding="0" cellspacing="0">
<!-- hide/show private -->
<tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
<tr><td align="right"><span class="options"
>[<a href="frames.html" target="_top">frames</a
>]&nbsp;|&nbsp;<a href="scapi.tests-pysrc.html"
target="_top">no&nbsp;frames</a>]</span></td></tr>
</table>
</td>
</tr>
</table>
<h1 class="epydoc">Source Code for <a href="scapi.tests-module.html">Package scapi.tests</a></h1>
<pre class="py-src">
<a name="L1"></a><tt class="py-lineno">1</tt> <tt class="py-line"> </tt>
<a name="L2"></a><tt class="py-lineno">2</tt> <tt class="py-line"> </tt><script type="text/javascript">
<!--
expandto(location.href);
// -->
</script>
</pre>
<br />
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
bgcolor="#a0c0ff" cellspacing="0">
<tr valign="middle">
<!-- Home link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="scapi-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Tree link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Index link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Help link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Project homepage -->
<th class="navbar" align="right" width="100%">
<table border="0" cellpadding="0" cellspacing="0">
<tr><th class="navbar" align="center"
>SoundCloud API</th>
</tr></table></th>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
Generated by Epydoc 3.0.1 on Thu Sep 10 00:58:50 2009
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
>http://epydoc.sourceforge.net</a>
</td>
</tr>
</table>
<script type="text/javascript">
<!--
// Private objects are initially displayed (because if
// javascript is turned off then we want them to be
// visible); but by default, we want to hide them. So hide
// them unless we have a cookie that says to show them.
checkCookie();
// -->
</script>
</body>
</html>

View file

@ -0,0 +1,172 @@
<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>scapi.tests.scapi_tests</title>
<link rel="stylesheet" href="epydoc.css" type="text/css" />
<script type="text/javascript" src="epydoc.js"></script>
</head>
<body bgcolor="white" text="black" link="blue" vlink="#204080"
alink="#204080">
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
bgcolor="#a0c0ff" cellspacing="0">
<tr valign="middle">
<!-- Home link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="scapi-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Tree link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Index link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Help link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Project homepage -->
<th class="navbar" align="right" width="100%">
<table border="0" cellpadding="0" cellspacing="0">
<tr><th class="navbar" align="center"
>SoundCloud API</th>
</tr></table></th>
</tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0">
<tr valign="top">
<td width="100%">
<span class="breadcrumbs">
<a href="scapi-module.html">Package&nbsp;scapi</a> ::
<a href="scapi.tests-module.html">Package&nbsp;tests</a> ::
Module&nbsp;scapi_tests
</span>
</td>
<td>
<table cellpadding="0" cellspacing="0">
<!-- hide/show private -->
<tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
<tr><td align="right"><span class="options"
>[<a href="frames.html" target="_top">frames</a
>]&nbsp;|&nbsp;<a href="scapi.tests.scapi_tests-module.html"
target="_top">no&nbsp;frames</a>]</span></td></tr>
</table>
</td>
</tr>
</table>
<!-- ==================== MODULE DESCRIPTION ==================== -->
<h1 class="epydoc">Module scapi_tests</h1><p class="nomargin-top"><span class="codelink"><a href="scapi.tests.scapi_tests-pysrc.html">source&nbsp;code</a></span></p>
<!-- ==================== CLASSES ==================== -->
<a name="section-Classes"></a>
<table class="summary" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Classes</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-Classes"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a href="scapi.tests.scapi_tests.SCAPITests-class.html" class="summary-name">SCAPITests</a>
</td>
</tr>
</table>
<!-- ==================== VARIABLES ==================== -->
<a name="section-Variables"></a>
<table class="summary" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Variables</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-Variables"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a name="logger"></a><span class="summary-name">logger</span> = <code title="logging.getLogger(&quot;scapi.tests&quot;)">logging.getLogger(&quot;scapi.tests&quot;)</code>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a name="api_logger"></a><span class="summary-name">api_logger</span> = <code title="logging.getLogger(&quot;scapi&quot;)">logging.getLogger(&quot;scapi&quot;)</code>
</td>
</tr>
</table>
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
bgcolor="#a0c0ff" cellspacing="0">
<tr valign="middle">
<!-- Home link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="scapi-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Tree link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Index link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Help link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Project homepage -->
<th class="navbar" align="right" width="100%">
<table border="0" cellpadding="0" cellspacing="0">
<tr><th class="navbar" align="center"
>SoundCloud API</th>
</tr></table></th>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
Generated by Epydoc 3.0.1 on Thu Sep 10 00:58:49 2009
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
>http://epydoc.sourceforge.net</a>
</td>
</tr>
</table>
<script type="text/javascript">
<!--
// Private objects are initially displayed (because if
// javascript is turned off then we want them to be
// visible); but by default, we want to hide them. So hide
// them unless we have a cookie that says to show them.
checkCookie();
// -->
</script>
</body>
</html>

View file

@ -0,0 +1,760 @@
<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>scapi.tests.scapi_tests</title>
<link rel="stylesheet" href="epydoc.css" type="text/css" />
<script type="text/javascript" src="epydoc.js"></script>
</head>
<body bgcolor="white" text="black" link="blue" vlink="#204080"
alink="#204080">
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
bgcolor="#a0c0ff" cellspacing="0">
<tr valign="middle">
<!-- Home link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="scapi-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Tree link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Index link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Help link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Project homepage -->
<th class="navbar" align="right" width="100%">
<table border="0" cellpadding="0" cellspacing="0">
<tr><th class="navbar" align="center"
>SoundCloud API</th>
</tr></table></th>
</tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0">
<tr valign="top">
<td width="100%">
<span class="breadcrumbs">
<a href="scapi-module.html">Package&nbsp;scapi</a> ::
<a href="scapi.tests-module.html">Package&nbsp;tests</a> ::
Module&nbsp;scapi_tests
</span>
</td>
<td>
<table cellpadding="0" cellspacing="0">
<!-- hide/show private -->
<tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
<tr><td align="right"><span class="options"
>[<a href="frames.html" target="_top">frames</a
>]&nbsp;|&nbsp;<a href="scapi.tests.scapi_tests-pysrc.html"
target="_top">no&nbsp;frames</a>]</span></td></tr>
</table>
</td>
</tr>
</table>
<h1 class="epydoc">Source Code for <a href="scapi.tests.scapi_tests-module.html">Module scapi.tests.scapi_tests</a></h1>
<pre class="py-src">
<a name="L1"></a><tt class="py-lineno"> 1</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">__future__</tt> <tt class="py-keyword">import</tt> <tt class="py-name">with_statement</tt> </tt>
<a name="L2"></a><tt class="py-lineno"> 2</tt> <tt class="py-line"> </tt>
<a name="L3"></a><tt class="py-lineno"> 3</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">os</tt> </tt>
<a name="L4"></a><tt class="py-lineno"> 4</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">urllib2</tt> </tt>
<a name="L5"></a><tt class="py-lineno"> 5</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">itertools</tt> </tt>
<a name="L6"></a><tt class="py-lineno"> 6</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">textwrap</tt> <tt class="py-keyword">import</tt> <tt class="py-name">dedent</tt> </tt>
<a name="L7"></a><tt class="py-lineno"> 7</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">pkg_resources</tt> </tt>
<a name="L8"></a><tt class="py-lineno"> 8</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">logging</tt> </tt>
<a name="L9"></a><tt class="py-lineno"> 9</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">webbrowser</tt> </tt>
<a name="L10"></a><tt class="py-lineno"> 10</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">unittest</tt> <tt class="py-keyword">import</tt> <tt class="py-name">TestCase</tt> </tt>
<a name="L11"></a><tt class="py-lineno"> 11</tt> <tt class="py-line"> </tt>
<a name="L12"></a><tt class="py-lineno"> 12</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">configobj</tt> <tt class="py-keyword">import</tt> <tt class="py-name">ConfigObj</tt> </tt>
<a name="L13"></a><tt class="py-lineno"> 13</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">validate</tt> <tt class="py-keyword">import</tt> <tt class="py-name">Validator</tt> </tt>
<a name="L14"></a><tt class="py-lineno"> 14</tt> <tt class="py-line"> </tt>
<a name="L15"></a><tt class="py-lineno"> 15</tt> <tt class="py-line"> </tt>
<a name="L16"></a><tt class="py-lineno"> 16</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt id="link-0" class="py-name" targets="Package scapi=scapi-module.html"><a title="scapi" class="py-name" href="#" onclick="return doclink('link-0', 'scapi', 'link-0');">scapi</a></tt> </tt>
<a name="L17"></a><tt class="py-lineno"> 17</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt id="link-1" class="py-name"><a title="scapi" class="py-name" href="#" onclick="return doclink('link-1', 'scapi', 'link-0');">scapi</a></tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Module scapi.authentication=scapi.authentication-module.html"><a title="scapi.authentication" class="py-name" href="#" onclick="return doclink('link-2', 'authentication', 'link-2');">authentication</a></tt> </tt>
<a name="L18"></a><tt class="py-lineno"> 18</tt> <tt class="py-line"> </tt>
<a name="L19"></a><tt class="py-lineno"> 19</tt> <tt class="py-line"><tt id="link-3" class="py-name" targets="Variable scapi.authentication.logger=scapi.authentication-module.html#logger,Variable scapi.logger=scapi-module.html#logger,Variable scapi.tests.scapi_tests.logger=scapi.tests.scapi_tests-module.html#logger,Variable scapi.tests.test_connect.logger=scapi.tests.test_connect-module.html#logger,Variable scapi.tests.test_oauth.logger=scapi.tests.test_oauth-module.html#logger"><a title="scapi.authentication.logger
scapi.logger
scapi.tests.scapi_tests.logger
scapi.tests.test_connect.logger
scapi.tests.test_oauth.logger" class="py-name" href="#" onclick="return doclink('link-3', 'logger', 'link-3');">logger</a></tt> <tt class="py-op">=</tt> <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">getLogger</tt><tt class="py-op">(</tt><tt class="py-string">"scapi.tests"</tt><tt class="py-op">)</tt> </tt>
<a name="L20"></a><tt class="py-lineno"> 20</tt> <tt class="py-line"> </tt>
<a name="L21"></a><tt class="py-lineno"> 21</tt> <tt class="py-line"><tt id="link-4" class="py-name" targets="Variable scapi.tests.scapi_tests.api_logger=scapi.tests.scapi_tests-module.html#api_logger"><a title="scapi.tests.scapi_tests.api_logger" class="py-name" href="#" onclick="return doclink('link-4', 'api_logger', 'link-4');">api_logger</a></tt> <tt class="py-op">=</tt> <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">getLogger</tt><tt class="py-op">(</tt><tt class="py-string">"scapi"</tt><tt class="py-op">)</tt> </tt>
<a name="SCAPITests"></a><div id="SCAPITests-def"><a name="L22"></a><tt class="py-lineno"> 22</tt> <tt class="py-line"> </tt>
<a name="L23"></a><tt class="py-lineno"> 23</tt> <tt class="py-line"> </tt>
<a name="L24"></a><tt class="py-lineno"> 24</tt> <a class="py-toggle" href="#" id="SCAPITests-toggle" onclick="return toggle('SCAPITests');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="scapi.tests.scapi_tests.SCAPITests-class.html">SCAPITests</a><tt class="py-op">(</tt><tt class="py-base-class">TestCase</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="SCAPITests-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="SCAPITests-expanded"><a name="L25"></a><tt class="py-lineno"> 25</tt> <tt class="py-line"> </tt>
<a name="L26"></a><tt class="py-lineno"> 26</tt> <tt class="py-line"> <tt id="link-5" class="py-name" targets="Variable scapi.tests.scapi_tests.SCAPITests.CONFIG_NAME=scapi.tests.scapi_tests.SCAPITests-class.html#CONFIG_NAME,Variable scapi.tests.test_connect.CONFIG_NAME=scapi.tests.test_connect-module.html#CONFIG_NAME"><a title="scapi.tests.scapi_tests.SCAPITests.CONFIG_NAME
scapi.tests.test_connect.CONFIG_NAME" class="py-name" href="#" onclick="return doclink('link-5', 'CONFIG_NAME', 'link-5');">CONFIG_NAME</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"test.ini"</tt> </tt>
<a name="L27"></a><tt class="py-lineno"> 27</tt> <tt class="py-line"> <tt id="link-6" class="py-name" targets="Variable scapi.tests.scapi_tests.SCAPITests.TOKEN=scapi.tests.scapi_tests.SCAPITests-class.html#TOKEN,Variable scapi.tests.test_connect.TOKEN=scapi.tests.test_connect-module.html#TOKEN,Variable scapi.tests.test_oauth.TOKEN=scapi.tests.test_oauth-module.html#TOKEN"><a title="scapi.tests.scapi_tests.SCAPITests.TOKEN
scapi.tests.test_connect.TOKEN
scapi.tests.test_oauth.TOKEN" class="py-name" href="#" onclick="return doclink('link-6', 'TOKEN', 'link-6');">TOKEN</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
<a name="L28"></a><tt class="py-lineno"> 28</tt> <tt class="py-line"> <tt id="link-7" class="py-name" targets="Variable scapi.tests.scapi_tests.SCAPITests.SECRET=scapi.tests.scapi_tests.SCAPITests-class.html#SECRET,Variable scapi.tests.test_connect.SECRET=scapi.tests.test_connect-module.html#SECRET,Variable scapi.tests.test_oauth.SECRET=scapi.tests.test_oauth-module.html#SECRET"><a title="scapi.tests.scapi_tests.SCAPITests.SECRET
scapi.tests.test_connect.SECRET
scapi.tests.test_oauth.SECRET" class="py-name" href="#" onclick="return doclink('link-7', 'SECRET', 'link-7');">SECRET</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
<a name="L29"></a><tt class="py-lineno"> 29</tt> <tt class="py-line"> <tt id="link-8" class="py-name" targets="Variable scapi.tests.scapi_tests.SCAPITests.CONSUMER=scapi.tests.scapi_tests.SCAPITests-class.html#CONSUMER,Variable scapi.tests.test_connect.CONSUMER=scapi.tests.test_connect-module.html#CONSUMER,Variable scapi.tests.test_oauth.CONSUMER=scapi.tests.test_oauth-module.html#CONSUMER"><a title="scapi.tests.scapi_tests.SCAPITests.CONSUMER
scapi.tests.test_connect.CONSUMER
scapi.tests.test_oauth.CONSUMER" class="py-name" href="#" onclick="return doclink('link-8', 'CONSUMER', 'link-8');">CONSUMER</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
<a name="L30"></a><tt class="py-lineno"> 30</tt> <tt class="py-line"> <tt id="link-9" class="py-name" targets="Variable scapi.tests.scapi_tests.SCAPITests.CONSUMER_SECRET=scapi.tests.scapi_tests.SCAPITests-class.html#CONSUMER_SECRET,Variable scapi.tests.test_connect.CONSUMER_SECRET=scapi.tests.test_connect-module.html#CONSUMER_SECRET,Variable scapi.tests.test_oauth.CONSUMER_SECRET=scapi.tests.test_oauth-module.html#CONSUMER_SECRET"><a title="scapi.tests.scapi_tests.SCAPITests.CONSUMER_SECRET
scapi.tests.test_connect.CONSUMER_SECRET
scapi.tests.test_oauth.CONSUMER_SECRET" class="py-name" href="#" onclick="return doclink('link-9', 'CONSUMER_SECRET', 'link-9');">CONSUMER_SECRET</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
<a name="L31"></a><tt class="py-lineno"> 31</tt> <tt class="py-line"> <tt id="link-10" class="py-name" targets="Variable scapi.tests.scapi_tests.SCAPITests.API_HOST=scapi.tests.scapi_tests.SCAPITests-class.html#API_HOST,Variable scapi.tests.test_connect.API_HOST=scapi.tests.test_connect-module.html#API_HOST"><a title="scapi.tests.scapi_tests.SCAPITests.API_HOST
scapi.tests.test_connect.API_HOST" class="py-name" href="#" onclick="return doclink('link-10', 'API_HOST', 'link-10');">API_HOST</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
<a name="L32"></a><tt class="py-lineno"> 32</tt> <tt class="py-line"> <tt id="link-11" class="py-name" targets="Variable scapi.tests.scapi_tests.SCAPITests.USER=scapi.tests.scapi_tests.SCAPITests-class.html#USER,Variable scapi.tests.test_connect.USER=scapi.tests.test_connect-module.html#USER"><a title="scapi.tests.scapi_tests.SCAPITests.USER
scapi.tests.test_connect.USER" class="py-name" href="#" onclick="return doclink('link-11', 'USER', 'link-11');">USER</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
<a name="L33"></a><tt class="py-lineno"> 33</tt> <tt class="py-line"> <tt id="link-12" class="py-name" targets="Variable scapi.tests.scapi_tests.SCAPITests.PASSWORD=scapi.tests.scapi_tests.SCAPITests-class.html#PASSWORD,Variable scapi.tests.test_connect.PASSWORD=scapi.tests.test_connect-module.html#PASSWORD"><a title="scapi.tests.scapi_tests.SCAPITests.PASSWORD
scapi.tests.test_connect.PASSWORD" class="py-name" href="#" onclick="return doclink('link-12', 'PASSWORD', 'link-12');">PASSWORD</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
<a name="L34"></a><tt class="py-lineno"> 34</tt> <tt class="py-line"> <tt id="link-13" class="py-name" targets="Variable scapi.tests.scapi_tests.SCAPITests.AUTHENTICATOR=scapi.tests.scapi_tests.SCAPITests-class.html#AUTHENTICATOR"><a title="scapi.tests.scapi_tests.SCAPITests.AUTHENTICATOR" class="py-name" href="#" onclick="return doclink('link-13', 'AUTHENTICATOR', 'link-13');">AUTHENTICATOR</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
<a name="L35"></a><tt class="py-lineno"> 35</tt> <tt class="py-line"> <tt id="link-14" class="py-name" targets="Variable scapi.tests.scapi_tests.SCAPITests.RUN_INTERACTIVE_TESTS=scapi.tests.scapi_tests.SCAPITests-class.html#RUN_INTERACTIVE_TESTS,Variable scapi.tests.test_connect.RUN_INTERACTIVE_TESTS=scapi.tests.test_connect-module.html#RUN_INTERACTIVE_TESTS"><a title="scapi.tests.scapi_tests.SCAPITests.RUN_INTERACTIVE_TESTS
scapi.tests.test_connect.RUN_INTERACTIVE_TESTS" class="py-name" href="#" onclick="return doclink('link-14', 'RUN_INTERACTIVE_TESTS', 'link-14');">RUN_INTERACTIVE_TESTS</a></tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
<a name="L36"></a><tt class="py-lineno"> 36</tt> <tt class="py-line"> </tt>
<a name="L37"></a><tt class="py-lineno"> 37</tt> <tt class="py-line"> </tt>
<a name="SCAPITests.setUp"></a><div id="SCAPITests.setUp-def"><a name="L38"></a><tt class="py-lineno"> 38</tt> <a class="py-toggle" href="#" id="SCAPITests.setUp-toggle" onclick="return toggle('SCAPITests.setUp');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="scapi.tests.scapi_tests.SCAPITests-class.html#setUp">setUp</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="SCAPITests.setUp-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SCAPITests.setUp-expanded"><a name="L39"></a><tt class="py-lineno"> 39</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-15" class="py-name" targets="Method scapi.tests.scapi_tests.SCAPITests._load_config()=scapi.tests.scapi_tests.SCAPITests-class.html#_load_config"><a title="scapi.tests.scapi_tests.SCAPITests._load_config" class="py-name" href="#" onclick="return doclink('link-15', '_load_config', 'link-15');">_load_config</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L40"></a><tt class="py-lineno"> 40</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-name">pkg_resources</tt><tt class="py-op">.</tt><tt class="py-name">resource_exists</tt><tt class="py-op">(</tt><tt class="py-string">"scapi.tests.test_connect"</tt><tt class="py-op">,</tt> <tt class="py-string">"knaster.mp3"</tt><tt class="py-op">)</tt> </tt>
<a name="L41"></a><tt class="py-lineno"> 41</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">data</tt> <tt class="py-op">=</tt> <tt class="py-name">pkg_resources</tt><tt class="py-op">.</tt><tt class="py-name">resource_stream</tt><tt class="py-op">(</tt><tt class="py-string">"scapi.tests.test_connect"</tt><tt class="py-op">,</tt> <tt class="py-string">"knaster.mp3"</tt><tt class="py-op">)</tt> </tt>
<a name="L42"></a><tt class="py-lineno"> 42</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">artwork_data</tt> <tt class="py-op">=</tt> <tt class="py-name">pkg_resources</tt><tt class="py-op">.</tt><tt class="py-name">resource_stream</tt><tt class="py-op">(</tt><tt class="py-string">"scapi.tests.test_connect"</tt><tt class="py-op">,</tt> <tt class="py-string">"spam.jpg"</tt><tt class="py-op">)</tt> </tt>
</div><a name="L43"></a><tt class="py-lineno"> 43</tt> <tt class="py-line"> </tt>
<a name="L44"></a><tt class="py-lineno"> 44</tt> <tt class="py-line"> <tt id="link-16" class="py-name" targets="Variable scapi.tests.scapi_tests.SCAPITests.CONFIGSPEC=scapi.tests.scapi_tests.SCAPITests-class.html#CONFIGSPEC"><a title="scapi.tests.scapi_tests.SCAPITests.CONFIGSPEC" class="py-name" href="#" onclick="return doclink('link-16', 'CONFIGSPEC', 'link-16');">CONFIGSPEC</a></tt><tt class="py-op">=</tt><tt class="py-name">dedent</tt><tt class="py-op">(</tt><tt class="py-string">"""</tt> </tt>
<a name="L45"></a><tt class="py-lineno"> 45</tt> <tt class="py-line"><tt class="py-string"> [api]</tt> </tt>
<a name="L46"></a><tt class="py-lineno"> 46</tt> <tt class="py-line"><tt class="py-string"> token=string</tt> </tt>
<a name="L47"></a><tt class="py-lineno"> 47</tt> <tt class="py-line"><tt class="py-string"> secret=string</tt> </tt>
<a name="L48"></a><tt class="py-lineno"> 48</tt> <tt class="py-line"><tt class="py-string"> consumer=string</tt> </tt>
<a name="L49"></a><tt class="py-lineno"> 49</tt> <tt class="py-line"><tt class="py-string"> consumer_secret=string</tt> </tt>
<a name="L50"></a><tt class="py-lineno"> 50</tt> <tt class="py-line"><tt class="py-string"> api_host=string</tt> </tt>
<a name="L51"></a><tt class="py-lineno"> 51</tt> <tt class="py-line"><tt class="py-string"> user=string</tt> </tt>
<a name="L52"></a><tt class="py-lineno"> 52</tt> <tt class="py-line"><tt class="py-string"> password=string</tt> </tt>
<a name="L53"></a><tt class="py-lineno"> 53</tt> <tt class="py-line"><tt class="py-string"> authenticator=option('oauth', 'base', default='oauth')</tt> </tt>
<a name="L54"></a><tt class="py-lineno"> 54</tt> <tt class="py-line"><tt class="py-string"> </tt> </tt>
<a name="L55"></a><tt class="py-lineno"> 55</tt> <tt class="py-line"><tt class="py-string"> [proxy]</tt> </tt>
<a name="L56"></a><tt class="py-lineno"> 56</tt> <tt class="py-line"><tt class="py-string"> use_proxy=boolean(default=false)</tt> </tt>
<a name="L57"></a><tt class="py-lineno"> 57</tt> <tt class="py-line"><tt class="py-string"> proxy=string(default=http://127.0.0.1:10000/)</tt> </tt>
<a name="L58"></a><tt class="py-lineno"> 58</tt> <tt class="py-line"><tt class="py-string"></tt> </tt>
<a name="L59"></a><tt class="py-lineno"> 59</tt> <tt class="py-line"><tt class="py-string"> [logging]</tt> </tt>
<a name="L60"></a><tt class="py-lineno"> 60</tt> <tt class="py-line"><tt class="py-string"> test_logger=string(default=ERROR)</tt> </tt>
<a name="L61"></a><tt class="py-lineno"> 61</tt> <tt class="py-line"><tt class="py-string"> api_logger=string(default=ERROR)</tt> </tt>
<a name="L62"></a><tt class="py-lineno"> 62</tt> <tt class="py-line"><tt class="py-string"></tt> </tt>
<a name="L63"></a><tt class="py-lineno"> 63</tt> <tt class="py-line"><tt class="py-string"> [test]</tt> </tt>
<a name="L64"></a><tt class="py-lineno"> 64</tt> <tt class="py-line"><tt class="py-string"> run_interactive_tests=boolean(default=false)</tt> </tt>
<a name="L65"></a><tt class="py-lineno"> 65</tt> <tt class="py-line"><tt class="py-string"> """</tt><tt class="py-op">)</tt> </tt>
<a name="L66"></a><tt class="py-lineno"> 66</tt> <tt class="py-line"> </tt>
<a name="L67"></a><tt class="py-lineno"> 67</tt> <tt class="py-line"> </tt>
<a name="SCAPITests._load_config"></a><div id="SCAPITests._load_config-def"><a name="L68"></a><tt class="py-lineno"> 68</tt> <a class="py-toggle" href="#" id="SCAPITests._load_config-toggle" onclick="return toggle('SCAPITests._load_config');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="scapi.tests.scapi_tests.SCAPITests-class.html#_load_config">_load_config</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="SCAPITests._load_config-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SCAPITests._load_config-expanded"><a name="L69"></a><tt class="py-lineno"> 69</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
<a name="L70"></a><tt class="py-lineno"> 70</tt> <tt class="py-line"><tt class="py-docstring"> Loads the configuration by looking from</tt> </tt>
<a name="L71"></a><tt class="py-lineno"> 71</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L72"></a><tt class="py-lineno"> 72</tt> <tt class="py-line"><tt class="py-docstring"> - the environment variable SCAPI_CONFIG</tt> </tt>
<a name="L73"></a><tt class="py-lineno"> 73</tt> <tt class="py-line"><tt class="py-docstring"> - the installation location upwards until it finds test.ini</tt> </tt>
<a name="L74"></a><tt class="py-lineno"> 74</tt> <tt class="py-line"><tt class="py-docstring"> - the current working directory upwards until it finds test.ini</tt> </tt>
<a name="L75"></a><tt class="py-lineno"> 75</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L76"></a><tt class="py-lineno"> 76</tt> <tt class="py-line"><tt class="py-docstring"> Raises an error if there is no config found</tt> </tt>
<a name="L77"></a><tt class="py-lineno"> 77</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
<a name="L78"></a><tt class="py-lineno"> 78</tt> <tt class="py-line"> <tt class="py-name">config_name</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-17" class="py-name"><a title="scapi.tests.scapi_tests.SCAPITests.CONFIG_NAME
scapi.tests.test_connect.CONFIG_NAME" class="py-name" href="#" onclick="return doclink('link-17', 'CONFIG_NAME', 'link-5');">CONFIG_NAME</a></tt> </tt>
<a name="L79"></a><tt class="py-lineno"> 79</tt> <tt class="py-line"> </tt>
<a name="L80"></a><tt class="py-lineno"> 80</tt> <tt class="py-line"> <tt class="py-name">name</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
<a name="L81"></a><tt class="py-lineno"> 81</tt> <tt class="py-line"> </tt>
<a name="L82"></a><tt class="py-lineno"> 82</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-string">"SCAPI_CONFIG"</tt> <tt class="py-keyword">in</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">environ</tt><tt class="py-op">:</tt> </tt>
<a name="L83"></a><tt class="py-lineno"> 83</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">exists</tt><tt class="py-op">(</tt><tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">environ</tt><tt class="py-op">[</tt><tt class="py-string">"SCAPI_CONFIG"</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L84"></a><tt class="py-lineno"> 84</tt> <tt class="py-line"> <tt class="py-name">name</tt> <tt class="py-op">=</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">environ</tt><tt class="py-op">[</tt><tt class="py-string">"SCAPI_CONFIG"</tt><tt class="py-op">]</tt> </tt>
<a name="L85"></a><tt class="py-lineno"> 85</tt> <tt class="py-line"> </tt>
<a name="L86"></a><tt class="py-lineno"> 86</tt> <tt class="py-line"> <tt class="py-keyword">def</tt> <tt class="py-def-name">search_for_config</tt><tt class="py-op">(</tt><tt class="py-param">current</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L87"></a><tt class="py-lineno"> 87</tt> <tt class="py-line"> <tt class="py-keyword">while</tt> <tt class="py-name">current</tt><tt class="py-op">:</tt> </tt>
<a name="L88"></a><tt class="py-lineno"> 88</tt> <tt class="py-line"> <tt class="py-name">name</tt> <tt class="py-op">=</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">current</tt><tt class="py-op">,</tt> <tt class="py-name">config_name</tt><tt class="py-op">)</tt> </tt>
<a name="L89"></a><tt class="py-lineno"> 89</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">exists</tt><tt class="py-op">(</tt><tt class="py-name">name</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L90"></a><tt class="py-lineno"> 90</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">name</tt> </tt>
<a name="L91"></a><tt class="py-lineno"> 91</tt> <tt class="py-line"> <tt class="py-name">new_current</tt> <tt class="py-op">=</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">dirname</tt><tt class="py-op">(</tt><tt class="py-name">current</tt><tt class="py-op">)</tt> </tt>
<a name="L92"></a><tt class="py-lineno"> 92</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">new_current</tt> <tt class="py-op">==</tt> <tt class="py-name">current</tt><tt class="py-op">:</tt> </tt>
<a name="L93"></a><tt class="py-lineno"> 93</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> </tt>
<a name="L94"></a><tt class="py-lineno"> 94</tt> <tt class="py-line"> <tt class="py-name">current</tt> <tt class="py-op">=</tt> <tt class="py-name">new_current</tt> </tt>
</div><a name="L95"></a><tt class="py-lineno"> 95</tt> <tt class="py-line"> </tt>
<a name="L96"></a><tt class="py-lineno"> 96</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">name</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
<a name="L97"></a><tt class="py-lineno"> 97</tt> <tt class="py-line"> <tt class="py-name">name</tt> <tt class="py-op">=</tt> <tt class="py-name">search_for_config</tt><tt class="py-op">(</tt><tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">dirname</tt><tt class="py-op">(</tt><tt class="py-name">__file__</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
<a name="L98"></a><tt class="py-lineno"> 98</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">name</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
<a name="L99"></a><tt class="py-lineno"> 99</tt> <tt class="py-line"> <tt class="py-name">name</tt> <tt class="py-op">=</tt> <tt class="py-name">search_for_config</tt><tt class="py-op">(</tt><tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">getcwd</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
<a name="L100"></a><tt class="py-lineno">100</tt> <tt class="py-line"> </tt>
<a name="L101"></a><tt class="py-lineno">101</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">name</tt><tt class="py-op">:</tt> </tt>
<a name="L102"></a><tt class="py-lineno">102</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">Exception</tt><tt class="py-op">(</tt><tt class="py-string">"No test configuration file found!"</tt><tt class="py-op">)</tt> </tt>
<a name="L103"></a><tt class="py-lineno">103</tt> <tt class="py-line"> </tt>
<a name="L104"></a><tt class="py-lineno">104</tt> <tt class="py-line"> <tt class="py-name">parser</tt> <tt class="py-op">=</tt> <tt class="py-name">ConfigObj</tt><tt class="py-op">(</tt><tt class="py-name">name</tt><tt class="py-op">,</tt> <tt class="py-name">configspec</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-18" class="py-name"><a title="scapi.tests.scapi_tests.SCAPITests.CONFIGSPEC" class="py-name" href="#" onclick="return doclink('link-18', 'CONFIGSPEC', 'link-16');">CONFIGSPEC</a></tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">"\n"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
<a name="L105"></a><tt class="py-lineno">105</tt> <tt class="py-line"> <tt class="py-name">val</tt> <tt class="py-op">=</tt> <tt class="py-name">Validator</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L106"></a><tt class="py-lineno">106</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">parser</tt><tt class="py-op">.</tt><tt class="py-name">validate</tt><tt class="py-op">(</tt><tt class="py-name">val</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L107"></a><tt class="py-lineno">107</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">Exception</tt><tt class="py-op">(</tt><tt class="py-string">"Config file validation error"</tt><tt class="py-op">)</tt> </tt>
<a name="L108"></a><tt class="py-lineno">108</tt> <tt class="py-line"> </tt>
<a name="L109"></a><tt class="py-lineno">109</tt> <tt class="py-line"> <tt class="py-name">api</tt> <tt class="py-op">=</tt> <tt class="py-name">parser</tt><tt class="py-op">[</tt><tt class="py-string">'api'</tt><tt class="py-op">]</tt> </tt>
<a name="L110"></a><tt class="py-lineno">110</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-19" class="py-name"><a title="scapi.tests.scapi_tests.SCAPITests.TOKEN
scapi.tests.test_connect.TOKEN
scapi.tests.test_oauth.TOKEN" class="py-name" href="#" onclick="return doclink('link-19', 'TOKEN', 'link-6');">TOKEN</a></tt> <tt class="py-op">=</tt> <tt class="py-name">api</tt><tt class="py-op">.</tt><tt id="link-20" class="py-name" targets="Class Method scapi.RESTBase.get()=scapi.RESTBase-class.html#get"><a title="scapi.RESTBase.get" class="py-name" href="#" onclick="return doclink('link-20', 'get', 'link-20');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'token'</tt><tt class="py-op">)</tt> </tt>
<a name="L111"></a><tt class="py-lineno">111</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-21" class="py-name"><a title="scapi.tests.scapi_tests.SCAPITests.SECRET
scapi.tests.test_connect.SECRET
scapi.tests.test_oauth.SECRET" class="py-name" href="#" onclick="return doclink('link-21', 'SECRET', 'link-7');">SECRET</a></tt> <tt class="py-op">=</tt> <tt class="py-name">api</tt><tt class="py-op">.</tt><tt id="link-22" class="py-name"><a title="scapi.RESTBase.get" class="py-name" href="#" onclick="return doclink('link-22', 'get', 'link-20');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'secret'</tt><tt class="py-op">)</tt> </tt>
<a name="L112"></a><tt class="py-lineno">112</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-23" class="py-name"><a title="scapi.tests.scapi_tests.SCAPITests.CONSUMER
scapi.tests.test_connect.CONSUMER
scapi.tests.test_oauth.CONSUMER" class="py-name" href="#" onclick="return doclink('link-23', 'CONSUMER', 'link-8');">CONSUMER</a></tt> <tt class="py-op">=</tt> <tt class="py-name">api</tt><tt class="py-op">.</tt><tt id="link-24" class="py-name"><a title="scapi.RESTBase.get" class="py-name" href="#" onclick="return doclink('link-24', 'get', 'link-20');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'consumer'</tt><tt class="py-op">)</tt> </tt>
<a name="L113"></a><tt class="py-lineno">113</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-25" class="py-name"><a title="scapi.tests.scapi_tests.SCAPITests.CONSUMER_SECRET
scapi.tests.test_connect.CONSUMER_SECRET
scapi.tests.test_oauth.CONSUMER_SECRET" class="py-name" href="#" onclick="return doclink('link-25', 'CONSUMER_SECRET', 'link-9');">CONSUMER_SECRET</a></tt> <tt class="py-op">=</tt> <tt class="py-name">api</tt><tt class="py-op">.</tt><tt id="link-26" class="py-name"><a title="scapi.RESTBase.get" class="py-name" href="#" onclick="return doclink('link-26', 'get', 'link-20');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'consumer_secret'</tt><tt class="py-op">)</tt> </tt>
<a name="L114"></a><tt class="py-lineno">114</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-27" class="py-name"><a title="scapi.tests.scapi_tests.SCAPITests.API_HOST
scapi.tests.test_connect.API_HOST" class="py-name" href="#" onclick="return doclink('link-27', 'API_HOST', 'link-10');">API_HOST</a></tt> <tt class="py-op">=</tt> <tt class="py-name">api</tt><tt class="py-op">.</tt><tt id="link-28" class="py-name"><a title="scapi.RESTBase.get" class="py-name" href="#" onclick="return doclink('link-28', 'get', 'link-20');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'api_host'</tt><tt class="py-op">)</tt> </tt>
<a name="L115"></a><tt class="py-lineno">115</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-29" class="py-name"><a title="scapi.tests.scapi_tests.SCAPITests.USER
scapi.tests.test_connect.USER" class="py-name" href="#" onclick="return doclink('link-29', 'USER', 'link-11');">USER</a></tt> <tt class="py-op">=</tt> <tt class="py-name">api</tt><tt class="py-op">.</tt><tt id="link-30" class="py-name"><a title="scapi.RESTBase.get" class="py-name" href="#" onclick="return doclink('link-30', 'get', 'link-20');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'user'</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
<a name="L116"></a><tt class="py-lineno">116</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-31" class="py-name"><a title="scapi.tests.scapi_tests.SCAPITests.PASSWORD
scapi.tests.test_connect.PASSWORD" class="py-name" href="#" onclick="return doclink('link-31', 'PASSWORD', 'link-12');">PASSWORD</a></tt> <tt class="py-op">=</tt> <tt class="py-name">api</tt><tt class="py-op">.</tt><tt id="link-32" class="py-name"><a title="scapi.RESTBase.get" class="py-name" href="#" onclick="return doclink('link-32', 'get', 'link-20');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'password'</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
<a name="L117"></a><tt class="py-lineno">117</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-33" class="py-name"><a title="scapi.tests.scapi_tests.SCAPITests.AUTHENTICATOR" class="py-name" href="#" onclick="return doclink('link-33', 'AUTHENTICATOR', 'link-13');">AUTHENTICATOR</a></tt> <tt class="py-op">=</tt> <tt class="py-name">api</tt><tt class="py-op">.</tt><tt id="link-34" class="py-name"><a title="scapi.RESTBase.get" class="py-name" href="#" onclick="return doclink('link-34', 'get', 'link-20');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">"authenticator"</tt><tt class="py-op">)</tt> </tt>
<a name="L118"></a><tt class="py-lineno">118</tt> <tt class="py-line"> </tt>
<a name="L119"></a><tt class="py-lineno">119</tt> <tt class="py-line"> <tt class="py-comment"># reset the hard-coded values in the api</tt> </tt>
<a name="L120"></a><tt class="py-lineno">120</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-35" class="py-name"><a title="scapi.tests.scapi_tests.SCAPITests.API_HOST
scapi.tests.test_connect.API_HOST" class="py-name" href="#" onclick="return doclink('link-35', 'API_HOST', 'link-10');">API_HOST</a></tt><tt class="py-op">:</tt> </tt>
<a name="L121"></a><tt class="py-lineno">121</tt> <tt class="py-line"> <tt id="link-36" class="py-name"><a title="scapi" class="py-name" href="#" onclick="return doclink('link-36', 'scapi', 'link-0');">scapi</a></tt><tt class="py-op">.</tt><tt id="link-37" class="py-name" targets="Variable scapi.AUTHORIZATION_URL=scapi-module.html#AUTHORIZATION_URL"><a title="scapi.AUTHORIZATION_URL" class="py-name" href="#" onclick="return doclink('link-37', 'AUTHORIZATION_URL', 'link-37');">AUTHORIZATION_URL</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"http://%s/oauth/authorize"</tt> <tt class="py-op">%</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-38" class="py-name"><a title="scapi.tests.scapi_tests.SCAPITests.API_HOST
scapi.tests.test_connect.API_HOST" class="py-name" href="#" onclick="return doclink('link-38', 'API_HOST', 'link-10');">API_HOST</a></tt> </tt>
<a name="L122"></a><tt class="py-lineno">122</tt> <tt class="py-line"> <tt id="link-39" class="py-name"><a title="scapi" class="py-name" href="#" onclick="return doclink('link-39', 'scapi', 'link-0');">scapi</a></tt><tt class="py-op">.</tt><tt id="link-40" class="py-name" targets="Variable scapi.REQUEST_TOKEN_URL=scapi-module.html#REQUEST_TOKEN_URL"><a title="scapi.REQUEST_TOKEN_URL" class="py-name" href="#" onclick="return doclink('link-40', 'REQUEST_TOKEN_URL', 'link-40');">REQUEST_TOKEN_URL</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'http://%s/oauth/request_token'</tt> <tt class="py-op">%</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-41" class="py-name"><a title="scapi.tests.scapi_tests.SCAPITests.API_HOST
scapi.tests.test_connect.API_HOST" class="py-name" href="#" onclick="return doclink('link-41', 'API_HOST', 'link-10');">API_HOST</a></tt> </tt>
<a name="L123"></a><tt class="py-lineno">123</tt> <tt class="py-line"> <tt id="link-42" class="py-name"><a title="scapi" class="py-name" href="#" onclick="return doclink('link-42', 'scapi', 'link-0');">scapi</a></tt><tt class="py-op">.</tt><tt id="link-43" class="py-name" targets="Variable scapi.ACCESS_TOKEN_URL=scapi-module.html#ACCESS_TOKEN_URL"><a title="scapi.ACCESS_TOKEN_URL" class="py-name" href="#" onclick="return doclink('link-43', 'ACCESS_TOKEN_URL', 'link-43');">ACCESS_TOKEN_URL</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'http://%s/oauth/access_token'</tt> <tt class="py-op">%</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-44" class="py-name"><a title="scapi.tests.scapi_tests.SCAPITests.API_HOST
scapi.tests.test_connect.API_HOST" class="py-name" href="#" onclick="return doclink('link-44', 'API_HOST', 'link-10');">API_HOST</a></tt> </tt>
<a name="L124"></a><tt class="py-lineno">124</tt> <tt class="py-line"> </tt>
<a name="L125"></a><tt class="py-lineno">125</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-string">"proxy"</tt> <tt class="py-keyword">in</tt> <tt class="py-name">parser</tt> <tt class="py-keyword">and</tt> <tt class="py-name">parser</tt><tt class="py-op">[</tt><tt class="py-string">"proxy"</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">"use_proxy"</tt><tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
<a name="L126"></a><tt class="py-lineno">126</tt> <tt class="py-line"> <tt id="link-45" class="py-name"><a title="scapi" class="py-name" href="#" onclick="return doclink('link-45', 'scapi', 'link-0');">scapi</a></tt><tt class="py-op">.</tt><tt id="link-46" class="py-name" targets="Variable scapi.USE_PROXY=scapi-module.html#USE_PROXY"><a title="scapi.USE_PROXY" class="py-name" href="#" onclick="return doclink('link-46', 'USE_PROXY', 'link-46');">USE_PROXY</a></tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
<a name="L127"></a><tt class="py-lineno">127</tt> <tt class="py-line"> <tt id="link-47" class="py-name"><a title="scapi" class="py-name" href="#" onclick="return doclink('link-47', 'scapi', 'link-0');">scapi</a></tt><tt class="py-op">.</tt><tt id="link-48" class="py-name" targets="Variable scapi.PROXY=scapi-module.html#PROXY"><a title="scapi.PROXY" class="py-name" href="#" onclick="return doclink('link-48', 'PROXY', 'link-48');">PROXY</a></tt> <tt class="py-op">=</tt> <tt class="py-name">parser</tt><tt class="py-op">[</tt><tt class="py-string">"proxy"</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">"proxy"</tt><tt class="py-op">]</tt> </tt>
<a name="L128"></a><tt class="py-lineno">128</tt> <tt class="py-line"> </tt>
<a name="L129"></a><tt class="py-lineno">129</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-string">"logging"</tt> <tt class="py-keyword">in</tt> <tt class="py-name">parser</tt><tt class="py-op">:</tt> </tt>
<a name="L130"></a><tt class="py-lineno">130</tt> <tt class="py-line"> <tt id="link-49" class="py-name"><a title="scapi.authentication.logger
scapi.logger
scapi.tests.scapi_tests.logger
scapi.tests.test_connect.logger
scapi.tests.test_oauth.logger" class="py-name" href="#" onclick="return doclink('link-49', 'logger', 'link-3');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">setLevel</tt><tt class="py-op">(</tt><tt class="py-name">getattr</tt><tt class="py-op">(</tt><tt class="py-name">logging</tt><tt class="py-op">,</tt> <tt class="py-name">parser</tt><tt class="py-op">[</tt><tt class="py-string">"logging"</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">"test_logger"</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
<a name="L131"></a><tt class="py-lineno">131</tt> <tt class="py-line"> <tt id="link-50" class="py-name"><a title="scapi.tests.scapi_tests.api_logger" class="py-name" href="#" onclick="return doclink('link-50', 'api_logger', 'link-4');">api_logger</a></tt><tt class="py-op">.</tt><tt class="py-name">setLevel</tt><tt class="py-op">(</tt><tt class="py-name">getattr</tt><tt class="py-op">(</tt><tt class="py-name">logging</tt><tt class="py-op">,</tt> <tt class="py-name">parser</tt><tt class="py-op">[</tt><tt class="py-string">"logging"</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">"api_logger"</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
<a name="L132"></a><tt class="py-lineno">132</tt> <tt class="py-line"> </tt>
<a name="L133"></a><tt class="py-lineno">133</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-51" class="py-name"><a title="scapi.tests.scapi_tests.SCAPITests.RUN_INTERACTIVE_TESTS
scapi.tests.test_connect.RUN_INTERACTIVE_TESTS" class="py-name" href="#" onclick="return doclink('link-51', 'RUN_INTERACTIVE_TESTS', 'link-14');">RUN_INTERACTIVE_TESTS</a></tt> <tt class="py-op">=</tt> <tt class="py-name">parser</tt><tt class="py-op">[</tt><tt class="py-string">"test"</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">"run_interactive_tests"</tt><tt class="py-op">]</tt> </tt>
</div><a name="L134"></a><tt class="py-lineno">134</tt> <tt class="py-line"> </tt>
<a name="L135"></a><tt class="py-lineno">135</tt> <tt class="py-line"> </tt>
<a name="L136"></a><tt class="py-lineno">136</tt> <tt class="py-line"> <tt class="py-decorator">@</tt><tt class="py-decorator">property</tt> </tt>
<a name="SCAPITests.root"></a><div id="SCAPITests.root-def"><a name="L137"></a><tt class="py-lineno">137</tt> <a class="py-toggle" href="#" id="SCAPITests.root-toggle" onclick="return toggle('SCAPITests.root');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="scapi.tests.scapi_tests.SCAPITests-class.html#root">root</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="SCAPITests.root-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SCAPITests.root-expanded"><a name="L138"></a><tt class="py-lineno">138</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
<a name="L139"></a><tt class="py-lineno">139</tt> <tt class="py-line"><tt class="py-docstring"> Return the properly configured root-scope.</tt> </tt>
<a name="L140"></a><tt class="py-lineno">140</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
<a name="L141"></a><tt class="py-lineno">141</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-52" class="py-name"><a title="scapi.tests.scapi_tests.SCAPITests.AUTHENTICATOR" class="py-name" href="#" onclick="return doclink('link-52', 'AUTHENTICATOR', 'link-13');">AUTHENTICATOR</a></tt> <tt class="py-op">==</tt> <tt class="py-string">"oauth"</tt><tt class="py-op">:</tt> </tt>
<a name="L142"></a><tt class="py-lineno">142</tt> <tt class="py-line"> <tt class="py-name">authenticator</tt> <tt class="py-op">=</tt> <tt id="link-53" class="py-name"><a title="scapi" class="py-name" href="#" onclick="return doclink('link-53', 'scapi', 'link-0');">scapi</a></tt><tt class="py-op">.</tt><tt id="link-54" class="py-name"><a title="scapi.authentication" class="py-name" href="#" onclick="return doclink('link-54', 'authentication', 'link-2');">authentication</a></tt><tt class="py-op">.</tt><tt id="link-55" class="py-name" targets="Class scapi.authentication.OAuthAuthenticator=scapi.authentication.OAuthAuthenticator-class.html"><a title="scapi.authentication.OAuthAuthenticator" class="py-name" href="#" onclick="return doclink('link-55', 'OAuthAuthenticator', 'link-55');">OAuthAuthenticator</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-56" class="py-name"><a title="scapi.tests.scapi_tests.SCAPITests.CONSUMER
scapi.tests.test_connect.CONSUMER
scapi.tests.test_oauth.CONSUMER" class="py-name" href="#" onclick="return doclink('link-56', 'CONSUMER', 'link-8');">CONSUMER</a></tt><tt class="py-op">,</tt> </tt>
<a name="L143"></a><tt class="py-lineno">143</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-57" class="py-name"><a title="scapi.tests.scapi_tests.SCAPITests.CONSUMER_SECRET
scapi.tests.test_connect.CONSUMER_SECRET
scapi.tests.test_oauth.CONSUMER_SECRET" class="py-name" href="#" onclick="return doclink('link-57', 'CONSUMER_SECRET', 'link-9');">CONSUMER_SECRET</a></tt><tt class="py-op">,</tt> </tt>
<a name="L144"></a><tt class="py-lineno">144</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-58" class="py-name"><a title="scapi.tests.scapi_tests.SCAPITests.TOKEN
scapi.tests.test_connect.TOKEN
scapi.tests.test_oauth.TOKEN" class="py-name" href="#" onclick="return doclink('link-58', 'TOKEN', 'link-6');">TOKEN</a></tt><tt class="py-op">,</tt> </tt>
<a name="L145"></a><tt class="py-lineno">145</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-59" class="py-name"><a title="scapi.tests.scapi_tests.SCAPITests.SECRET
scapi.tests.test_connect.SECRET
scapi.tests.test_oauth.SECRET" class="py-name" href="#" onclick="return doclink('link-59', 'SECRET', 'link-7');">SECRET</a></tt><tt class="py-op">)</tt> </tt>
<a name="L146"></a><tt class="py-lineno">146</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-60" class="py-name"><a title="scapi.tests.scapi_tests.SCAPITests.AUTHENTICATOR" class="py-name" href="#" onclick="return doclink('link-60', 'AUTHENTICATOR', 'link-13');">AUTHENTICATOR</a></tt> <tt class="py-op">==</tt> <tt class="py-string">"base"</tt><tt class="py-op">:</tt> </tt>
<a name="L147"></a><tt class="py-lineno">147</tt> <tt class="py-line"> <tt class="py-name">authenticator</tt> <tt class="py-op">=</tt> <tt id="link-61" class="py-name"><a title="scapi" class="py-name" href="#" onclick="return doclink('link-61', 'scapi', 'link-0');">scapi</a></tt><tt class="py-op">.</tt><tt id="link-62" class="py-name"><a title="scapi.authentication" class="py-name" href="#" onclick="return doclink('link-62', 'authentication', 'link-2');">authentication</a></tt><tt class="py-op">.</tt><tt id="link-63" class="py-name" targets="Class scapi.authentication.BasicAuthenticator=scapi.authentication.BasicAuthenticator-class.html"><a title="scapi.authentication.BasicAuthenticator" class="py-name" href="#" onclick="return doclink('link-63', 'BasicAuthenticator', 'link-63');">BasicAuthenticator</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-64" class="py-name"><a title="scapi.tests.scapi_tests.SCAPITests.USER
scapi.tests.test_connect.USER" class="py-name" href="#" onclick="return doclink('link-64', 'USER', 'link-11');">USER</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-65" class="py-name"><a title="scapi.tests.scapi_tests.SCAPITests.PASSWORD
scapi.tests.test_connect.PASSWORD" class="py-name" href="#" onclick="return doclink('link-65', 'PASSWORD', 'link-12');">PASSWORD</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-66" class="py-name"><a title="scapi.tests.scapi_tests.SCAPITests.CONSUMER
scapi.tests.test_connect.CONSUMER
scapi.tests.test_oauth.CONSUMER" class="py-name" href="#" onclick="return doclink('link-66', 'CONSUMER', 'link-8');">CONSUMER</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-67" class="py-name"><a title="scapi.tests.scapi_tests.SCAPITests.CONSUMER_SECRET
scapi.tests.test_connect.CONSUMER_SECRET
scapi.tests.test_oauth.CONSUMER_SECRET" class="py-name" href="#" onclick="return doclink('link-67', 'CONSUMER_SECRET', 'link-9');">CONSUMER_SECRET</a></tt><tt class="py-op">)</tt> </tt>
<a name="L148"></a><tt class="py-lineno">148</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
<a name="L149"></a><tt class="py-lineno">149</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt class="py-name">Exception</tt><tt class="py-op">(</tt><tt class="py-string">"Unknown authenticator setting: %s"</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-68" class="py-name"><a title="scapi.tests.scapi_tests.SCAPITests.AUTHENTICATOR" class="py-name" href="#" onclick="return doclink('link-68', 'AUTHENTICATOR', 'link-13');">AUTHENTICATOR</a></tt><tt class="py-op">)</tt> </tt>
<a name="L150"></a><tt class="py-lineno">150</tt> <tt class="py-line"> </tt>
<a name="L151"></a><tt class="py-lineno">151</tt> <tt class="py-line"> <tt class="py-name">connector</tt> <tt class="py-op">=</tt> <tt id="link-69" class="py-name"><a title="scapi" class="py-name" href="#" onclick="return doclink('link-69', 'scapi', 'link-0');">scapi</a></tt><tt class="py-op">.</tt><tt id="link-70" class="py-name" targets="Class scapi.ApiConnector=scapi.ApiConnector-class.html"><a title="scapi.ApiConnector" class="py-name" href="#" onclick="return doclink('link-70', 'ApiConnector', 'link-70');">ApiConnector</a></tt><tt class="py-op">(</tt><tt class="py-name">host</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-71" class="py-name"><a title="scapi.tests.scapi_tests.SCAPITests.API_HOST
scapi.tests.test_connect.API_HOST" class="py-name" href="#" onclick="return doclink('link-71', 'API_HOST', 'link-10');">API_HOST</a></tt><tt class="py-op">,</tt> </tt>
<a name="L152"></a><tt class="py-lineno">152</tt> <tt class="py-line"> <tt class="py-name">authenticator</tt><tt class="py-op">=</tt><tt class="py-name">authenticator</tt><tt class="py-op">)</tt> </tt>
<a name="L153"></a><tt class="py-lineno">153</tt> <tt class="py-line"> </tt>
<a name="L154"></a><tt class="py-lineno">154</tt> <tt class="py-line"> <tt id="link-72" class="py-name"><a title="scapi.authentication.logger
scapi.logger
scapi.tests.scapi_tests.logger
scapi.tests.test_connect.logger
scapi.tests.test_oauth.logger" class="py-name" href="#" onclick="return doclink('link-72', 'logger', 'link-3');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt><tt class="py-string">"RootScope: %s authenticator: %s"</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-73" class="py-name"><a title="scapi.tests.scapi_tests.SCAPITests.API_HOST
scapi.tests.test_connect.API_HOST" class="py-name" href="#" onclick="return doclink('link-73', 'API_HOST', 'link-10');">API_HOST</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-74" class="py-name"><a title="scapi.tests.scapi_tests.SCAPITests.AUTHENTICATOR" class="py-name" href="#" onclick="return doclink('link-74', 'AUTHENTICATOR', 'link-13');">AUTHENTICATOR</a></tt><tt class="py-op">)</tt> </tt>
<a name="L155"></a><tt class="py-lineno">155</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt id="link-75" class="py-name"><a title="scapi" class="py-name" href="#" onclick="return doclink('link-75', 'scapi', 'link-0');">scapi</a></tt><tt class="py-op">.</tt><tt id="link-76" class="py-name" targets="Class scapi.Scope=scapi.Scope-class.html"><a title="scapi.Scope" class="py-name" href="#" onclick="return doclink('link-76', 'Scope', 'link-76');">Scope</a></tt><tt class="py-op">(</tt><tt class="py-name">connector</tt><tt class="py-op">)</tt> </tt>
</div><a name="L156"></a><tt class="py-lineno">156</tt> <tt class="py-line"> </tt>
<a name="L157"></a><tt class="py-lineno">157</tt> <tt class="py-line"> </tt>
<a name="SCAPITests.test_connect"></a><div id="SCAPITests.test_connect-def"><a name="L158"></a><tt class="py-lineno">158</tt> <a class="py-toggle" href="#" id="SCAPITests.test_connect-toggle" onclick="return toggle('SCAPITests.test_connect');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="scapi.tests.scapi_tests.SCAPITests-class.html#test_connect">test_connect</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="SCAPITests.test_connect-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SCAPITests.test_connect-expanded"><a name="L159"></a><tt class="py-lineno">159</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
<a name="L160"></a><tt class="py-lineno">160</tt> <tt class="py-line"><tt class="py-docstring"> test_connect</tt> </tt>
<a name="L161"></a><tt class="py-lineno">161</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L162"></a><tt class="py-lineno">162</tt> <tt class="py-line"><tt class="py-docstring"> Tries to connect &amp; performs some read-only operations.</tt> </tt>
<a name="L163"></a><tt class="py-lineno">163</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
<a name="L164"></a><tt class="py-lineno">164</tt> <tt class="py-line"> <tt class="py-name">sca</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-77" class="py-name" targets="Variable scapi.tests.scapi_tests.SCAPITests.root=scapi.tests.scapi_tests.SCAPITests-class.html#root"><a title="scapi.tests.scapi_tests.SCAPITests.root" class="py-name" href="#" onclick="return doclink('link-77', 'root', 'link-77');">root</a></tt> </tt>
<a name="L165"></a><tt class="py-lineno">165</tt> <tt class="py-line"> <tt class="py-comment"># quite_a_few_users = list(itertools.islice(sca.users(), 0, 127))</tt> </tt>
<a name="L166"></a><tt class="py-lineno">166</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
<a name="L167"></a><tt class="py-lineno">167</tt> <tt class="py-line"> <tt class="py-comment"># logger.debug(quite_a_few_users)</tt> </tt>
<a name="L168"></a><tt class="py-lineno">168</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment"># assert isinstance(quite_a_few_users, list) and isinstance(quite_a_few_users[0], scapi.User)</tt> </tt>
<a name="L169"></a><tt class="py-lineno">169</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-name">user</tt> <tt class="py-op">=</tt> <tt class="py-name">sca</tt><tt class="py-op">.</tt><tt class="py-name">me</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L170"></a><tt class="py-lineno">170</tt> <tt class="py-line"> <tt id="link-78" class="py-name"><a title="scapi.authentication.logger
scapi.logger
scapi.tests.scapi_tests.logger
scapi.tests.test_connect.logger
scapi.tests.test_oauth.logger" class="py-name" href="#" onclick="return doclink('link-78', 'logger', 'link-3');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt><tt class="py-name">user</tt><tt class="py-op">)</tt> </tt>
<a name="L171"></a><tt class="py-lineno">171</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">user</tt><tt class="py-op">,</tt> <tt id="link-79" class="py-name"><a title="scapi" class="py-name" href="#" onclick="return doclink('link-79', 'scapi', 'link-0');">scapi</a></tt><tt class="py-op">.</tt><tt id="link-80" class="py-name" targets="Class scapi.User=scapi.User-class.html"><a title="scapi.User" class="py-name" href="#" onclick="return doclink('link-80', 'User', 'link-80');">User</a></tt><tt class="py-op">)</tt> </tt>
<a name="L172"></a><tt class="py-lineno">172</tt> <tt class="py-line"> <tt class="py-name">contacts</tt> <tt class="py-op">=</tt> <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">user</tt><tt class="py-op">.</tt><tt class="py-name">contacts</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
<a name="L173"></a><tt class="py-lineno">173</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">contacts</tt><tt class="py-op">,</tt> <tt class="py-name">list</tt><tt class="py-op">)</tt> </tt>
<a name="L174"></a><tt class="py-lineno">174</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">contacts</tt><tt class="py-op">:</tt> </tt>
<a name="L175"></a><tt class="py-lineno">175</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">contacts</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt id="link-81" class="py-name"><a title="scapi" class="py-name" href="#" onclick="return doclink('link-81', 'scapi', 'link-0');">scapi</a></tt><tt class="py-op">.</tt><tt id="link-82" class="py-name"><a title="scapi.User" class="py-name" href="#" onclick="return doclink('link-82', 'User', 'link-80');">User</a></tt><tt class="py-op">)</tt> </tt>
<a name="L176"></a><tt class="py-lineno">176</tt> <tt class="py-line"> <tt id="link-83" class="py-name"><a title="scapi.authentication.logger
scapi.logger
scapi.tests.scapi_tests.logger
scapi.tests.test_connect.logger
scapi.tests.test_oauth.logger" class="py-name" href="#" onclick="return doclink('link-83', 'logger', 'link-3');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt><tt class="py-name">contacts</tt><tt class="py-op">)</tt> </tt>
<a name="L177"></a><tt class="py-lineno">177</tt> <tt class="py-line"> <tt class="py-name">tracks</tt> <tt class="py-op">=</tt> <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">user</tt><tt class="py-op">.</tt><tt class="py-name">tracks</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
<a name="L178"></a><tt class="py-lineno">178</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">tracks</tt><tt class="py-op">,</tt> <tt class="py-name">list</tt><tt class="py-op">)</tt> </tt>
<a name="L179"></a><tt class="py-lineno">179</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">tracks</tt><tt class="py-op">:</tt> </tt>
<a name="L180"></a><tt class="py-lineno">180</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">tracks</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt id="link-84" class="py-name"><a title="scapi" class="py-name" href="#" onclick="return doclink('link-84', 'scapi', 'link-0');">scapi</a></tt><tt class="py-op">.</tt><tt id="link-85" class="py-name" targets="Class scapi.Track=scapi.Track-class.html"><a title="scapi.Track" class="py-name" href="#" onclick="return doclink('link-85', 'Track', 'link-85');">Track</a></tt><tt class="py-op">)</tt> </tt>
<a name="L181"></a><tt class="py-lineno">181</tt> <tt class="py-line"> <tt id="link-86" class="py-name"><a title="scapi.authentication.logger
scapi.logger
scapi.tests.scapi_tests.logger
scapi.tests.test_connect.logger
scapi.tests.test_oauth.logger" class="py-name" href="#" onclick="return doclink('link-86', 'logger', 'link-3');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt><tt class="py-name">tracks</tt><tt class="py-op">)</tt> </tt>
</div><a name="L182"></a><tt class="py-lineno">182</tt> <tt class="py-line"> </tt>
<a name="L183"></a><tt class="py-lineno">183</tt> <tt class="py-line"> </tt>
<a name="SCAPITests.test_access_token_acquisition"></a><div id="SCAPITests.test_access_token_acquisition-def"><a name="L184"></a><tt class="py-lineno">184</tt> <a class="py-toggle" href="#" id="SCAPITests.test_access_token_acquisition-toggle" onclick="return toggle('SCAPITests.test_access_token_acquisition');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="scapi.tests.scapi_tests.SCAPITests-class.html#test_access_token_acquisition">test_access_token_acquisition</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="SCAPITests.test_access_token_acquisition-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SCAPITests.test_access_token_acquisition-expanded"><a name="L185"></a><tt class="py-lineno">185</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
<a name="L186"></a><tt class="py-lineno">186</tt> <tt class="py-line"><tt class="py-docstring"> This test is commented out because it needs user-interaction.</tt> </tt>
<a name="L187"></a><tt class="py-lineno">187</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
<a name="L188"></a><tt class="py-lineno">188</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-87" class="py-name"><a title="scapi.tests.scapi_tests.SCAPITests.RUN_INTERACTIVE_TESTS
scapi.tests.test_connect.RUN_INTERACTIVE_TESTS" class="py-name" href="#" onclick="return doclink('link-87', 'RUN_INTERACTIVE_TESTS', 'link-14');">RUN_INTERACTIVE_TESTS</a></tt><tt class="py-op">:</tt> </tt>
<a name="L189"></a><tt class="py-lineno">189</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> </tt>
<a name="L190"></a><tt class="py-lineno">190</tt> <tt class="py-line"> <tt class="py-name">oauth_authenticator</tt> <tt class="py-op">=</tt> <tt id="link-88" class="py-name"><a title="scapi" class="py-name" href="#" onclick="return doclink('link-88', 'scapi', 'link-0');">scapi</a></tt><tt class="py-op">.</tt><tt id="link-89" class="py-name"><a title="scapi.authentication" class="py-name" href="#" onclick="return doclink('link-89', 'authentication', 'link-2');">authentication</a></tt><tt class="py-op">.</tt><tt id="link-90" class="py-name"><a title="scapi.authentication.OAuthAuthenticator" class="py-name" href="#" onclick="return doclink('link-90', 'OAuthAuthenticator', 'link-55');">OAuthAuthenticator</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-91" class="py-name"><a title="scapi.tests.scapi_tests.SCAPITests.CONSUMER
scapi.tests.test_connect.CONSUMER
scapi.tests.test_oauth.CONSUMER" class="py-name" href="#" onclick="return doclink('link-91', 'CONSUMER', 'link-8');">CONSUMER</a></tt><tt class="py-op">,</tt> </tt>
<a name="L191"></a><tt class="py-lineno">191</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-92" class="py-name"><a title="scapi.tests.scapi_tests.SCAPITests.CONSUMER_SECRET
scapi.tests.test_connect.CONSUMER_SECRET
scapi.tests.test_oauth.CONSUMER_SECRET" class="py-name" href="#" onclick="return doclink('link-92', 'CONSUMER_SECRET', 'link-9');">CONSUMER_SECRET</a></tt><tt class="py-op">,</tt> </tt>
<a name="L192"></a><tt class="py-lineno">192</tt> <tt class="py-line"> <tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
<a name="L193"></a><tt class="py-lineno">193</tt> <tt class="py-line"> <tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
<a name="L194"></a><tt class="py-lineno">194</tt> <tt class="py-line"> </tt>
<a name="L195"></a><tt class="py-lineno">195</tt> <tt class="py-line"> <tt class="py-name">sca</tt> <tt class="py-op">=</tt> <tt id="link-93" class="py-name"><a title="scapi" class="py-name" href="#" onclick="return doclink('link-93', 'scapi', 'link-0');">scapi</a></tt><tt class="py-op">.</tt><tt id="link-94" class="py-name"><a title="scapi.ApiConnector" class="py-name" href="#" onclick="return doclink('link-94', 'ApiConnector', 'link-70');">ApiConnector</a></tt><tt class="py-op">(</tt><tt class="py-name">host</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-95" class="py-name"><a title="scapi.tests.scapi_tests.SCAPITests.API_HOST
scapi.tests.test_connect.API_HOST" class="py-name" href="#" onclick="return doclink('link-95', 'API_HOST', 'link-10');">API_HOST</a></tt><tt class="py-op">,</tt> <tt class="py-name">authenticator</tt><tt class="py-op">=</tt><tt class="py-name">oauth_authenticator</tt><tt class="py-op">)</tt> </tt>
<a name="L196"></a><tt class="py-lineno">196</tt> <tt class="py-line"> <tt class="py-name">token</tt><tt class="py-op">,</tt> <tt class="py-name">secret</tt> <tt class="py-op">=</tt> <tt class="py-name">sca</tt><tt class="py-op">.</tt><tt id="link-96" class="py-name" targets="Method scapi.ApiConnector.fetch_request_token()=scapi.ApiConnector-class.html#fetch_request_token"><a title="scapi.ApiConnector.fetch_request_token" class="py-name" href="#" onclick="return doclink('link-96', 'fetch_request_token', 'link-96');">fetch_request_token</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L197"></a><tt class="py-lineno">197</tt> <tt class="py-line"> <tt class="py-name">authorization_url</tt> <tt class="py-op">=</tt> <tt class="py-name">sca</tt><tt class="py-op">.</tt><tt id="link-97" class="py-name" targets="Method scapi.ApiConnector.get_request_token_authorization_url()=scapi.ApiConnector-class.html#get_request_token_authorization_url"><a title="scapi.ApiConnector.get_request_token_authorization_url" class="py-name" href="#" onclick="return doclink('link-97', 'get_request_token_authorization_url', 'link-97');">get_request_token_authorization_url</a></tt><tt class="py-op">(</tt><tt class="py-name">token</tt><tt class="py-op">)</tt> </tt>
<a name="L198"></a><tt class="py-lineno">198</tt> <tt class="py-line"> <tt class="py-name">webbrowser</tt><tt class="py-op">.</tt><tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">authorization_url</tt><tt class="py-op">)</tt> </tt>
<a name="L199"></a><tt class="py-lineno">199</tt> <tt class="py-line"> <tt class="py-name">oauth_verifier</tt> <tt class="py-op">=</tt> <tt class="py-name">raw_input</tt><tt class="py-op">(</tt><tt class="py-string">"please enter verifier code as seen in the browser:"</tt><tt class="py-op">)</tt> </tt>
<a name="L200"></a><tt class="py-lineno">200</tt> <tt class="py-line"> </tt>
<a name="L201"></a><tt class="py-lineno">201</tt> <tt class="py-line"> <tt class="py-name">oauth_authenticator</tt> <tt class="py-op">=</tt> <tt id="link-98" class="py-name"><a title="scapi" class="py-name" href="#" onclick="return doclink('link-98', 'scapi', 'link-0');">scapi</a></tt><tt class="py-op">.</tt><tt id="link-99" class="py-name"><a title="scapi.authentication" class="py-name" href="#" onclick="return doclink('link-99', 'authentication', 'link-2');">authentication</a></tt><tt class="py-op">.</tt><tt id="link-100" class="py-name"><a title="scapi.authentication.OAuthAuthenticator" class="py-name" href="#" onclick="return doclink('link-100', 'OAuthAuthenticator', 'link-55');">OAuthAuthenticator</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-101" class="py-name"><a title="scapi.tests.scapi_tests.SCAPITests.CONSUMER
scapi.tests.test_connect.CONSUMER
scapi.tests.test_oauth.CONSUMER" class="py-name" href="#" onclick="return doclink('link-101', 'CONSUMER', 'link-8');">CONSUMER</a></tt><tt class="py-op">,</tt> </tt>
<a name="L202"></a><tt class="py-lineno">202</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-102" class="py-name"><a title="scapi.tests.scapi_tests.SCAPITests.CONSUMER_SECRET
scapi.tests.test_connect.CONSUMER_SECRET
scapi.tests.test_oauth.CONSUMER_SECRET" class="py-name" href="#" onclick="return doclink('link-102', 'CONSUMER_SECRET', 'link-9');">CONSUMER_SECRET</a></tt><tt class="py-op">,</tt> </tt>
<a name="L203"></a><tt class="py-lineno">203</tt> <tt class="py-line"> <tt class="py-name">token</tt><tt class="py-op">,</tt> </tt>
<a name="L204"></a><tt class="py-lineno">204</tt> <tt class="py-line"> <tt class="py-name">secret</tt><tt class="py-op">)</tt> </tt>
<a name="L205"></a><tt class="py-lineno">205</tt> <tt class="py-line"> </tt>
<a name="L206"></a><tt class="py-lineno">206</tt> <tt class="py-line"> <tt class="py-name">sca</tt> <tt class="py-op">=</tt> <tt id="link-103" class="py-name"><a title="scapi" class="py-name" href="#" onclick="return doclink('link-103', 'scapi', 'link-0');">scapi</a></tt><tt class="py-op">.</tt><tt id="link-104" class="py-name"><a title="scapi.ApiConnector" class="py-name" href="#" onclick="return doclink('link-104', 'ApiConnector', 'link-70');">ApiConnector</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-105" class="py-name"><a title="scapi.tests.scapi_tests.SCAPITests.API_HOST
scapi.tests.test_connect.API_HOST" class="py-name" href="#" onclick="return doclink('link-105', 'API_HOST', 'link-10');">API_HOST</a></tt><tt class="py-op">,</tt> <tt class="py-name">authenticator</tt><tt class="py-op">=</tt><tt class="py-name">oauth_authenticator</tt><tt class="py-op">)</tt> </tt>
<a name="L207"></a><tt class="py-lineno">207</tt> <tt class="py-line"> <tt class="py-name">token</tt><tt class="py-op">,</tt> <tt class="py-name">secret</tt> <tt class="py-op">=</tt> <tt class="py-name">sca</tt><tt class="py-op">.</tt><tt id="link-106" class="py-name" targets="Method scapi.ApiConnector.fetch_access_token()=scapi.ApiConnector-class.html#fetch_access_token"><a title="scapi.ApiConnector.fetch_access_token" class="py-name" href="#" onclick="return doclink('link-106', 'fetch_access_token', 'link-106');">fetch_access_token</a></tt><tt class="py-op">(</tt><tt class="py-name">oauth_verifier</tt><tt class="py-op">)</tt> </tt>
<a name="L208"></a><tt class="py-lineno">208</tt> <tt class="py-line"> <tt id="link-107" class="py-name"><a title="scapi.authentication.logger
scapi.logger
scapi.tests.scapi_tests.logger
scapi.tests.test_connect.logger
scapi.tests.test_oauth.logger" class="py-name" href="#" onclick="return doclink('link-107', 'logger', 'link-3');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"Access token: '%s'"</tt><tt class="py-op">,</tt> <tt class="py-name">token</tt><tt class="py-op">)</tt> </tt>
<a name="L209"></a><tt class="py-lineno">209</tt> <tt class="py-line"> <tt id="link-108" class="py-name"><a title="scapi.authentication.logger
scapi.logger
scapi.tests.scapi_tests.logger
scapi.tests.test_connect.logger
scapi.tests.test_oauth.logger" class="py-name" href="#" onclick="return doclink('link-108', 'logger', 'link-3');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"Access token secret: '%s'"</tt><tt class="py-op">,</tt> <tt class="py-name">secret</tt><tt class="py-op">)</tt> </tt>
<a name="L210"></a><tt class="py-lineno">210</tt> <tt class="py-line"> <tt class="py-comment"># force oauth-authentication with the new parameters, and</tt> </tt>
<a name="L211"></a><tt class="py-lineno">211</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment"># then invoke some simple test</tt> </tt>
<a name="L212"></a><tt class="py-lineno">212</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-109" class="py-name"><a title="scapi.tests.scapi_tests.SCAPITests.AUTHENTICATOR" class="py-name" href="#" onclick="return doclink('link-109', 'AUTHENTICATOR', 'link-13');">AUTHENTICATOR</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"oauth"</tt> </tt>
<a name="L213"></a><tt class="py-lineno">213</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-110" class="py-name"><a title="scapi.tests.scapi_tests.SCAPITests.TOKEN
scapi.tests.test_connect.TOKEN
scapi.tests.test_oauth.TOKEN" class="py-name" href="#" onclick="return doclink('link-110', 'TOKEN', 'link-6');">TOKEN</a></tt> <tt class="py-op">=</tt> <tt class="py-name">token</tt> </tt>
<a name="L214"></a><tt class="py-lineno">214</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-111" class="py-name"><a title="scapi.tests.scapi_tests.SCAPITests.SECRET
scapi.tests.test_connect.SECRET
scapi.tests.test_oauth.SECRET" class="py-name" href="#" onclick="return doclink('link-111', 'SECRET', 'link-7');">SECRET</a></tt> <tt class="py-op">=</tt> <tt class="py-name">secret</tt> </tt>
<a name="L215"></a><tt class="py-lineno">215</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-112" class="py-name" targets="Method scapi.tests.scapi_tests.SCAPITests.test_connect()=scapi.tests.scapi_tests.SCAPITests-class.html#test_connect,Module scapi.tests.test_connect=scapi.tests.test_connect-module.html,Function scapi.tests.test_connect.test_connect()=scapi.tests.test_connect-module.html#test_connect"><a title="scapi.tests.scapi_tests.SCAPITests.test_connect
scapi.tests.test_connect
scapi.tests.test_connect.test_connect" class="py-name" href="#" onclick="return doclink('link-112', 'test_connect', 'link-112');">test_connect</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
</div><a name="L216"></a><tt class="py-lineno">216</tt> <tt class="py-line"> </tt>
<a name="L217"></a><tt class="py-lineno">217</tt> <tt class="py-line"> </tt>
<a name="SCAPITests.test_track_creation"></a><div id="SCAPITests.test_track_creation-def"><a name="L218"></a><tt class="py-lineno">218</tt> <a class="py-toggle" href="#" id="SCAPITests.test_track_creation-toggle" onclick="return toggle('SCAPITests.test_track_creation');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="scapi.tests.scapi_tests.SCAPITests-class.html#test_track_creation">test_track_creation</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="SCAPITests.test_track_creation-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SCAPITests.test_track_creation-expanded"><a name="L219"></a><tt class="py-lineno">219</tt> <tt class="py-line"> <tt class="py-name">sca</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-113" class="py-name"><a title="scapi.tests.scapi_tests.SCAPITests.root" class="py-name" href="#" onclick="return doclink('link-113', 'root', 'link-77');">root</a></tt> </tt>
<a name="L220"></a><tt class="py-lineno">220</tt> <tt class="py-line"> <tt class="py-name">track</tt> <tt class="py-op">=</tt> <tt class="py-name">sca</tt><tt class="py-op">.</tt><tt id="link-114" class="py-name"><a title="scapi.Track" class="py-name" href="#" onclick="return doclink('link-114', 'Track', 'link-85');">Track</a></tt><tt class="py-op">.</tt><tt id="link-115" class="py-name" targets="Class Method scapi.RESTBase.new()=scapi.RESTBase-class.html#new"><a title="scapi.RESTBase.new" class="py-name" href="#" onclick="return doclink('link-115', 'new', 'link-115');">new</a></tt><tt class="py-op">(</tt><tt class="py-name">title</tt><tt class="py-op">=</tt><tt class="py-string">'bar'</tt><tt class="py-op">,</tt> <tt class="py-name">asset_data</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">data</tt><tt class="py-op">)</tt> </tt>
<a name="L221"></a><tt class="py-lineno">221</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">track</tt><tt class="py-op">,</tt> <tt id="link-116" class="py-name"><a title="scapi" class="py-name" href="#" onclick="return doclink('link-116', 'scapi', 'link-0');">scapi</a></tt><tt class="py-op">.</tt><tt id="link-117" class="py-name"><a title="scapi.Track" class="py-name" href="#" onclick="return doclink('link-117', 'Track', 'link-85');">Track</a></tt><tt class="py-op">)</tt> </tt>
</div><a name="L222"></a><tt class="py-lineno">222</tt> <tt class="py-line"> </tt>
<a name="L223"></a><tt class="py-lineno">223</tt> <tt class="py-line"> </tt>
<a name="SCAPITests.test_track_update"></a><div id="SCAPITests.test_track_update-def"><a name="L224"></a><tt class="py-lineno">224</tt> <a class="py-toggle" href="#" id="SCAPITests.test_track_update-toggle" onclick="return toggle('SCAPITests.test_track_update');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="scapi.tests.scapi_tests.SCAPITests-class.html#test_track_update">test_track_update</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="SCAPITests.test_track_update-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SCAPITests.test_track_update-expanded"><a name="L225"></a><tt class="py-lineno">225</tt> <tt class="py-line"> <tt class="py-name">sca</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-118" class="py-name"><a title="scapi.tests.scapi_tests.SCAPITests.root" class="py-name" href="#" onclick="return doclink('link-118', 'root', 'link-77');">root</a></tt> </tt>
<a name="L226"></a><tt class="py-lineno">226</tt> <tt class="py-line"> <tt class="py-name">track</tt> <tt class="py-op">=</tt> <tt class="py-name">sca</tt><tt class="py-op">.</tt><tt id="link-119" class="py-name"><a title="scapi.Track" class="py-name" href="#" onclick="return doclink('link-119', 'Track', 'link-85');">Track</a></tt><tt class="py-op">.</tt><tt id="link-120" class="py-name"><a title="scapi.RESTBase.new" class="py-name" href="#" onclick="return doclink('link-120', 'new', 'link-115');">new</a></tt><tt class="py-op">(</tt><tt class="py-name">title</tt><tt class="py-op">=</tt><tt class="py-string">'bar'</tt><tt class="py-op">,</tt> <tt class="py-name">asset_data</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">data</tt><tt class="py-op">)</tt> </tt>
<a name="L227"></a><tt class="py-lineno">227</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">track</tt><tt class="py-op">,</tt> <tt id="link-121" class="py-name"><a title="scapi" class="py-name" href="#" onclick="return doclink('link-121', 'scapi', 'link-0');">scapi</a></tt><tt class="py-op">.</tt><tt id="link-122" class="py-name"><a title="scapi.Track" class="py-name" href="#" onclick="return doclink('link-122', 'Track', 'link-85');">Track</a></tt><tt class="py-op">)</tt> </tt>
<a name="L228"></a><tt class="py-lineno">228</tt> <tt class="py-line"> <tt class="py-name">track</tt><tt class="py-op">.</tt><tt class="py-name">title</tt><tt class="py-op">=</tt><tt class="py-string">'baz'</tt> </tt>
<a name="L229"></a><tt class="py-lineno">229</tt> <tt class="py-line"> <tt class="py-name">track</tt> <tt class="py-op">=</tt> <tt class="py-name">sca</tt><tt class="py-op">.</tt><tt id="link-123" class="py-name"><a title="scapi.Track" class="py-name" href="#" onclick="return doclink('link-123', 'Track', 'link-85');">Track</a></tt><tt class="py-op">.</tt><tt id="link-124" class="py-name"><a title="scapi.RESTBase.get" class="py-name" href="#" onclick="return doclink('link-124', 'get', 'link-20');">get</a></tt><tt class="py-op">(</tt><tt class="py-name">track</tt><tt class="py-op">.</tt><tt class="py-name">id</tt><tt class="py-op">)</tt> </tt>
<a name="L230"></a><tt class="py-lineno">230</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-name">track</tt><tt class="py-op">.</tt><tt class="py-name">title</tt> <tt class="py-op">==</tt> <tt class="py-string">"baz"</tt> </tt>
</div><a name="L231"></a><tt class="py-lineno">231</tt> <tt class="py-line"> </tt>
<a name="L232"></a><tt class="py-lineno">232</tt> <tt class="py-line"> </tt>
<a name="SCAPITests.test_scoped_track_creation"></a><div id="SCAPITests.test_scoped_track_creation-def"><a name="L233"></a><tt class="py-lineno">233</tt> <a class="py-toggle" href="#" id="SCAPITests.test_scoped_track_creation-toggle" onclick="return toggle('SCAPITests.test_scoped_track_creation');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="scapi.tests.scapi_tests.SCAPITests-class.html#test_scoped_track_creation">test_scoped_track_creation</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="SCAPITests.test_scoped_track_creation-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SCAPITests.test_scoped_track_creation-expanded"><a name="L234"></a><tt class="py-lineno">234</tt> <tt class="py-line"> <tt class="py-name">sca</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-125" class="py-name"><a title="scapi.tests.scapi_tests.SCAPITests.root" class="py-name" href="#" onclick="return doclink('link-125', 'root', 'link-77');">root</a></tt> </tt>
<a name="L235"></a><tt class="py-lineno">235</tt> <tt class="py-line"> <tt class="py-name">user</tt> <tt class="py-op">=</tt> <tt class="py-name">sca</tt><tt class="py-op">.</tt><tt class="py-name">me</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L236"></a><tt class="py-lineno">236</tt> <tt class="py-line"> <tt class="py-name">track</tt> <tt class="py-op">=</tt> <tt class="py-name">user</tt><tt class="py-op">.</tt><tt class="py-name">tracks</tt><tt class="py-op">.</tt><tt id="link-126" class="py-name"><a title="scapi.RESTBase.new" class="py-name" href="#" onclick="return doclink('link-126', 'new', 'link-115');">new</a></tt><tt class="py-op">(</tt><tt class="py-name">title</tt><tt class="py-op">=</tt><tt class="py-string">"bar"</tt><tt class="py-op">,</tt> <tt class="py-name">asset_data</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">data</tt><tt class="py-op">)</tt> </tt>
<a name="L237"></a><tt class="py-lineno">237</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">track</tt><tt class="py-op">,</tt> <tt id="link-127" class="py-name"><a title="scapi" class="py-name" href="#" onclick="return doclink('link-127', 'scapi', 'link-0');">scapi</a></tt><tt class="py-op">.</tt><tt id="link-128" class="py-name"><a title="scapi.Track" class="py-name" href="#" onclick="return doclink('link-128', 'Track', 'link-85');">Track</a></tt><tt class="py-op">)</tt> </tt>
</div><a name="L238"></a><tt class="py-lineno">238</tt> <tt class="py-line"> </tt>
<a name="L239"></a><tt class="py-lineno">239</tt> <tt class="py-line"> </tt>
<a name="SCAPITests.test_upload"></a><div id="SCAPITests.test_upload-def"><a name="L240"></a><tt class="py-lineno">240</tt> <a class="py-toggle" href="#" id="SCAPITests.test_upload-toggle" onclick="return toggle('SCAPITests.test_upload');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="scapi.tests.scapi_tests.SCAPITests-class.html#test_upload">test_upload</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="SCAPITests.test_upload-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SCAPITests.test_upload-expanded"><a name="L241"></a><tt class="py-lineno">241</tt> <tt class="py-line"> <tt class="py-name">sca</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-129" class="py-name"><a title="scapi.tests.scapi_tests.SCAPITests.root" class="py-name" href="#" onclick="return doclink('link-129', 'root', 'link-77');">root</a></tt> </tt>
<a name="L242"></a><tt class="py-lineno">242</tt> <tt class="py-line"> <tt class="py-name">sca</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-130" class="py-name"><a title="scapi.tests.scapi_tests.SCAPITests.root" class="py-name" href="#" onclick="return doclink('link-130', 'root', 'link-77');">root</a></tt> </tt>
<a name="L243"></a><tt class="py-lineno">243</tt> <tt class="py-line"> <tt class="py-name">track</tt> <tt class="py-op">=</tt> <tt class="py-name">sca</tt><tt class="py-op">.</tt><tt id="link-131" class="py-name"><a title="scapi.Track" class="py-name" href="#" onclick="return doclink('link-131', 'Track', 'link-85');">Track</a></tt><tt class="py-op">.</tt><tt id="link-132" class="py-name"><a title="scapi.RESTBase.new" class="py-name" href="#" onclick="return doclink('link-132', 'new', 'link-115');">new</a></tt><tt class="py-op">(</tt><tt class="py-name">title</tt><tt class="py-op">=</tt><tt class="py-string">'bar'</tt><tt class="py-op">,</tt> <tt class="py-name">asset_data</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">data</tt><tt class="py-op">)</tt> </tt>
<a name="L244"></a><tt class="py-lineno">244</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">track</tt><tt class="py-op">,</tt> <tt id="link-133" class="py-name"><a title="scapi" class="py-name" href="#" onclick="return doclink('link-133', 'scapi', 'link-0');">scapi</a></tt><tt class="py-op">.</tt><tt id="link-134" class="py-name"><a title="scapi.Track" class="py-name" href="#" onclick="return doclink('link-134', 'Track', 'link-85');">Track</a></tt><tt class="py-op">)</tt> </tt>
</div><a name="L245"></a><tt class="py-lineno">245</tt> <tt class="py-line"> </tt>
<a name="L246"></a><tt class="py-lineno">246</tt> <tt class="py-line"> </tt>
<a name="SCAPITests.test_contact_list"></a><div id="SCAPITests.test_contact_list-def"><a name="L247"></a><tt class="py-lineno">247</tt> <a class="py-toggle" href="#" id="SCAPITests.test_contact_list-toggle" onclick="return toggle('SCAPITests.test_contact_list');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="scapi.tests.scapi_tests.SCAPITests-class.html#test_contact_list">test_contact_list</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="SCAPITests.test_contact_list-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SCAPITests.test_contact_list-expanded"><a name="L248"></a><tt class="py-lineno">248</tt> <tt class="py-line"> <tt class="py-name">sca</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-135" class="py-name"><a title="scapi.tests.scapi_tests.SCAPITests.root" class="py-name" href="#" onclick="return doclink('link-135', 'root', 'link-77');">root</a></tt> </tt>
<a name="L249"></a><tt class="py-lineno">249</tt> <tt class="py-line"> <tt class="py-name">user</tt> <tt class="py-op">=</tt> <tt class="py-name">sca</tt><tt class="py-op">.</tt><tt class="py-name">me</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L250"></a><tt class="py-lineno">250</tt> <tt class="py-line"> <tt class="py-name">contacts</tt> <tt class="py-op">=</tt> <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">user</tt><tt class="py-op">.</tt><tt class="py-name">contacts</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
<a name="L251"></a><tt class="py-lineno">251</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">contacts</tt><tt class="py-op">,</tt> <tt class="py-name">list</tt><tt class="py-op">)</tt> </tt>
<a name="L252"></a><tt class="py-lineno">252</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">contacts</tt><tt class="py-op">:</tt> </tt>
<a name="L253"></a><tt class="py-lineno">253</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">contacts</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt id="link-136" class="py-name"><a title="scapi" class="py-name" href="#" onclick="return doclink('link-136', 'scapi', 'link-0');">scapi</a></tt><tt class="py-op">.</tt><tt id="link-137" class="py-name"><a title="scapi.User" class="py-name" href="#" onclick="return doclink('link-137', 'User', 'link-80');">User</a></tt><tt class="py-op">)</tt> </tt>
</div><a name="L254"></a><tt class="py-lineno">254</tt> <tt class="py-line"> </tt>
<a name="L255"></a><tt class="py-lineno">255</tt> <tt class="py-line"> </tt>
<a name="SCAPITests.test_permissions"></a><div id="SCAPITests.test_permissions-def"><a name="L256"></a><tt class="py-lineno">256</tt> <a class="py-toggle" href="#" id="SCAPITests.test_permissions-toggle" onclick="return toggle('SCAPITests.test_permissions');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="scapi.tests.scapi_tests.SCAPITests-class.html#test_permissions">test_permissions</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="SCAPITests.test_permissions-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SCAPITests.test_permissions-expanded"><a name="L257"></a><tt class="py-lineno">257</tt> <tt class="py-line"> <tt class="py-name">sca</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-138" class="py-name"><a title="scapi.tests.scapi_tests.SCAPITests.root" class="py-name" href="#" onclick="return doclink('link-138', 'root', 'link-77');">root</a></tt> </tt>
<a name="L258"></a><tt class="py-lineno">258</tt> <tt class="py-line"> <tt class="py-name">user</tt> <tt class="py-op">=</tt> <tt class="py-name">sca</tt><tt class="py-op">.</tt><tt class="py-name">me</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L259"></a><tt class="py-lineno">259</tt> <tt class="py-line"> <tt class="py-name">tracks</tt> <tt class="py-op">=</tt> <tt class="py-name">itertools</tt><tt class="py-op">.</tt><tt class="py-name">islice</tt><tt class="py-op">(</tt><tt class="py-name">user</tt><tt class="py-op">.</tt><tt class="py-name">tracks</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
<a name="L260"></a><tt class="py-lineno">260</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">track</tt> <tt class="py-keyword">in</tt> <tt class="py-name">tracks</tt><tt class="py-op">:</tt> </tt>
<a name="L261"></a><tt class="py-lineno">261</tt> <tt class="py-line"> <tt class="py-name">permissions</tt> <tt class="py-op">=</tt> <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">track</tt><tt class="py-op">.</tt><tt class="py-name">permissions</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
<a name="L262"></a><tt class="py-lineno">262</tt> <tt class="py-line"> <tt id="link-139" class="py-name"><a title="scapi.authentication.logger
scapi.logger
scapi.tests.scapi_tests.logger
scapi.tests.test_connect.logger
scapi.tests.test_oauth.logger" class="py-name" href="#" onclick="return doclink('link-139', 'logger', 'link-3');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt><tt class="py-name">permissions</tt><tt class="py-op">)</tt> </tt>
<a name="L263"></a><tt class="py-lineno">263</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">permissions</tt><tt class="py-op">,</tt> <tt class="py-name">list</tt><tt class="py-op">)</tt> </tt>
<a name="L264"></a><tt class="py-lineno">264</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">permissions</tt><tt class="py-op">:</tt> </tt>
<a name="L265"></a><tt class="py-lineno">265</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">permissions</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt id="link-140" class="py-name"><a title="scapi" class="py-name" href="#" onclick="return doclink('link-140', 'scapi', 'link-0');">scapi</a></tt><tt class="py-op">.</tt><tt id="link-141" class="py-name"><a title="scapi.User" class="py-name" href="#" onclick="return doclink('link-141', 'User', 'link-80');">User</a></tt><tt class="py-op">)</tt> </tt>
</div><a name="L266"></a><tt class="py-lineno">266</tt> <tt class="py-line"> </tt>
<a name="L267"></a><tt class="py-lineno">267</tt> <tt class="py-line"> </tt>
<a name="SCAPITests.test_setting_permissions"></a><div id="SCAPITests.test_setting_permissions-def"><a name="L268"></a><tt class="py-lineno">268</tt> <a class="py-toggle" href="#" id="SCAPITests.test_setting_permissions-toggle" onclick="return toggle('SCAPITests.test_setting_permissions');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="scapi.tests.scapi_tests.SCAPITests-class.html#test_setting_permissions">test_setting_permissions</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="SCAPITests.test_setting_permissions-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SCAPITests.test_setting_permissions-expanded"><a name="L269"></a><tt class="py-lineno">269</tt> <tt class="py-line"> <tt class="py-name">sca</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-142" class="py-name"><a title="scapi.tests.scapi_tests.SCAPITests.root" class="py-name" href="#" onclick="return doclink('link-142', 'root', 'link-77');">root</a></tt> </tt>
<a name="L270"></a><tt class="py-lineno">270</tt> <tt class="py-line"> <tt class="py-name">me</tt> <tt class="py-op">=</tt> <tt class="py-name">sca</tt><tt class="py-op">.</tt><tt class="py-name">me</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L271"></a><tt class="py-lineno">271</tt> <tt class="py-line"> <tt class="py-name">track</tt> <tt class="py-op">=</tt> <tt class="py-name">sca</tt><tt class="py-op">.</tt><tt id="link-143" class="py-name"><a title="scapi.Track" class="py-name" href="#" onclick="return doclink('link-143', 'Track', 'link-85');">Track</a></tt><tt class="py-op">.</tt><tt id="link-144" class="py-name"><a title="scapi.RESTBase.new" class="py-name" href="#" onclick="return doclink('link-144', 'new', 'link-115');">new</a></tt><tt class="py-op">(</tt><tt class="py-name">title</tt><tt class="py-op">=</tt><tt class="py-string">'bar'</tt><tt class="py-op">,</tt> <tt class="py-name">sharing</tt><tt class="py-op">=</tt><tt class="py-string">"private"</tt><tt class="py-op">,</tt> <tt class="py-name">asset_data</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">data</tt><tt class="py-op">)</tt> </tt>
<a name="L272"></a><tt class="py-lineno">272</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-name">track</tt><tt class="py-op">.</tt><tt class="py-name">sharing</tt> <tt class="py-op">==</tt> <tt class="py-string">"private"</tt> </tt>
<a name="L273"></a><tt class="py-lineno">273</tt> <tt class="py-line"> <tt class="py-name">users</tt> <tt class="py-op">=</tt> <tt class="py-name">itertools</tt><tt class="py-op">.</tt><tt class="py-name">islice</tt><tt class="py-op">(</tt><tt class="py-name">sca</tt><tt class="py-op">.</tt><tt class="py-name">users</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-number">10</tt><tt class="py-op">)</tt> </tt>
<a name="L274"></a><tt class="py-lineno">274</tt> <tt class="py-line"> <tt class="py-name">users_to_set</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">user</tt> <tt class="py-keyword">for</tt> <tt class="py-name">user</tt> <tt class="py-keyword">in</tt> <tt class="py-name">users</tt> <tt class="py-keyword">if</tt> <tt class="py-name">user</tt> <tt class="py-op">!=</tt> <tt class="py-name">me</tt><tt class="py-op">]</tt> </tt>
<a name="L275"></a><tt class="py-lineno">275</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-name">users_to_set</tt><tt class="py-op">,</tt> <tt class="py-string">"Didn't find any suitable users"</tt> </tt>
<a name="L276"></a><tt class="py-lineno">276</tt> <tt class="py-line"> <tt class="py-name">track</tt><tt class="py-op">.</tt><tt class="py-name">permissions</tt> <tt class="py-op">=</tt> <tt class="py-name">users_to_set</tt> </tt>
<a name="L277"></a><tt class="py-lineno">277</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-name">set</tt><tt class="py-op">(</tt><tt class="py-name">track</tt><tt class="py-op">.</tt><tt class="py-name">permissions</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">set</tt><tt class="py-op">(</tt><tt class="py-name">users_to_set</tt><tt class="py-op">)</tt> </tt>
</div><a name="L278"></a><tt class="py-lineno">278</tt> <tt class="py-line"> </tt>
<a name="L279"></a><tt class="py-lineno">279</tt> <tt class="py-line"> </tt>
<a name="SCAPITests.test_setting_comments"></a><div id="SCAPITests.test_setting_comments-def"><a name="L280"></a><tt class="py-lineno">280</tt> <a class="py-toggle" href="#" id="SCAPITests.test_setting_comments-toggle" onclick="return toggle('SCAPITests.test_setting_comments');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="scapi.tests.scapi_tests.SCAPITests-class.html#test_setting_comments">test_setting_comments</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="SCAPITests.test_setting_comments-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SCAPITests.test_setting_comments-expanded"><a name="L281"></a><tt class="py-lineno">281</tt> <tt class="py-line"> <tt class="py-name">sca</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-145" class="py-name"><a title="scapi.tests.scapi_tests.SCAPITests.root" class="py-name" href="#" onclick="return doclink('link-145', 'root', 'link-77');">root</a></tt> </tt>
<a name="L282"></a><tt class="py-lineno">282</tt> <tt class="py-line"> <tt class="py-name">user</tt> <tt class="py-op">=</tt> <tt class="py-name">sca</tt><tt class="py-op">.</tt><tt class="py-name">me</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L283"></a><tt class="py-lineno">283</tt> <tt class="py-line"> <tt class="py-name">track</tt> <tt class="py-op">=</tt> <tt class="py-name">sca</tt><tt class="py-op">.</tt><tt id="link-146" class="py-name"><a title="scapi.Track" class="py-name" href="#" onclick="return doclink('link-146', 'Track', 'link-85');">Track</a></tt><tt class="py-op">.</tt><tt id="link-147" class="py-name"><a title="scapi.RESTBase.new" class="py-name" href="#" onclick="return doclink('link-147', 'new', 'link-115');">new</a></tt><tt class="py-op">(</tt><tt class="py-name">title</tt><tt class="py-op">=</tt><tt class="py-string">'bar'</tt><tt class="py-op">,</tt> <tt class="py-name">sharing</tt><tt class="py-op">=</tt><tt class="py-string">"private"</tt><tt class="py-op">,</tt> <tt class="py-name">asset_data</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">data</tt><tt class="py-op">)</tt> </tt>
<a name="L284"></a><tt class="py-lineno">284</tt> <tt class="py-line"> <tt class="py-name">comment</tt> <tt class="py-op">=</tt> <tt class="py-name">sca</tt><tt class="py-op">.</tt><tt id="link-148" class="py-name" targets="Class scapi.Comment=scapi.Comment-class.html"><a title="scapi.Comment" class="py-name" href="#" onclick="return doclink('link-148', 'Comment', 'link-148');">Comment</a></tt><tt class="py-op">.</tt><tt id="link-149" class="py-name" targets="Class Method scapi.RESTBase.create()=scapi.RESTBase-class.html#create"><a title="scapi.RESTBase.create" class="py-name" href="#" onclick="return doclink('link-149', 'create', 'link-149');">create</a></tt><tt class="py-op">(</tt><tt class="py-name">body</tt><tt class="py-op">=</tt><tt class="py-string">"This is the body of my comment"</tt><tt class="py-op">,</tt> <tt class="py-name">timestamp</tt><tt class="py-op">=</tt><tt class="py-number">10</tt><tt class="py-op">)</tt> </tt>
<a name="L285"></a><tt class="py-lineno">285</tt> <tt class="py-line"> <tt class="py-name">track</tt><tt class="py-op">.</tt><tt class="py-name">comments</tt> <tt class="py-op">=</tt> <tt class="py-name">comment</tt> </tt>
<a name="L286"></a><tt class="py-lineno">286</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-name">track</tt><tt class="py-op">.</tt><tt class="py-name">comments</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-150" class="py-name" targets="Method scapi.json._StringGenerator.next()=scapi.json._StringGenerator-class.html#next"><a title="scapi.json._StringGenerator.next" class="py-name" href="#" onclick="return doclink('link-150', 'next', 'link-150');">next</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">body</tt> <tt class="py-op">==</tt> <tt class="py-name">comment</tt><tt class="py-op">.</tt><tt class="py-name">body</tt> </tt>
</div><a name="L287"></a><tt class="py-lineno">287</tt> <tt class="py-line"> </tt>
<a name="L288"></a><tt class="py-lineno">288</tt> <tt class="py-line"> </tt>
<a name="SCAPITests.test_setting_comments_the_way_shawn_says_its_correct"></a><div id="SCAPITests.test_setting_comments_the_way_shawn_says_its_correct-def"><a name="L289"></a><tt class="py-lineno">289</tt> <a class="py-toggle" href="#" id="SCAPITests.test_setting_comments_the_way_shawn_says_its_correct-toggle" onclick="return toggle('SCAPITests.test_setting_comments_the_way_shawn_says_its_correct');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="scapi.tests.scapi_tests.SCAPITests-class.html#test_setting_comments_the_way_shawn_says_its_correct">test_setting_comments_the_way_shawn_says_its_correct</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="SCAPITests.test_setting_comments_the_way_shawn_says_its_correct-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SCAPITests.test_setting_comments_the_way_shawn_says_its_correct-expanded"><a name="L290"></a><tt class="py-lineno">290</tt> <tt class="py-line"> <tt class="py-name">sca</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-151" class="py-name"><a title="scapi.tests.scapi_tests.SCAPITests.root" class="py-name" href="#" onclick="return doclink('link-151', 'root', 'link-77');">root</a></tt> </tt>
<a name="L291"></a><tt class="py-lineno">291</tt> <tt class="py-line"> <tt class="py-name">track</tt> <tt class="py-op">=</tt> <tt class="py-name">sca</tt><tt class="py-op">.</tt><tt id="link-152" class="py-name"><a title="scapi.Track" class="py-name" href="#" onclick="return doclink('link-152', 'Track', 'link-85');">Track</a></tt><tt class="py-op">.</tt><tt id="link-153" class="py-name"><a title="scapi.RESTBase.new" class="py-name" href="#" onclick="return doclink('link-153', 'new', 'link-115');">new</a></tt><tt class="py-op">(</tt><tt class="py-name">title</tt><tt class="py-op">=</tt><tt class="py-string">'bar'</tt><tt class="py-op">,</tt> <tt class="py-name">sharing</tt><tt class="py-op">=</tt><tt class="py-string">"private"</tt><tt class="py-op">,</tt> <tt class="py-name">asset_data</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">data</tt><tt class="py-op">)</tt> </tt>
<a name="L292"></a><tt class="py-lineno">292</tt> <tt class="py-line"> <tt class="py-name">cbody</tt> <tt class="py-op">=</tt> <tt class="py-string">"This is the body of my comment"</tt> </tt>
<a name="L293"></a><tt class="py-lineno">293</tt> <tt class="py-line"> <tt class="py-name">track</tt><tt class="py-op">.</tt><tt class="py-name">comments</tt><tt class="py-op">.</tt><tt id="link-154" class="py-name"><a title="scapi.RESTBase.new" class="py-name" href="#" onclick="return doclink('link-154', 'new', 'link-115');">new</a></tt><tt class="py-op">(</tt><tt class="py-name">body</tt><tt class="py-op">=</tt><tt class="py-name">cbody</tt><tt class="py-op">,</tt> <tt class="py-name">timestamp</tt><tt class="py-op">=</tt><tt class="py-number">10</tt><tt class="py-op">)</tt> </tt>
<a name="L294"></a><tt class="py-lineno">294</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">track</tt><tt class="py-op">.</tt><tt class="py-name">comments</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">body</tt> <tt class="py-op">==</tt> <tt class="py-name">cbody</tt> </tt>
</div><a name="L295"></a><tt class="py-lineno">295</tt> <tt class="py-line"> </tt>
<a name="L296"></a><tt class="py-lineno">296</tt> <tt class="py-line"> </tt>
<a name="SCAPITests.test_contact_add_and_removal"></a><div id="SCAPITests.test_contact_add_and_removal-def"><a name="L297"></a><tt class="py-lineno">297</tt> <a class="py-toggle" href="#" id="SCAPITests.test_contact_add_and_removal-toggle" onclick="return toggle('SCAPITests.test_contact_add_and_removal');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="scapi.tests.scapi_tests.SCAPITests-class.html#test_contact_add_and_removal">test_contact_add_and_removal</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="SCAPITests.test_contact_add_and_removal-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SCAPITests.test_contact_add_and_removal-expanded"><a name="L298"></a><tt class="py-lineno">298</tt> <tt class="py-line"> <tt class="py-name">sca</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-155" class="py-name"><a title="scapi.tests.scapi_tests.SCAPITests.root" class="py-name" href="#" onclick="return doclink('link-155', 'root', 'link-77');">root</a></tt> </tt>
<a name="L299"></a><tt class="py-lineno">299</tt> <tt class="py-line"> <tt class="py-name">me</tt> <tt class="py-op">=</tt> <tt class="py-name">sca</tt><tt class="py-op">.</tt><tt class="py-name">me</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L300"></a><tt class="py-lineno">300</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">user</tt> <tt class="py-keyword">in</tt> <tt class="py-name">sca</tt><tt class="py-op">.</tt><tt class="py-name">users</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L301"></a><tt class="py-lineno">301</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">user</tt> <tt class="py-op">!=</tt> <tt class="py-name">me</tt><tt class="py-op">:</tt> </tt>
<a name="L302"></a><tt class="py-lineno">302</tt> <tt class="py-line"> <tt class="py-name">user_to_set</tt> <tt class="py-op">=</tt> <tt class="py-name">user</tt> </tt>
<a name="L303"></a><tt class="py-lineno">303</tt> <tt class="py-line"> <tt class="py-keyword">break</tt> </tt>
<a name="L304"></a><tt class="py-lineno">304</tt> <tt class="py-line"> </tt>
<a name="L305"></a><tt class="py-lineno">305</tt> <tt class="py-line"> <tt class="py-name">contacts</tt> <tt class="py-op">=</tt> <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">me</tt><tt class="py-op">.</tt><tt class="py-name">contacts</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
<a name="L306"></a><tt class="py-lineno">306</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">user_to_set</tt> <tt class="py-keyword">in</tt> <tt class="py-name">contacts</tt><tt class="py-op">:</tt> </tt>
<a name="L307"></a><tt class="py-lineno">307</tt> <tt class="py-line"> <tt class="py-name">me</tt><tt class="py-op">.</tt><tt class="py-name">contacts</tt><tt class="py-op">.</tt><tt class="py-name">remove</tt><tt class="py-op">(</tt><tt class="py-name">user_to_set</tt><tt class="py-op">)</tt> </tt>
<a name="L308"></a><tt class="py-lineno">308</tt> <tt class="py-line"> </tt>
<a name="L309"></a><tt class="py-lineno">309</tt> <tt class="py-line"> <tt class="py-name">me</tt><tt class="py-op">.</tt><tt class="py-name">contacts</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">user_to_set</tt><tt class="py-op">)</tt> </tt>
<a name="L310"></a><tt class="py-lineno">310</tt> <tt class="py-line"> </tt>
<a name="L311"></a><tt class="py-lineno">311</tt> <tt class="py-line"> <tt class="py-name">contacts</tt> <tt class="py-op">=</tt> <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">me</tt><tt class="py-op">.</tt><tt class="py-name">contacts</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
<a name="L312"></a><tt class="py-lineno">312</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-name">user_to_set</tt><tt class="py-op">.</tt><tt class="py-name">id</tt> <tt class="py-keyword">in</tt> <tt class="py-op">[</tt><tt class="py-name">c</tt><tt class="py-op">.</tt><tt class="py-name">id</tt> <tt class="py-keyword">for</tt> <tt class="py-name">c</tt> <tt class="py-keyword">in</tt> <tt class="py-name">contacts</tt><tt class="py-op">]</tt> </tt>
<a name="L313"></a><tt class="py-lineno">313</tt> <tt class="py-line"> </tt>
<a name="L314"></a><tt class="py-lineno">314</tt> <tt class="py-line"> <tt class="py-name">me</tt><tt class="py-op">.</tt><tt class="py-name">contacts</tt><tt class="py-op">.</tt><tt class="py-name">remove</tt><tt class="py-op">(</tt><tt class="py-name">user_to_set</tt><tt class="py-op">)</tt> </tt>
<a name="L315"></a><tt class="py-lineno">315</tt> <tt class="py-line"> </tt>
<a name="L316"></a><tt class="py-lineno">316</tt> <tt class="py-line"> <tt class="py-name">contacts</tt> <tt class="py-op">=</tt> <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">me</tt><tt class="py-op">.</tt><tt class="py-name">contacts</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
<a name="L317"></a><tt class="py-lineno">317</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-name">user_to_set</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">contacts</tt> </tt>
</div><a name="L318"></a><tt class="py-lineno">318</tt> <tt class="py-line"> </tt>
<a name="L319"></a><tt class="py-lineno">319</tt> <tt class="py-line"> </tt>
<a name="SCAPITests.test_favorites"></a><div id="SCAPITests.test_favorites-def"><a name="L320"></a><tt class="py-lineno">320</tt> <a class="py-toggle" href="#" id="SCAPITests.test_favorites-toggle" onclick="return toggle('SCAPITests.test_favorites');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="scapi.tests.scapi_tests.SCAPITests-class.html#test_favorites">test_favorites</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="SCAPITests.test_favorites-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SCAPITests.test_favorites-expanded"><a name="L321"></a><tt class="py-lineno">321</tt> <tt class="py-line"> <tt class="py-name">sca</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-156" class="py-name"><a title="scapi.tests.scapi_tests.SCAPITests.root" class="py-name" href="#" onclick="return doclink('link-156', 'root', 'link-77');">root</a></tt> </tt>
<a name="L322"></a><tt class="py-lineno">322</tt> <tt class="py-line"> <tt class="py-name">me</tt> <tt class="py-op">=</tt> <tt class="py-name">sca</tt><tt class="py-op">.</tt><tt class="py-name">me</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L323"></a><tt class="py-lineno">323</tt> <tt class="py-line"> </tt>
<a name="L324"></a><tt class="py-lineno">324</tt> <tt class="py-line"> <tt class="py-name">favorites</tt> <tt class="py-op">=</tt> <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">me</tt><tt class="py-op">.</tt><tt class="py-name">favorites</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
<a name="L325"></a><tt class="py-lineno">325</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-name">favorites</tt> <tt class="py-op">==</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> <tt class="py-keyword">or</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">favorites</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt id="link-157" class="py-name"><a title="scapi" class="py-name" href="#" onclick="return doclink('link-157', 'scapi', 'link-0');">scapi</a></tt><tt class="py-op">.</tt><tt id="link-158" class="py-name"><a title="scapi.Track" class="py-name" href="#" onclick="return doclink('link-158', 'Track', 'link-85');">Track</a></tt><tt class="py-op">)</tt> </tt>
<a name="L326"></a><tt class="py-lineno">326</tt> <tt class="py-line"> </tt>
<a name="L327"></a><tt class="py-lineno">327</tt> <tt class="py-line"> <tt class="py-name">track</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
<a name="L328"></a><tt class="py-lineno">328</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">user</tt> <tt class="py-keyword">in</tt> <tt class="py-name">sca</tt><tt class="py-op">.</tt><tt class="py-name">users</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L329"></a><tt class="py-lineno">329</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">user</tt> <tt class="py-op">==</tt> <tt class="py-name">me</tt><tt class="py-op">:</tt> </tt>
<a name="L330"></a><tt class="py-lineno">330</tt> <tt class="py-line"> <tt class="py-keyword">continue</tt> </tt>
<a name="L331"></a><tt class="py-lineno">331</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">track</tt> <tt class="py-keyword">in</tt> <tt class="py-name">user</tt><tt class="py-op">.</tt><tt class="py-name">tracks</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L332"></a><tt class="py-lineno">332</tt> <tt class="py-line"> <tt class="py-keyword">break</tt> </tt>
<a name="L333"></a><tt class="py-lineno">333</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">track</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
<a name="L334"></a><tt class="py-lineno">334</tt> <tt class="py-line"> <tt class="py-keyword">break</tt> </tt>
<a name="L335"></a><tt class="py-lineno">335</tt> <tt class="py-line"> </tt>
<a name="L336"></a><tt class="py-lineno">336</tt> <tt class="py-line"> <tt class="py-name">me</tt><tt class="py-op">.</tt><tt class="py-name">favorites</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">track</tt><tt class="py-op">)</tt> </tt>
<a name="L337"></a><tt class="py-lineno">337</tt> <tt class="py-line"> </tt>
<a name="L338"></a><tt class="py-lineno">338</tt> <tt class="py-line"> <tt class="py-name">favorites</tt> <tt class="py-op">=</tt> <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">me</tt><tt class="py-op">.</tt><tt class="py-name">favorites</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
<a name="L339"></a><tt class="py-lineno">339</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-name">track</tt> <tt class="py-keyword">in</tt> <tt class="py-name">favorites</tt> </tt>
<a name="L340"></a><tt class="py-lineno">340</tt> <tt class="py-line"> </tt>
<a name="L341"></a><tt class="py-lineno">341</tt> <tt class="py-line"> <tt class="py-name">me</tt><tt class="py-op">.</tt><tt class="py-name">favorites</tt><tt class="py-op">.</tt><tt class="py-name">remove</tt><tt class="py-op">(</tt><tt class="py-name">track</tt><tt class="py-op">)</tt> </tt>
<a name="L342"></a><tt class="py-lineno">342</tt> <tt class="py-line"> </tt>
<a name="L343"></a><tt class="py-lineno">343</tt> <tt class="py-line"> <tt class="py-name">favorites</tt> <tt class="py-op">=</tt> <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">me</tt><tt class="py-op">.</tt><tt class="py-name">favorites</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
<a name="L344"></a><tt class="py-lineno">344</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-name">track</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">favorites</tt> </tt>
</div><a name="L345"></a><tt class="py-lineno">345</tt> <tt class="py-line"> </tt>
<a name="L346"></a><tt class="py-lineno">346</tt> <tt class="py-line"> </tt>
<a name="SCAPITests.test_large_list"></a><div id="SCAPITests.test_large_list-def"><a name="L347"></a><tt class="py-lineno">347</tt> <a class="py-toggle" href="#" id="SCAPITests.test_large_list-toggle" onclick="return toggle('SCAPITests.test_large_list');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="scapi.tests.scapi_tests.SCAPITests-class.html#test_large_list">test_large_list</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="SCAPITests.test_large_list-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SCAPITests.test_large_list-expanded"><a name="L348"></a><tt class="py-lineno">348</tt> <tt class="py-line"> <tt class="py-name">sca</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-159" class="py-name"><a title="scapi.tests.scapi_tests.SCAPITests.root" class="py-name" href="#" onclick="return doclink('link-159', 'root', 'link-77');">root</a></tt> </tt>
<a name="L349"></a><tt class="py-lineno">349</tt> <tt class="py-line"> </tt>
<a name="L350"></a><tt class="py-lineno">350</tt> <tt class="py-line"> <tt class="py-name">tracks</tt> <tt class="py-op">=</tt> <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">sca</tt><tt class="py-op">.</tt><tt class="py-name">tracks</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
<a name="L351"></a><tt class="py-lineno">351</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">tracks</tt><tt class="py-op">)</tt> <tt class="py-op">&lt;</tt> <tt id="link-160" class="py-name"><a title="scapi" class="py-name" href="#" onclick="return doclink('link-160', 'scapi', 'link-0');">scapi</a></tt><tt class="py-op">.</tt><tt id="link-161" class="py-name"><a title="scapi.ApiConnector" class="py-name" href="#" onclick="return doclink('link-161', 'ApiConnector', 'link-70');">ApiConnector</a></tt><tt class="py-op">.</tt><tt id="link-162" class="py-name" targets="Variable scapi.ApiConnector.LIST_LIMIT=scapi.ApiConnector-class.html#LIST_LIMIT"><a title="scapi.ApiConnector.LIST_LIMIT" class="py-name" href="#" onclick="return doclink('link-162', 'LIST_LIMIT', 'link-162');">LIST_LIMIT</a></tt><tt class="py-op">:</tt> </tt>
<a name="L352"></a><tt class="py-lineno">352</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">xrange</tt><tt class="py-op">(</tt><tt id="link-163" class="py-name"><a title="scapi" class="py-name" href="#" onclick="return doclink('link-163', 'scapi', 'link-0');">scapi</a></tt><tt class="py-op">.</tt><tt id="link-164" class="py-name"><a title="scapi.ApiConnector" class="py-name" href="#" onclick="return doclink('link-164', 'ApiConnector', 'link-70');">ApiConnector</a></tt><tt class="py-op">.</tt><tt id="link-165" class="py-name"><a title="scapi.ApiConnector.LIST_LIMIT" class="py-name" href="#" onclick="return doclink('link-165', 'LIST_LIMIT', 'link-162');">LIST_LIMIT</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L353"></a><tt class="py-lineno">353</tt> <tt class="py-line"> <tt class="py-name">sca</tt><tt class="py-op">.</tt><tt id="link-166" class="py-name"><a title="scapi.Track" class="py-name" href="#" onclick="return doclink('link-166', 'Track', 'link-85');">Track</a></tt><tt class="py-op">.</tt><tt id="link-167" class="py-name"><a title="scapi.RESTBase.new" class="py-name" href="#" onclick="return doclink('link-167', 'new', 'link-115');">new</a></tt><tt class="py-op">(</tt><tt class="py-name">title</tt><tt class="py-op">=</tt><tt class="py-string">'test_track_%i'</tt> <tt class="py-op">%</tt> <tt class="py-name">i</tt><tt class="py-op">,</tt> <tt class="py-name">asset_data</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">data</tt><tt class="py-op">)</tt> </tt>
<a name="L354"></a><tt class="py-lineno">354</tt> <tt class="py-line"> <tt class="py-name">all_tracks</tt> <tt class="py-op">=</tt> <tt class="py-name">sca</tt><tt class="py-op">.</tt><tt class="py-name">tracks</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L355"></a><tt class="py-lineno">355</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-keyword">not</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">all_tracks</tt><tt class="py-op">,</tt> <tt class="py-name">list</tt><tt class="py-op">)</tt> </tt>
<a name="L356"></a><tt class="py-lineno">356</tt> <tt class="py-line"> <tt class="py-name">all_tracks</tt> <tt class="py-op">=</tt> <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">all_tracks</tt><tt class="py-op">)</tt> </tt>
<a name="L357"></a><tt class="py-lineno">357</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">all_tracks</tt><tt class="py-op">)</tt> <tt class="py-op">&gt;</tt> <tt id="link-168" class="py-name"><a title="scapi" class="py-name" href="#" onclick="return doclink('link-168', 'scapi', 'link-0');">scapi</a></tt><tt class="py-op">.</tt><tt id="link-169" class="py-name"><a title="scapi.ApiConnector" class="py-name" href="#" onclick="return doclink('link-169', 'ApiConnector', 'link-70');">ApiConnector</a></tt><tt class="py-op">.</tt><tt id="link-170" class="py-name"><a title="scapi.ApiConnector.LIST_LIMIT" class="py-name" href="#" onclick="return doclink('link-170', 'LIST_LIMIT', 'link-162');">LIST_LIMIT</a></tt> </tt>
</div><a name="L358"></a><tt class="py-lineno">358</tt> <tt class="py-line"> </tt>
<a name="L359"></a><tt class="py-lineno">359</tt> <tt class="py-line"> </tt>
<a name="L360"></a><tt class="py-lineno">360</tt> <tt class="py-line"> </tt>
<a name="SCAPITests.test_filtered_list"></a><div id="SCAPITests.test_filtered_list-def"><a name="L361"></a><tt class="py-lineno">361</tt> <a class="py-toggle" href="#" id="SCAPITests.test_filtered_list-toggle" onclick="return toggle('SCAPITests.test_filtered_list');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="scapi.tests.scapi_tests.SCAPITests-class.html#test_filtered_list">test_filtered_list</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="SCAPITests.test_filtered_list-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SCAPITests.test_filtered_list-expanded"><a name="L362"></a><tt class="py-lineno">362</tt> <tt class="py-line"> <tt class="py-name">sca</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-171" class="py-name"><a title="scapi.tests.scapi_tests.SCAPITests.root" class="py-name" href="#" onclick="return doclink('link-171', 'root', 'link-77');">root</a></tt> </tt>
<a name="L363"></a><tt class="py-lineno">363</tt> <tt class="py-line"> </tt>
<a name="L364"></a><tt class="py-lineno">364</tt> <tt class="py-line"> <tt class="py-name">tracks</tt> <tt class="py-op">=</tt> <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">sca</tt><tt class="py-op">.</tt><tt class="py-name">tracks</tt><tt class="py-op">(</tt><tt class="py-name">params</tt><tt class="py-op">=</tt><tt class="py-op">{</tt> </tt>
<a name="L365"></a><tt class="py-lineno">365</tt> <tt class="py-line"> <tt class="py-string">"bpm[from]"</tt> <tt class="py-op">:</tt> <tt class="py-string">"180"</tt><tt class="py-op">,</tt> </tt>
<a name="L366"></a><tt class="py-lineno">366</tt> <tt class="py-line"> <tt class="py-op">}</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
<a name="L367"></a><tt class="py-lineno">367</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">tracks</tt><tt class="py-op">)</tt> <tt class="py-op">&lt;</tt> <tt id="link-172" class="py-name"><a title="scapi" class="py-name" href="#" onclick="return doclink('link-172', 'scapi', 'link-0');">scapi</a></tt><tt class="py-op">.</tt><tt id="link-173" class="py-name"><a title="scapi.ApiConnector" class="py-name" href="#" onclick="return doclink('link-173', 'ApiConnector', 'link-70');">ApiConnector</a></tt><tt class="py-op">.</tt><tt id="link-174" class="py-name"><a title="scapi.ApiConnector.LIST_LIMIT" class="py-name" href="#" onclick="return doclink('link-174', 'LIST_LIMIT', 'link-162');">LIST_LIMIT</a></tt><tt class="py-op">:</tt> </tt>
<a name="L368"></a><tt class="py-lineno">368</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">xrange</tt><tt class="py-op">(</tt><tt id="link-175" class="py-name"><a title="scapi" class="py-name" href="#" onclick="return doclink('link-175', 'scapi', 'link-0');">scapi</a></tt><tt class="py-op">.</tt><tt id="link-176" class="py-name"><a title="scapi.ApiConnector" class="py-name" href="#" onclick="return doclink('link-176', 'ApiConnector', 'link-70');">ApiConnector</a></tt><tt class="py-op">.</tt><tt id="link-177" class="py-name"><a title="scapi.ApiConnector.LIST_LIMIT" class="py-name" href="#" onclick="return doclink('link-177', 'LIST_LIMIT', 'link-162');">LIST_LIMIT</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L369"></a><tt class="py-lineno">369</tt> <tt class="py-line"> <tt class="py-name">sca</tt><tt class="py-op">.</tt><tt id="link-178" class="py-name"><a title="scapi.Track" class="py-name" href="#" onclick="return doclink('link-178', 'Track', 'link-85');">Track</a></tt><tt class="py-op">.</tt><tt id="link-179" class="py-name"><a title="scapi.RESTBase.new" class="py-name" href="#" onclick="return doclink('link-179', 'new', 'link-115');">new</a></tt><tt class="py-op">(</tt><tt class="py-name">title</tt><tt class="py-op">=</tt><tt class="py-string">'test_track_%i'</tt> <tt class="py-op">%</tt> <tt class="py-name">i</tt><tt class="py-op">,</tt> <tt class="py-name">asset_data</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">data</tt><tt class="py-op">)</tt> </tt>
<a name="L370"></a><tt class="py-lineno">370</tt> <tt class="py-line"> <tt class="py-name">all_tracks</tt> <tt class="py-op">=</tt> <tt class="py-name">sca</tt><tt class="py-op">.</tt><tt class="py-name">tracks</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L371"></a><tt class="py-lineno">371</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-keyword">not</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">all_tracks</tt><tt class="py-op">,</tt> <tt class="py-name">list</tt><tt class="py-op">)</tt> </tt>
<a name="L372"></a><tt class="py-lineno">372</tt> <tt class="py-line"> <tt class="py-name">all_tracks</tt> <tt class="py-op">=</tt> <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">all_tracks</tt><tt class="py-op">)</tt> </tt>
<a name="L373"></a><tt class="py-lineno">373</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">all_tracks</tt><tt class="py-op">)</tt> <tt class="py-op">&gt;</tt> <tt id="link-180" class="py-name"><a title="scapi" class="py-name" href="#" onclick="return doclink('link-180', 'scapi', 'link-0');">scapi</a></tt><tt class="py-op">.</tt><tt id="link-181" class="py-name"><a title="scapi.ApiConnector" class="py-name" href="#" onclick="return doclink('link-181', 'ApiConnector', 'link-70');">ApiConnector</a></tt><tt class="py-op">.</tt><tt id="link-182" class="py-name"><a title="scapi.ApiConnector.LIST_LIMIT" class="py-name" href="#" onclick="return doclink('link-182', 'LIST_LIMIT', 'link-162');">LIST_LIMIT</a></tt> </tt>
</div><a name="L374"></a><tt class="py-lineno">374</tt> <tt class="py-line"> </tt>
<a name="L375"></a><tt class="py-lineno">375</tt> <tt class="py-line"> </tt>
<a name="SCAPITests.test_events"></a><div id="SCAPITests.test_events-def"><a name="L376"></a><tt class="py-lineno">376</tt> <a class="py-toggle" href="#" id="SCAPITests.test_events-toggle" onclick="return toggle('SCAPITests.test_events');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="scapi.tests.scapi_tests.SCAPITests-class.html#test_events">test_events</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="SCAPITests.test_events-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SCAPITests.test_events-expanded"><a name="L377"></a><tt class="py-lineno">377</tt> <tt class="py-line"> <tt class="py-name">events</tt> <tt class="py-op">=</tt> <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-183" class="py-name"><a title="scapi.tests.scapi_tests.SCAPITests.root" class="py-name" href="#" onclick="return doclink('link-183', 'root', 'link-77');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">events</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
<a name="L378"></a><tt class="py-lineno">378</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">events</tt><tt class="py-op">,</tt> <tt class="py-name">list</tt><tt class="py-op">)</tt> </tt>
<a name="L379"></a><tt class="py-lineno">379</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">events</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt id="link-184" class="py-name"><a title="scapi" class="py-name" href="#" onclick="return doclink('link-184', 'scapi', 'link-0');">scapi</a></tt><tt class="py-op">.</tt><tt id="link-185" class="py-name" targets="Class scapi.Event=scapi.Event-class.html"><a title="scapi.Event" class="py-name" href="#" onclick="return doclink('link-185', 'Event', 'link-185');">Event</a></tt><tt class="py-op">)</tt> </tt>
</div><a name="L380"></a><tt class="py-lineno">380</tt> <tt class="py-line"> </tt>
<a name="L381"></a><tt class="py-lineno">381</tt> <tt class="py-line"> </tt>
<a name="SCAPITests.test_me_having_stress"></a><div id="SCAPITests.test_me_having_stress-def"><a name="L382"></a><tt class="py-lineno">382</tt> <a class="py-toggle" href="#" id="SCAPITests.test_me_having_stress-toggle" onclick="return toggle('SCAPITests.test_me_having_stress');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="scapi.tests.scapi_tests.SCAPITests-class.html#test_me_having_stress">test_me_having_stress</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="SCAPITests.test_me_having_stress-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SCAPITests.test_me_having_stress-expanded"><a name="L383"></a><tt class="py-lineno">383</tt> <tt class="py-line"> <tt class="py-name">sca</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-186" class="py-name"><a title="scapi.tests.scapi_tests.SCAPITests.root" class="py-name" href="#" onclick="return doclink('link-186', 'root', 'link-77');">root</a></tt> </tt>
<a name="L384"></a><tt class="py-lineno">384</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">_</tt> <tt class="py-keyword">in</tt> <tt class="py-name">xrange</tt><tt class="py-op">(</tt><tt class="py-number">20</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L385"></a><tt class="py-lineno">385</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-187" class="py-name" targets="Method scapi.tests.scapi_tests.SCAPITests.setUp()=scapi.tests.scapi_tests.SCAPITests-class.html#setUp"><a title="scapi.tests.scapi_tests.SCAPITests.setUp" class="py-name" href="#" onclick="return doclink('link-187', 'setUp', 'link-187');">setUp</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L386"></a><tt class="py-lineno">386</tt> <tt class="py-line"> <tt class="py-name">sca</tt><tt class="py-op">.</tt><tt class="py-name">me</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
</div><a name="L387"></a><tt class="py-lineno">387</tt> <tt class="py-line"> </tt>
<a name="L388"></a><tt class="py-lineno">388</tt> <tt class="py-line"> </tt>
<a name="SCAPITests.test_non_global_api"></a><div id="SCAPITests.test_non_global_api-def"><a name="L389"></a><tt class="py-lineno">389</tt> <a class="py-toggle" href="#" id="SCAPITests.test_non_global_api-toggle" onclick="return toggle('SCAPITests.test_non_global_api');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="scapi.tests.scapi_tests.SCAPITests-class.html#test_non_global_api">test_non_global_api</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="SCAPITests.test_non_global_api-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SCAPITests.test_non_global_api-expanded"><a name="L390"></a><tt class="py-lineno">390</tt> <tt class="py-line"> <tt id="link-188" class="py-name"><a title="scapi.tests.scapi_tests.SCAPITests.root" class="py-name" href="#" onclick="return doclink('link-188', 'root', 'link-77');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-189" class="py-name"><a title="scapi.tests.scapi_tests.SCAPITests.root" class="py-name" href="#" onclick="return doclink('link-189', 'root', 'link-77');">root</a></tt> </tt>
<a name="L391"></a><tt class="py-lineno">391</tt> <tt class="py-line"> <tt class="py-name">me</tt> <tt class="py-op">=</tt> <tt id="link-190" class="py-name"><a title="scapi.tests.scapi_tests.SCAPITests.root" class="py-name" href="#" onclick="return doclink('link-190', 'root', 'link-77');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">me</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L392"></a><tt class="py-lineno">392</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">me</tt><tt class="py-op">,</tt> <tt id="link-191" class="py-name"><a title="scapi" class="py-name" href="#" onclick="return doclink('link-191', 'scapi', 'link-0');">scapi</a></tt><tt class="py-op">.</tt><tt id="link-192" class="py-name"><a title="scapi.User" class="py-name" href="#" onclick="return doclink('link-192', 'User', 'link-80');">User</a></tt><tt class="py-op">)</tt> </tt>
<a name="L393"></a><tt class="py-lineno">393</tt> <tt class="py-line"> </tt>
<a name="L394"></a><tt class="py-lineno">394</tt> <tt class="py-line"> <tt class="py-comment"># now get something *from* that user</tt> </tt>
<a name="L395"></a><tt class="py-lineno">395</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">me</tt><tt class="py-op">.</tt><tt class="py-name">favorites</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
</div><a name="L396"></a><tt class="py-lineno">396</tt> <tt class="py-line"> </tt>
<a name="L397"></a><tt class="py-lineno">397</tt> <tt class="py-line"> </tt>
<a name="SCAPITests.test_playlists"></a><div id="SCAPITests.test_playlists-def"><a name="L398"></a><tt class="py-lineno">398</tt> <a class="py-toggle" href="#" id="SCAPITests.test_playlists-toggle" onclick="return toggle('SCAPITests.test_playlists');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="scapi.tests.scapi_tests.SCAPITests-class.html#test_playlists">test_playlists</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="SCAPITests.test_playlists-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SCAPITests.test_playlists-expanded"><a name="L399"></a><tt class="py-lineno">399</tt> <tt class="py-line"> <tt class="py-name">sca</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-193" class="py-name"><a title="scapi.tests.scapi_tests.SCAPITests.root" class="py-name" href="#" onclick="return doclink('link-193', 'root', 'link-77');">root</a></tt> </tt>
<a name="L400"></a><tt class="py-lineno">400</tt> <tt class="py-line"> <tt class="py-name">playlists</tt> <tt class="py-op">=</tt> <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">itertools</tt><tt class="py-op">.</tt><tt class="py-name">islice</tt><tt class="py-op">(</tt><tt class="py-name">sca</tt><tt class="py-op">.</tt><tt class="py-name">playlists</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-number">127</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
<a name="L401"></a><tt class="py-lineno">401</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">playlist</tt> <tt class="py-keyword">in</tt> <tt class="py-name">playlists</tt><tt class="py-op">:</tt> </tt>
<a name="L402"></a><tt class="py-lineno">402</tt> <tt class="py-line"> <tt class="py-name">tracks</tt> <tt class="py-op">=</tt> <tt class="py-name">playlist</tt><tt class="py-op">.</tt><tt class="py-name">tracks</tt> </tt>
<a name="L403"></a><tt class="py-lineno">403</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">tracks</tt><tt class="py-op">,</tt> <tt class="py-name">list</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L404"></a><tt class="py-lineno">404</tt> <tt class="py-line"> <tt class="py-name">tracks</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">tracks</tt><tt class="py-op">]</tt> </tt>
<a name="L405"></a><tt class="py-lineno">405</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">trackdata</tt> <tt class="py-keyword">in</tt> <tt class="py-name">tracks</tt><tt class="py-op">:</tt> </tt>
<a name="L406"></a><tt class="py-lineno">406</tt> <tt class="py-line"> <tt class="py-keyword">print</tt> <tt class="py-name">trackdata</tt> </tt>
<a name="L407"></a><tt class="py-lineno">407</tt> <tt class="py-line"> <tt class="py-comment">#user = trackdata.user</tt> </tt>
<a name="L408"></a><tt class="py-lineno">408</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment">#print user</tt> </tt>
<a name="L409"></a><tt class="py-lineno">409</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment">#print user.tracks()</tt> </tt>
<a name="L410"></a><tt class="py-lineno">410</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">print</tt> <tt class="py-name">playlist</tt><tt class="py-op">.</tt><tt class="py-name">user</tt> </tt>
<a name="L411"></a><tt class="py-lineno">411</tt> <tt class="py-line"> <tt class="py-keyword">break</tt> </tt>
</div><a name="L412"></a><tt class="py-lineno">412</tt> <tt class="py-line"> </tt>
<a name="L413"></a><tt class="py-lineno">413</tt> <tt class="py-line"> </tt>
<a name="L414"></a><tt class="py-lineno">414</tt> <tt class="py-line"> </tt>
<a name="L415"></a><tt class="py-lineno">415</tt> <tt class="py-line"> </tt>
<a name="SCAPITests.test_playlist_creation"></a><div id="SCAPITests.test_playlist_creation-def"><a name="L416"></a><tt class="py-lineno">416</tt> <a class="py-toggle" href="#" id="SCAPITests.test_playlist_creation-toggle" onclick="return toggle('SCAPITests.test_playlist_creation');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="scapi.tests.scapi_tests.SCAPITests-class.html#test_playlist_creation">test_playlist_creation</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="SCAPITests.test_playlist_creation-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SCAPITests.test_playlist_creation-expanded"><a name="L417"></a><tt class="py-lineno">417</tt> <tt class="py-line"> <tt class="py-name">sca</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-194" class="py-name"><a title="scapi.tests.scapi_tests.SCAPITests.root" class="py-name" href="#" onclick="return doclink('link-194', 'root', 'link-77');">root</a></tt> </tt>
<a name="L418"></a><tt class="py-lineno">418</tt> <tt class="py-line"> <tt class="py-name">sca</tt><tt class="py-op">.</tt><tt id="link-195" class="py-name" targets="Class scapi.Playlist=scapi.Playlist-class.html"><a title="scapi.Playlist" class="py-name" href="#" onclick="return doclink('link-195', 'Playlist', 'link-195');">Playlist</a></tt><tt class="py-op">.</tt><tt id="link-196" class="py-name"><a title="scapi.RESTBase.new" class="py-name" href="#" onclick="return doclink('link-196', 'new', 'link-115');">new</a></tt><tt class="py-op">(</tt><tt class="py-name">title</tt><tt class="py-op">=</tt><tt class="py-string">"I'm so happy, happy, happy, happy!"</tt><tt class="py-op">)</tt> </tt>
</div><a name="L419"></a><tt class="py-lineno">419</tt> <tt class="py-line"> </tt>
<a name="L420"></a><tt class="py-lineno">420</tt> <tt class="py-line"> </tt>
<a name="L421"></a><tt class="py-lineno">421</tt> <tt class="py-line"> </tt>
<a name="SCAPITests.test_groups"></a><div id="SCAPITests.test_groups-def"><a name="L422"></a><tt class="py-lineno">422</tt> <a class="py-toggle" href="#" id="SCAPITests.test_groups-toggle" onclick="return toggle('SCAPITests.test_groups');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="scapi.tests.scapi_tests.SCAPITests-class.html#test_groups">test_groups</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="SCAPITests.test_groups-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SCAPITests.test_groups-expanded"><a name="L423"></a><tt class="py-lineno">423</tt> <tt class="py-line"> <tt class="py-name">sca</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-197" class="py-name"><a title="scapi.tests.scapi_tests.SCAPITests.root" class="py-name" href="#" onclick="return doclink('link-197', 'root', 'link-77');">root</a></tt> </tt>
<a name="L424"></a><tt class="py-lineno">424</tt> <tt class="py-line"> <tt class="py-name">groups</tt> <tt class="py-op">=</tt> <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">itertools</tt><tt class="py-op">.</tt><tt class="py-name">islice</tt><tt class="py-op">(</tt><tt class="py-name">sca</tt><tt class="py-op">.</tt><tt class="py-name">groups</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-number">127</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
<a name="L425"></a><tt class="py-lineno">425</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">group</tt> <tt class="py-keyword">in</tt> <tt class="py-name">groups</tt><tt class="py-op">:</tt> </tt>
<a name="L426"></a><tt class="py-lineno">426</tt> <tt class="py-line"> <tt class="py-name">users</tt> <tt class="py-op">=</tt> <tt class="py-name">group</tt><tt class="py-op">.</tt><tt class="py-name">users</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L427"></a><tt class="py-lineno">427</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">user</tt> <tt class="py-keyword">in</tt> <tt class="py-name">users</tt><tt class="py-op">:</tt> </tt>
<a name="L428"></a><tt class="py-lineno">428</tt> <tt class="py-line"> <tt class="py-keyword">pass</tt> </tt>
</div><a name="L429"></a><tt class="py-lineno">429</tt> <tt class="py-line"> </tt>
<a name="L430"></a><tt class="py-lineno">430</tt> <tt class="py-line"> </tt>
<a name="SCAPITests.test_track_creation_with_email_sharers"></a><div id="SCAPITests.test_track_creation_with_email_sharers-def"><a name="L431"></a><tt class="py-lineno">431</tt> <a class="py-toggle" href="#" id="SCAPITests.test_track_creation_with_email_sharers-toggle" onclick="return toggle('SCAPITests.test_track_creation_with_email_sharers');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="scapi.tests.scapi_tests.SCAPITests-class.html#test_track_creation_with_email_sharers">test_track_creation_with_email_sharers</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="SCAPITests.test_track_creation_with_email_sharers-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SCAPITests.test_track_creation_with_email_sharers-expanded"><a name="L432"></a><tt class="py-lineno">432</tt> <tt class="py-line"> <tt class="py-name">sca</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-198" class="py-name"><a title="scapi.tests.scapi_tests.SCAPITests.root" class="py-name" href="#" onclick="return doclink('link-198', 'root', 'link-77');">root</a></tt> </tt>
<a name="L433"></a><tt class="py-lineno">433</tt> <tt class="py-line"> <tt class="py-name">emails</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">dict</tt><tt class="py-op">(</tt><tt class="py-name">address</tt><tt class="py-op">=</tt><tt class="py-string">"deets@web.de"</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">dict</tt><tt class="py-op">(</tt><tt class="py-name">address</tt><tt class="py-op">=</tt><tt class="py-string">"hannes@soundcloud.com"</tt><tt class="py-op">)</tt><tt class="py-op">]</tt> </tt>
<a name="L434"></a><tt class="py-lineno">434</tt> <tt class="py-line"> <tt class="py-name">track</tt> <tt class="py-op">=</tt> <tt class="py-name">sca</tt><tt class="py-op">.</tt><tt id="link-199" class="py-name"><a title="scapi.Track" class="py-name" href="#" onclick="return doclink('link-199', 'Track', 'link-85');">Track</a></tt><tt class="py-op">.</tt><tt id="link-200" class="py-name"><a title="scapi.RESTBase.new" class="py-name" href="#" onclick="return doclink('link-200', 'new', 'link-115');">new</a></tt><tt class="py-op">(</tt><tt class="py-name">title</tt><tt class="py-op">=</tt><tt class="py-string">'bar'</tt><tt class="py-op">,</tt> <tt class="py-name">asset_data</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">data</tt><tt class="py-op">,</tt> </tt>
<a name="L435"></a><tt class="py-lineno">435</tt> <tt class="py-line"> <tt class="py-name">shared_to</tt><tt class="py-op">=</tt><tt class="py-name">dict</tt><tt class="py-op">(</tt><tt class="py-name">emails</tt><tt class="py-op">=</tt><tt class="py-name">emails</tt><tt class="py-op">)</tt> </tt>
<a name="L436"></a><tt class="py-lineno">436</tt> <tt class="py-line"> <tt class="py-op">)</tt> </tt>
<a name="L437"></a><tt class="py-lineno">437</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">track</tt><tt class="py-op">,</tt> <tt id="link-201" class="py-name"><a title="scapi" class="py-name" href="#" onclick="return doclink('link-201', 'scapi', 'link-0');">scapi</a></tt><tt class="py-op">.</tt><tt id="link-202" class="py-name"><a title="scapi.Track" class="py-name" href="#" onclick="return doclink('link-202', 'Track', 'link-85');">Track</a></tt><tt class="py-op">)</tt> </tt>
</div><a name="L438"></a><tt class="py-lineno">438</tt> <tt class="py-line"> </tt>
<a name="L439"></a><tt class="py-lineno">439</tt> <tt class="py-line"> </tt>
<a name="L440"></a><tt class="py-lineno">440</tt> <tt class="py-line"> </tt>
<a name="SCAPITests.test_track_creation_with_artwork"></a><div id="SCAPITests.test_track_creation_with_artwork-def"><a name="L441"></a><tt class="py-lineno">441</tt> <a class="py-toggle" href="#" id="SCAPITests.test_track_creation_with_artwork-toggle" onclick="return toggle('SCAPITests.test_track_creation_with_artwork');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="scapi.tests.scapi_tests.SCAPITests-class.html#test_track_creation_with_artwork">test_track_creation_with_artwork</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="SCAPITests.test_track_creation_with_artwork-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SCAPITests.test_track_creation_with_artwork-expanded"><a name="L442"></a><tt class="py-lineno">442</tt> <tt class="py-line"> <tt class="py-name">sca</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-203" class="py-name"><a title="scapi.tests.scapi_tests.SCAPITests.root" class="py-name" href="#" onclick="return doclink('link-203', 'root', 'link-77');">root</a></tt> </tt>
<a name="L443"></a><tt class="py-lineno">443</tt> <tt class="py-line"> <tt class="py-name">track</tt> <tt class="py-op">=</tt> <tt class="py-name">sca</tt><tt class="py-op">.</tt><tt id="link-204" class="py-name"><a title="scapi.Track" class="py-name" href="#" onclick="return doclink('link-204', 'Track', 'link-85');">Track</a></tt><tt class="py-op">.</tt><tt id="link-205" class="py-name"><a title="scapi.RESTBase.new" class="py-name" href="#" onclick="return doclink('link-205', 'new', 'link-115');">new</a></tt><tt class="py-op">(</tt><tt class="py-name">title</tt><tt class="py-op">=</tt><tt class="py-string">'bar'</tt><tt class="py-op">,</tt> </tt>
<a name="L444"></a><tt class="py-lineno">444</tt> <tt class="py-line"> <tt class="py-name">asset_data</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">data</tt><tt class="py-op">,</tt> </tt>
<a name="L445"></a><tt class="py-lineno">445</tt> <tt class="py-line"> <tt class="py-name">artwork_data</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">artwork_data</tt><tt class="py-op">,</tt> </tt>
<a name="L446"></a><tt class="py-lineno">446</tt> <tt class="py-line"> <tt class="py-op">)</tt> </tt>
<a name="L447"></a><tt class="py-lineno">447</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">track</tt><tt class="py-op">,</tt> <tt id="link-206" class="py-name"><a title="scapi" class="py-name" href="#" onclick="return doclink('link-206', 'scapi', 'link-0');">scapi</a></tt><tt class="py-op">.</tt><tt id="link-207" class="py-name"><a title="scapi.Track" class="py-name" href="#" onclick="return doclink('link-207', 'Track', 'link-85');">Track</a></tt><tt class="py-op">)</tt> </tt>
<a name="L448"></a><tt class="py-lineno">448</tt> <tt class="py-line"> </tt>
<a name="L449"></a><tt class="py-lineno">449</tt> <tt class="py-line"> <tt class="py-name">track</tt><tt class="py-op">.</tt><tt class="py-name">title</tt> <tt class="py-op">=</tt> <tt class="py-string">"foobarbaz"</tt> </tt>
</div><a name="L450"></a><tt class="py-lineno">450</tt> <tt class="py-line"> </tt>
<a name="L451"></a><tt class="py-lineno">451</tt> <tt class="py-line"> </tt>
<a name="L452"></a><tt class="py-lineno">452</tt> <tt class="py-line"> </tt>
<a name="SCAPITests.test_oauth_get_signing"></a><div id="SCAPITests.test_oauth_get_signing-def"><a name="L453"></a><tt class="py-lineno">453</tt> <a class="py-toggle" href="#" id="SCAPITests.test_oauth_get_signing-toggle" onclick="return toggle('SCAPITests.test_oauth_get_signing');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="scapi.tests.scapi_tests.SCAPITests-class.html#test_oauth_get_signing">test_oauth_get_signing</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="SCAPITests.test_oauth_get_signing-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SCAPITests.test_oauth_get_signing-expanded"><a name="L454"></a><tt class="py-lineno">454</tt> <tt class="py-line"> <tt class="py-name">sca</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-208" class="py-name"><a title="scapi.tests.scapi_tests.SCAPITests.root" class="py-name" href="#" onclick="return doclink('link-208', 'root', 'link-77');">root</a></tt> </tt>
<a name="L455"></a><tt class="py-lineno">455</tt> <tt class="py-line"> </tt>
<a name="L456"></a><tt class="py-lineno">456</tt> <tt class="py-line"> <tt class="py-name">url</tt> <tt class="py-op">=</tt> <tt class="py-string">"http://api.soundcloud.dev/oauth/test_request"</tt> </tt>
<a name="L457"></a><tt class="py-lineno">457</tt> <tt class="py-line"> <tt class="py-name">params</tt> <tt class="py-op">=</tt> <tt class="py-name">dict</tt><tt class="py-op">(</tt><tt class="py-name">foo</tt><tt class="py-op">=</tt><tt class="py-string">"bar"</tt><tt class="py-op">,</tt> </tt>
<a name="L458"></a><tt class="py-lineno">458</tt> <tt class="py-line"> <tt class="py-name">baz</tt><tt class="py-op">=</tt><tt class="py-string">"padamm"</tt><tt class="py-op">,</tt> </tt>
<a name="L459"></a><tt class="py-lineno">459</tt> <tt class="py-line"> <tt class="py-op">)</tt> </tt>
<a name="L460"></a><tt class="py-lineno">460</tt> <tt class="py-line"> <tt class="py-name">url</tt> <tt class="py-op">+=</tt> <tt class="py-name">sca</tt><tt class="py-op">.</tt><tt id="link-209" class="py-name" targets="Method scapi.Scope._create_query_string()=scapi.Scope-class.html#_create_query_string"><a title="scapi.Scope._create_query_string" class="py-name" href="#" onclick="return doclink('link-209', '_create_query_string', 'link-209');">_create_query_string</a></tt><tt class="py-op">(</tt><tt class="py-name">params</tt><tt class="py-op">)</tt> </tt>
<a name="L461"></a><tt class="py-lineno">461</tt> <tt class="py-line"> <tt class="py-name">signed_url</tt> <tt class="py-op">=</tt> <tt class="py-name">sca</tt><tt class="py-op">.</tt><tt id="link-210" class="py-name" targets="Method scapi.Scope.oauth_sign_get_request()=scapi.Scope-class.html#oauth_sign_get_request"><a title="scapi.Scope.oauth_sign_get_request" class="py-name" href="#" onclick="return doclink('link-210', 'oauth_sign_get_request', 'link-210');">oauth_sign_get_request</a></tt><tt class="py-op">(</tt><tt class="py-name">url</tt><tt class="py-op">)</tt> </tt>
<a name="L462"></a><tt class="py-lineno">462</tt> <tt class="py-line"> </tt>
<a name="L463"></a><tt class="py-lineno">463</tt> <tt class="py-line"> </tt>
<a name="L464"></a><tt class="py-lineno">464</tt> <tt class="py-line"> <tt class="py-name">res</tt> <tt class="py-op">=</tt> <tt class="py-name">urllib2</tt><tt class="py-op">.</tt><tt class="py-name">urlopen</tt><tt class="py-op">(</tt><tt class="py-name">signed_url</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-211" class="py-name" targets="Method scapi.json.JsonReader.read()=scapi.json.JsonReader-class.html#read,Function scapi.json.read()=scapi.json-module.html#read"><a title="scapi.json.JsonReader.read
scapi.json.read" class="py-name" href="#" onclick="return doclink('link-211', 'read', 'link-211');">read</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L465"></a><tt class="py-lineno">465</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-string">"oauth_nonce"</tt> <tt class="py-keyword">in</tt> <tt class="py-name">res</tt> </tt>
</div><a name="L466"></a><tt class="py-lineno">466</tt> <tt class="py-line"> </tt>
<a name="L467"></a><tt class="py-lineno">467</tt> <tt class="py-line"> </tt>
<a name="SCAPITests.test_streaming"></a><div id="SCAPITests.test_streaming-def"><a name="L468"></a><tt class="py-lineno">468</tt> <a class="py-toggle" href="#" id="SCAPITests.test_streaming-toggle" onclick="return toggle('SCAPITests.test_streaming');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="scapi.tests.scapi_tests.SCAPITests-class.html#test_streaming">test_streaming</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="SCAPITests.test_streaming-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SCAPITests.test_streaming-expanded"><a name="L469"></a><tt class="py-lineno">469</tt> <tt class="py-line"> <tt class="py-name">sca</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-212" class="py-name"><a title="scapi.tests.scapi_tests.SCAPITests.root" class="py-name" href="#" onclick="return doclink('link-212', 'root', 'link-77');">root</a></tt> </tt>
<a name="L470"></a><tt class="py-lineno">470</tt> <tt class="py-line"> </tt>
<a name="L471"></a><tt class="py-lineno">471</tt> <tt class="py-line"> <tt class="py-name">track</tt> <tt class="py-op">=</tt> <tt class="py-name">sca</tt><tt class="py-op">.</tt><tt class="py-name">tracks</tt><tt class="py-op">(</tt><tt class="py-name">params</tt><tt class="py-op">=</tt><tt class="py-op">{</tt> </tt>
<a name="L472"></a><tt class="py-lineno">472</tt> <tt class="py-line"> <tt class="py-string">"filter"</tt> <tt class="py-op">:</tt> <tt class="py-string">"streamable"</tt><tt class="py-op">,</tt> </tt>
<a name="L473"></a><tt class="py-lineno">473</tt> <tt class="py-line"> <tt class="py-op">}</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-213" class="py-name"><a title="scapi.json._StringGenerator.next" class="py-name" href="#" onclick="return doclink('link-213', 'next', 'link-150');">next</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L474"></a><tt class="py-lineno">474</tt> <tt class="py-line"> </tt>
<a name="L475"></a><tt class="py-lineno">475</tt> <tt class="py-line"> </tt>
<a name="L476"></a><tt class="py-lineno">476</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">track</tt><tt class="py-op">,</tt> <tt id="link-214" class="py-name"><a title="scapi" class="py-name" href="#" onclick="return doclink('link-214', 'scapi', 'link-0');">scapi</a></tt><tt class="py-op">.</tt><tt id="link-215" class="py-name"><a title="scapi.Track" class="py-name" href="#" onclick="return doclink('link-215', 'Track', 'link-85');">Track</a></tt><tt class="py-op">)</tt> </tt>
<a name="L477"></a><tt class="py-lineno">477</tt> <tt class="py-line"> </tt>
<a name="L478"></a><tt class="py-lineno">478</tt> <tt class="py-line"> <tt class="py-name">stream_url</tt> <tt class="py-op">=</tt> <tt class="py-name">track</tt><tt class="py-op">.</tt><tt class="py-name">stream_url</tt> </tt>
<a name="L479"></a><tt class="py-lineno">479</tt> <tt class="py-line"> </tt>
<a name="L480"></a><tt class="py-lineno">480</tt> <tt class="py-line"> <tt class="py-name">signed_url</tt> <tt class="py-op">=</tt> <tt class="py-name">track</tt><tt class="py-op">.</tt><tt id="link-216" class="py-name"><a title="scapi.Scope.oauth_sign_get_request" class="py-name" href="#" onclick="return doclink('link-216', 'oauth_sign_get_request', 'link-210');">oauth_sign_get_request</a></tt><tt class="py-op">(</tt><tt class="py-name">stream_url</tt><tt class="py-op">)</tt> </tt>
</div><a name="L481"></a><tt class="py-lineno">481</tt> <tt class="py-line"> </tt>
<a name="L482"></a><tt class="py-lineno">482</tt> <tt class="py-line"> </tt>
<a name="SCAPITests.test_downloadable"></a><div id="SCAPITests.test_downloadable-def"><a name="L483"></a><tt class="py-lineno">483</tt> <a class="py-toggle" href="#" id="SCAPITests.test_downloadable-toggle" onclick="return toggle('SCAPITests.test_downloadable');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="scapi.tests.scapi_tests.SCAPITests-class.html#test_downloadable">test_downloadable</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="SCAPITests.test_downloadable-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SCAPITests.test_downloadable-expanded"><a name="L484"></a><tt class="py-lineno">484</tt> <tt class="py-line"> <tt class="py-name">sca</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-217" class="py-name"><a title="scapi.tests.scapi_tests.SCAPITests.root" class="py-name" href="#" onclick="return doclink('link-217', 'root', 'link-77');">root</a></tt> </tt>
<a name="L485"></a><tt class="py-lineno">485</tt> <tt class="py-line"> </tt>
<a name="L486"></a><tt class="py-lineno">486</tt> <tt class="py-line"> <tt class="py-name">track</tt> <tt class="py-op">=</tt> <tt class="py-name">sca</tt><tt class="py-op">.</tt><tt class="py-name">tracks</tt><tt class="py-op">(</tt><tt class="py-name">params</tt><tt class="py-op">=</tt><tt class="py-op">{</tt> </tt>
<a name="L487"></a><tt class="py-lineno">487</tt> <tt class="py-line"> <tt class="py-string">"filter"</tt> <tt class="py-op">:</tt> <tt class="py-string">"downloadable"</tt><tt class="py-op">,</tt> </tt>
<a name="L488"></a><tt class="py-lineno">488</tt> <tt class="py-line"> <tt class="py-op">}</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-218" class="py-name"><a title="scapi.json._StringGenerator.next" class="py-name" href="#" onclick="return doclink('link-218', 'next', 'link-150');">next</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L489"></a><tt class="py-lineno">489</tt> <tt class="py-line"> </tt>
<a name="L490"></a><tt class="py-lineno">490</tt> <tt class="py-line"> </tt>
<a name="L491"></a><tt class="py-lineno">491</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">track</tt><tt class="py-op">,</tt> <tt id="link-219" class="py-name"><a title="scapi" class="py-name" href="#" onclick="return doclink('link-219', 'scapi', 'link-0');">scapi</a></tt><tt class="py-op">.</tt><tt id="link-220" class="py-name"><a title="scapi.Track" class="py-name" href="#" onclick="return doclink('link-220', 'Track', 'link-85');">Track</a></tt><tt class="py-op">)</tt> </tt>
<a name="L492"></a><tt class="py-lineno">492</tt> <tt class="py-line"> </tt>
<a name="L493"></a><tt class="py-lineno">493</tt> <tt class="py-line"> <tt class="py-name">download_url</tt> <tt class="py-op">=</tt> <tt class="py-name">track</tt><tt class="py-op">.</tt><tt class="py-name">download_url</tt> </tt>
<a name="L494"></a><tt class="py-lineno">494</tt> <tt class="py-line"> </tt>
<a name="L495"></a><tt class="py-lineno">495</tt> <tt class="py-line"> <tt class="py-name">signed_url</tt> <tt class="py-op">=</tt> <tt class="py-name">track</tt><tt class="py-op">.</tt><tt id="link-221" class="py-name"><a title="scapi.Scope.oauth_sign_get_request" class="py-name" href="#" onclick="return doclink('link-221', 'oauth_sign_get_request', 'link-210');">oauth_sign_get_request</a></tt><tt class="py-op">(</tt><tt class="py-name">download_url</tt><tt class="py-op">)</tt> </tt>
<a name="L496"></a><tt class="py-lineno">496</tt> <tt class="py-line"> </tt>
<a name="L497"></a><tt class="py-lineno">497</tt> <tt class="py-line"> <tt class="py-name">data</tt> <tt class="py-op">=</tt> <tt class="py-name">urllib2</tt><tt class="py-op">.</tt><tt class="py-name">urlopen</tt><tt class="py-op">(</tt><tt class="py-name">signed_url</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-222" class="py-name"><a title="scapi.json.JsonReader.read
scapi.json.read" class="py-name" href="#" onclick="return doclink('link-222', 'read', 'link-211');">read</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L498"></a><tt class="py-lineno">498</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-name">data</tt> </tt>
</div><a name="L499"></a><tt class="py-lineno">499</tt> <tt class="py-line"> </tt>
<a name="L500"></a><tt class="py-lineno">500</tt> <tt class="py-line"> </tt>
<a name="L501"></a><tt class="py-lineno">501</tt> <tt class="py-line"> </tt>
<a name="SCAPITests.test_modifying_playlists"></a><div id="SCAPITests.test_modifying_playlists-def"><a name="L502"></a><tt class="py-lineno">502</tt> <a class="py-toggle" href="#" id="SCAPITests.test_modifying_playlists-toggle" onclick="return toggle('SCAPITests.test_modifying_playlists');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="scapi.tests.scapi_tests.SCAPITests-class.html#test_modifying_playlists">test_modifying_playlists</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="SCAPITests.test_modifying_playlists-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SCAPITests.test_modifying_playlists-expanded"><a name="L503"></a><tt class="py-lineno">503</tt> <tt class="py-line"> <tt class="py-name">sca</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-223" class="py-name"><a title="scapi.tests.scapi_tests.SCAPITests.root" class="py-name" href="#" onclick="return doclink('link-223', 'root', 'link-77');">root</a></tt> </tt>
<a name="L504"></a><tt class="py-lineno">504</tt> <tt class="py-line"> </tt>
<a name="L505"></a><tt class="py-lineno">505</tt> <tt class="py-line"> <tt class="py-name">me</tt> <tt class="py-op">=</tt> <tt class="py-name">sca</tt><tt class="py-op">.</tt><tt class="py-name">me</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L506"></a><tt class="py-lineno">506</tt> <tt class="py-line"> <tt class="py-name">my_tracks</tt> <tt class="py-op">=</tt> <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">me</tt><tt class="py-op">.</tt><tt class="py-name">tracks</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
<a name="L507"></a><tt class="py-lineno">507</tt> <tt class="py-line"> </tt>
<a name="L508"></a><tt class="py-lineno">508</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-name">my_tracks</tt> </tt>
<a name="L509"></a><tt class="py-lineno">509</tt> <tt class="py-line"> </tt>
<a name="L510"></a><tt class="py-lineno">510</tt> <tt class="py-line"> <tt class="py-name">playlist</tt> <tt class="py-op">=</tt> <tt class="py-name">me</tt><tt class="py-op">.</tt><tt class="py-name">playlists</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-224" class="py-name"><a title="scapi.json._StringGenerator.next" class="py-name" href="#" onclick="return doclink('link-224', 'next', 'link-150');">next</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L511"></a><tt class="py-lineno">511</tt> <tt class="py-line"> <tt class="py-name">playlist</tt> <tt class="py-op">=</tt> <tt class="py-name">sca</tt><tt class="py-op">.</tt><tt id="link-225" class="py-name"><a title="scapi.Playlist" class="py-name" href="#" onclick="return doclink('link-225', 'Playlist', 'link-195');">Playlist</a></tt><tt class="py-op">.</tt><tt id="link-226" class="py-name"><a title="scapi.RESTBase.get" class="py-name" href="#" onclick="return doclink('link-226', 'get', 'link-20');">get</a></tt><tt class="py-op">(</tt><tt class="py-name">playlist</tt><tt class="py-op">.</tt><tt class="py-name">id</tt><tt class="py-op">)</tt> </tt>
<a name="L512"></a><tt class="py-lineno">512</tt> <tt class="py-line"> </tt>
<a name="L513"></a><tt class="py-lineno">513</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">playlist</tt><tt class="py-op">,</tt> <tt id="link-227" class="py-name"><a title="scapi" class="py-name" href="#" onclick="return doclink('link-227', 'scapi', 'link-0');">scapi</a></tt><tt class="py-op">.</tt><tt id="link-228" class="py-name"><a title="scapi.Playlist" class="py-name" href="#" onclick="return doclink('link-228', 'Playlist', 'link-195');">Playlist</a></tt><tt class="py-op">)</tt> </tt>
<a name="L514"></a><tt class="py-lineno">514</tt> <tt class="py-line"> </tt>
<a name="L515"></a><tt class="py-lineno">515</tt> <tt class="py-line"> <tt class="py-name">pl_tracks</tt> <tt class="py-op">=</tt> <tt class="py-name">playlist</tt><tt class="py-op">.</tt><tt class="py-name">tracks</tt> </tt>
<a name="L516"></a><tt class="py-lineno">516</tt> <tt class="py-line"> </tt>
<a name="L517"></a><tt class="py-lineno">517</tt> <tt class="py-line"> <tt class="py-name">playlist</tt><tt class="py-op">.</tt><tt class="py-name">title</tt> <tt class="py-op">=</tt> <tt class="py-string">"foobarbaz"</tt> </tt>
</div><a name="L518"></a><tt class="py-lineno">518</tt> <tt class="py-line"> </tt>
<a name="L519"></a><tt class="py-lineno">519</tt> <tt class="py-line"> </tt>
<a name="L520"></a><tt class="py-lineno">520</tt> <tt class="py-line"> </tt>
<a name="SCAPITests.test_track_deletion"></a><div id="SCAPITests.test_track_deletion-def"><a name="L521"></a><tt class="py-lineno">521</tt> <a class="py-toggle" href="#" id="SCAPITests.test_track_deletion-toggle" onclick="return toggle('SCAPITests.test_track_deletion');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="scapi.tests.scapi_tests.SCAPITests-class.html#test_track_deletion">test_track_deletion</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="SCAPITests.test_track_deletion-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SCAPITests.test_track_deletion-expanded"><a name="L522"></a><tt class="py-lineno">522</tt> <tt class="py-line"> <tt class="py-name">sca</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-229" class="py-name"><a title="scapi.tests.scapi_tests.SCAPITests.root" class="py-name" href="#" onclick="return doclink('link-229', 'root', 'link-77');">root</a></tt> </tt>
<a name="L523"></a><tt class="py-lineno">523</tt> <tt class="py-line"> <tt class="py-name">track</tt> <tt class="py-op">=</tt> <tt class="py-name">sca</tt><tt class="py-op">.</tt><tt id="link-230" class="py-name"><a title="scapi.Track" class="py-name" href="#" onclick="return doclink('link-230', 'Track', 'link-85');">Track</a></tt><tt class="py-op">.</tt><tt id="link-231" class="py-name"><a title="scapi.RESTBase.new" class="py-name" href="#" onclick="return doclink('link-231', 'new', 'link-115');">new</a></tt><tt class="py-op">(</tt><tt class="py-name">title</tt><tt class="py-op">=</tt><tt class="py-string">'bar'</tt><tt class="py-op">,</tt> <tt class="py-name">asset_data</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">data</tt><tt class="py-op">,</tt> </tt>
<a name="L524"></a><tt class="py-lineno">524</tt> <tt class="py-line"> <tt class="py-op">)</tt> </tt>
<a name="L525"></a><tt class="py-lineno">525</tt> <tt class="py-line"> </tt>
<a name="L526"></a><tt class="py-lineno">526</tt> <tt class="py-line"> <tt class="py-name">sca</tt><tt class="py-op">.</tt><tt class="py-name">tracks</tt><tt class="py-op">.</tt><tt class="py-name">remove</tt><tt class="py-op">(</tt><tt class="py-name">track</tt><tt class="py-op">)</tt> </tt>
</div><a name="L527"></a><tt class="py-lineno">527</tt> <tt class="py-line"> </tt>
<a name="L528"></a><tt class="py-lineno">528</tt> <tt class="py-line"> </tt>
<a name="L529"></a><tt class="py-lineno">529</tt> <tt class="py-line"> </tt>
<a name="SCAPITests.test_track_creation_with_updated_artwork"></a><div id="SCAPITests.test_track_creation_with_updated_artwork-def"><a name="L530"></a><tt class="py-lineno">530</tt> <a class="py-toggle" href="#" id="SCAPITests.test_track_creation_with_updated_artwork-toggle" onclick="return toggle('SCAPITests.test_track_creation_with_updated_artwork');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="scapi.tests.scapi_tests.SCAPITests-class.html#test_track_creation_with_updated_artwork">test_track_creation_with_updated_artwork</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="SCAPITests.test_track_creation_with_updated_artwork-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="SCAPITests.test_track_creation_with_updated_artwork-expanded"><a name="L531"></a><tt class="py-lineno">531</tt> <tt class="py-line"> <tt class="py-name">sca</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-232" class="py-name"><a title="scapi.tests.scapi_tests.SCAPITests.root" class="py-name" href="#" onclick="return doclink('link-232', 'root', 'link-77');">root</a></tt> </tt>
<a name="L532"></a><tt class="py-lineno">532</tt> <tt class="py-line"> <tt class="py-name">track</tt> <tt class="py-op">=</tt> <tt class="py-name">sca</tt><tt class="py-op">.</tt><tt id="link-233" class="py-name"><a title="scapi.Track" class="py-name" href="#" onclick="return doclink('link-233', 'Track', 'link-85');">Track</a></tt><tt class="py-op">.</tt><tt id="link-234" class="py-name"><a title="scapi.RESTBase.new" class="py-name" href="#" onclick="return doclink('link-234', 'new', 'link-115');">new</a></tt><tt class="py-op">(</tt><tt class="py-name">title</tt><tt class="py-op">=</tt><tt class="py-string">'bar'</tt><tt class="py-op">,</tt> </tt>
<a name="L533"></a><tt class="py-lineno">533</tt> <tt class="py-line"> <tt class="py-name">asset_data</tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">data</tt><tt class="py-op">,</tt> </tt>
<a name="L534"></a><tt class="py-lineno">534</tt> <tt class="py-line"> <tt class="py-op">)</tt> </tt>
<a name="L535"></a><tt class="py-lineno">535</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">track</tt><tt class="py-op">,</tt> <tt id="link-235" class="py-name"><a title="scapi" class="py-name" href="#" onclick="return doclink('link-235', 'scapi', 'link-0');">scapi</a></tt><tt class="py-op">.</tt><tt id="link-236" class="py-name"><a title="scapi.Track" class="py-name" href="#" onclick="return doclink('link-236', 'Track', 'link-85');">Track</a></tt><tt class="py-op">)</tt> </tt>
<a name="L536"></a><tt class="py-lineno">536</tt> <tt class="py-line"> </tt>
<a name="L537"></a><tt class="py-lineno">537</tt> <tt class="py-line"> <tt class="py-name">track</tt><tt class="py-op">.</tt><tt class="py-name">artwork_data</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">artwork_data</tt> </tt>
</div></div><a name="L538"></a><tt class="py-lineno">538</tt> <tt class="py-line"> </tt><script type="text/javascript">
<!--
expandto(location.href);
// -->
</script>
</pre>
<br />
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
bgcolor="#a0c0ff" cellspacing="0">
<tr valign="middle">
<!-- Home link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="scapi-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Tree link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Index link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Help link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Project homepage -->
<th class="navbar" align="right" width="100%">
<table border="0" cellpadding="0" cellspacing="0">
<tr><th class="navbar" align="center"
>SoundCloud API</th>
</tr></table></th>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
Generated by Epydoc 3.0.1 on Thu Sep 10 00:58:50 2009
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
>http://epydoc.sourceforge.net</a>
</td>
</tr>
</table>
<script type="text/javascript">
<!--
// Private objects are initially displayed (because if
// javascript is turned off then we want them to be
// visible); but by default, we want to hide them. So hide
// them unless we have a cookie that says to show them.
checkCookie();
// -->
</script>
</body>
</html>

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,586 @@
<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>scapi.tests.test_connect</title>
<link rel="stylesheet" href="epydoc.css" type="text/css" />
<script type="text/javascript" src="epydoc.js"></script>
</head>
<body bgcolor="white" text="black" link="blue" vlink="#204080"
alink="#204080">
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
bgcolor="#a0c0ff" cellspacing="0">
<tr valign="middle">
<!-- Home link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="scapi-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Tree link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Index link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Help link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Project homepage -->
<th class="navbar" align="right" width="100%">
<table border="0" cellpadding="0" cellspacing="0">
<tr><th class="navbar" align="center"
>SoundCloud API</th>
</tr></table></th>
</tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0">
<tr valign="top">
<td width="100%">
<span class="breadcrumbs">
<a href="scapi-module.html">Package&nbsp;scapi</a> ::
<a href="scapi.tests-module.html">Package&nbsp;tests</a> ::
Module&nbsp;test_connect
</span>
</td>
<td>
<table cellpadding="0" cellspacing="0">
<!-- hide/show private -->
<tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
<tr><td align="right"><span class="options"
>[<a href="frames.html" target="_top">frames</a
>]&nbsp;|&nbsp;<a href="scapi.tests.test_connect-module.html"
target="_top">no&nbsp;frames</a>]</span></td></tr>
</table>
</td>
</tr>
</table>
<!-- ==================== MODULE DESCRIPTION ==================== -->
<h1 class="epydoc">Module test_connect</h1><p class="nomargin-top"><span class="codelink"><a href="scapi.tests.test_connect-pysrc.html">source&nbsp;code</a></span></p>
<!-- ==================== FUNCTIONS ==================== -->
<a name="section-Functions"></a>
<table class="summary" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Functions</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-Functions"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="setup"></a><span class="summary-sig-name">setup</span>()</span></td>
<td align="right" valign="top">
<span class="codelink"><a href="scapi.tests.test_connect-pysrc.html#setup">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="load_config"></a><span class="summary-sig-name">load_config</span>(<span class="summary-sig-arg">config_name</span>=<span class="summary-sig-default">None</span>)</span></td>
<td align="right" valign="top">
<span class="codelink"><a href="scapi.tests.test_connect-pysrc.html#load_config">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="test_load_config"></a><span class="summary-sig-name">test_load_config</span>()</span></td>
<td align="right" valign="top">
<span class="codelink"><a href="scapi.tests.test_connect-pysrc.html#test_load_config">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="test_connect"></a><span class="summary-sig-name">test_connect</span>()</span></td>
<td align="right" valign="top">
<span class="codelink"><a href="scapi.tests.test_connect-pysrc.html#test_connect">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="test_access_token_acquisition"></a><span class="summary-sig-name">test_access_token_acquisition</span>()</span><br />
This test is commented out because it needs user-interaction.</td>
<td align="right" valign="top">
<span class="codelink"><a href="scapi.tests.test_connect-pysrc.html#test_access_token_acquisition">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="test_track_creation"></a><span class="summary-sig-name">test_track_creation</span>()</span></td>
<td align="right" valign="top">
<span class="codelink"><a href="scapi.tests.test_connect-pysrc.html#test_track_creation">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="test_track_update"></a><span class="summary-sig-name">test_track_update</span>()</span></td>
<td align="right" valign="top">
<span class="codelink"><a href="scapi.tests.test_connect-pysrc.html#test_track_update">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="test_scoped_track_creation"></a><span class="summary-sig-name">test_scoped_track_creation</span>()</span></td>
<td align="right" valign="top">
<span class="codelink"><a href="scapi.tests.test_connect-pysrc.html#test_scoped_track_creation">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="test_upload"></a><span class="summary-sig-name">test_upload</span>()</span></td>
<td align="right" valign="top">
<span class="codelink"><a href="scapi.tests.test_connect-pysrc.html#test_upload">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="test_contact_list"></a><span class="summary-sig-name">test_contact_list</span>()</span></td>
<td align="right" valign="top">
<span class="codelink"><a href="scapi.tests.test_connect-pysrc.html#test_contact_list">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="test_permissions"></a><span class="summary-sig-name">test_permissions</span>()</span></td>
<td align="right" valign="top">
<span class="codelink"><a href="scapi.tests.test_connect-pysrc.html#test_permissions">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="test_setting_permissions"></a><span class="summary-sig-name">test_setting_permissions</span>()</span></td>
<td align="right" valign="top">
<span class="codelink"><a href="scapi.tests.test_connect-pysrc.html#test_setting_permissions">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="test_setting_comments"></a><span class="summary-sig-name">test_setting_comments</span>()</span></td>
<td align="right" valign="top">
<span class="codelink"><a href="scapi.tests.test_connect-pysrc.html#test_setting_comments">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="test_setting_comments_the_way_shawn_says_its_correct"></a><span class="summary-sig-name">test_setting_comments_the_way_shawn_says_its_correct</span>()</span></td>
<td align="right" valign="top">
<span class="codelink"><a href="scapi.tests.test_connect-pysrc.html#test_setting_comments_the_way_shawn_says_its_correct">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="test_contact_add_and_removal"></a><span class="summary-sig-name">test_contact_add_and_removal</span>()</span></td>
<td align="right" valign="top">
<span class="codelink"><a href="scapi.tests.test_connect-pysrc.html#test_contact_add_and_removal">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="test_favorites"></a><span class="summary-sig-name">test_favorites</span>()</span></td>
<td align="right" valign="top">
<span class="codelink"><a href="scapi.tests.test_connect-pysrc.html#test_favorites">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="test_large_list"></a><span class="summary-sig-name">test_large_list</span>()</span></td>
<td align="right" valign="top">
<span class="codelink"><a href="scapi.tests.test_connect-pysrc.html#test_large_list">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="test_events"></a><span class="summary-sig-name">test_events</span>()</span></td>
<td align="right" valign="top">
<span class="codelink"><a href="scapi.tests.test_connect-pysrc.html#test_events">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="test_me_having_stress"></a><span class="summary-sig-name">test_me_having_stress</span>()</span></td>
<td align="right" valign="top">
<span class="codelink"><a href="scapi.tests.test_connect-pysrc.html#test_me_having_stress">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="test_non_global_api"></a><span class="summary-sig-name">test_non_global_api</span>()</span></td>
<td align="right" valign="top">
<span class="codelink"><a href="scapi.tests.test_connect-pysrc.html#test_non_global_api">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="test_playlists"></a><span class="summary-sig-name">test_playlists</span>()</span></td>
<td align="right" valign="top">
<span class="codelink"><a href="scapi.tests.test_connect-pysrc.html#test_playlists">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
</table>
<!-- ==================== VARIABLES ==================== -->
<a name="section-Variables"></a>
<table class="summary" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Variables</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-Variables"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a name="logger"></a><span class="summary-name">logger</span> = <code title="logging.getLogger(__name__)">logging.getLogger(__name__)</code>
</td>
</tr>
<tr class="private">
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a name="_logger"></a><span class="summary-name">_logger</span> = <code title="logging.getLogger(&quot;scapi&quot;)">logging.getLogger(&quot;scapi&quot;)</code>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a name="RUN_INTERACTIVE_TESTS"></a><span class="summary-name">RUN_INTERACTIVE_TESTS</span> = <code title="False">False</code>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a name="USE_OAUTH"></a><span class="summary-name">USE_OAUTH</span> = <code title="True">True</code>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a name="TOKEN"></a><span class="summary-name">TOKEN</span> = <code title="'FjNE9aRTg8kpxuOjzwsX8Q'"><code class="variable-quote">'</code><code class="variable-string">FjNE9aRTg8kpxuOjzwsX8Q</code><code class="variable-quote">'</code></code>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a name="SECRET"></a><span class="summary-name">SECRET</span> = <code title="'NP5PGoyKcQv64E0aZgV4CRNzHfPwR4QghrWoqEgEE'"><code class="variable-quote">'</code><code class="variable-string">NP5PGoyKcQv64E0aZgV4CRNzHfPwR4QghrWoqEgEE</code><code class="variable-quote">'</code></code>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a name="CONSUMER"></a><span class="summary-name">CONSUMER</span> = <code title="'EEi2URUfM97pAAxHTogDpQ'"><code class="variable-quote">'</code><code class="variable-string">EEi2URUfM97pAAxHTogDpQ</code><code class="variable-quote">'</code></code>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a name="CONSUMER_SECRET"></a><span class="summary-name">CONSUMER_SECRET</span> = <code title="'NFYd8T3i4jVKGZ9TMy9LHaBQB3Sh8V5sxBiMeMZBow'"><code class="variable-quote">'</code><code class="variable-string">NFYd8T3i4jVKGZ9TMy9LHaBQB3Sh8V5sxBiMeMZBow</code><code class="variable-quote">'</code></code>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a name="API_HOST"></a><span class="summary-name">API_HOST</span> = <code title="'api.soundcloud.dev:3000'"><code class="variable-quote">'</code><code class="variable-string">api.soundcloud.dev:3000</code><code class="variable-quote">'</code></code>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a name="USER"></a><span class="summary-name">USER</span> = <code title="''"><code class="variable-quote">'</code><code class="variable-string"></code><code class="variable-quote">'</code></code>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a name="PASSWORD"></a><span class="summary-name">PASSWORD</span> = <code title="''"><code class="variable-quote">'</code><code class="variable-string"></code><code class="variable-quote">'</code></code>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a name="CONFIG_NAME"></a><span class="summary-name">CONFIG_NAME</span> = <code title="'soundcloud.cfg'"><code class="variable-quote">'</code><code class="variable-string">soundcloud.cfg</code><code class="variable-quote">'</code></code>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a name="CONNECTOR"></a><span class="summary-name">CONNECTOR</span> = <code title="None">None</code>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a name="ROOT"></a><span class="summary-name">ROOT</span> = <code title="None">None</code>
</td>
</tr>
</table>
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
bgcolor="#a0c0ff" cellspacing="0">
<tr valign="middle">
<!-- Home link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="scapi-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Tree link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Index link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Help link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Project homepage -->
<th class="navbar" align="right" width="100%">
<table border="0" cellpadding="0" cellspacing="0">
<tr><th class="navbar" align="center"
>SoundCloud API</th>
</tr></table></th>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
Generated by Epydoc 3.0.1 on Thu Sep 10 00:58:49 2009
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
>http://epydoc.sourceforge.net</a>
</td>
</tr>
</table>
<script type="text/javascript">
<!--
// Private objects are initially displayed (because if
// javascript is turned off then we want them to be
// visible); but by default, we want to hide them. So hide
// them unless we have a cookie that says to show them.
checkCookie();
// -->
</script>
</body>
</html>

View file

@ -0,0 +1,627 @@
<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>scapi.tests.test_connect</title>
<link rel="stylesheet" href="epydoc.css" type="text/css" />
<script type="text/javascript" src="epydoc.js"></script>
</head>
<body bgcolor="white" text="black" link="blue" vlink="#204080"
alink="#204080">
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
bgcolor="#a0c0ff" cellspacing="0">
<tr valign="middle">
<!-- Home link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="scapi-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Tree link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Index link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Help link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Project homepage -->
<th class="navbar" align="right" width="100%">
<table border="0" cellpadding="0" cellspacing="0">
<tr><th class="navbar" align="center"
>SoundCloud API</th>
</tr></table></th>
</tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0">
<tr valign="top">
<td width="100%">
<span class="breadcrumbs">
<a href="scapi-module.html">Package&nbsp;scapi</a> ::
<a href="scapi.tests-module.html">Package&nbsp;tests</a> ::
Module&nbsp;test_connect
</span>
</td>
<td>
<table cellpadding="0" cellspacing="0">
<!-- hide/show private -->
<tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
<tr><td align="right"><span class="options"
>[<a href="frames.html" target="_top">frames</a
>]&nbsp;|&nbsp;<a href="scapi.tests.test_connect-pysrc.html"
target="_top">no&nbsp;frames</a>]</span></td></tr>
</table>
</td>
</tr>
</table>
<h1 class="epydoc">Source Code for <a href="scapi.tests.test_connect-module.html">Module scapi.tests.test_connect</a></h1>
<pre class="py-src">
<a name="L1"></a><tt class="py-lineno"> 1</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">__future__</tt> <tt class="py-keyword">import</tt> <tt class="py-name">with_statement</tt> </tt>
<a name="L2"></a><tt class="py-lineno"> 2</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">os</tt> </tt>
<a name="L3"></a><tt class="py-lineno"> 3</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">tempfile</tt> </tt>
<a name="L4"></a><tt class="py-lineno"> 4</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">itertools</tt> </tt>
<a name="L5"></a><tt class="py-lineno"> 5</tt> <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">ConfigParser</tt> <tt class="py-keyword">import</tt> <tt class="py-name">SafeConfigParser</tt> </tt>
<a name="L6"></a><tt class="py-lineno"> 6</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">pkg_resources</tt> </tt>
<a name="L7"></a><tt class="py-lineno"> 7</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt id="link-0" class="py-name" targets="Package scapi=scapi-module.html"><a title="scapi" class="py-name" href="#" onclick="return doclink('link-0', 'scapi', 'link-0');">scapi</a></tt> </tt>
<a name="L8"></a><tt class="py-lineno"> 8</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt id="link-1" class="py-name"><a title="scapi" class="py-name" href="#" onclick="return doclink('link-1', 'scapi', 'link-0');">scapi</a></tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Module scapi.authentication=scapi.authentication-module.html"><a title="scapi.authentication" class="py-name" href="#" onclick="return doclink('link-2', 'authentication', 'link-2');">authentication</a></tt> </tt>
<a name="L9"></a><tt class="py-lineno"> 9</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">logging</tt> </tt>
<a name="L10"></a><tt class="py-lineno"> 10</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">webbrowser</tt> </tt>
<a name="L11"></a><tt class="py-lineno"> 11</tt> <tt class="py-line"> </tt>
<a name="L12"></a><tt class="py-lineno"> 12</tt> <tt class="py-line"><tt id="link-3" class="py-name" targets="Variable scapi.authentication.logger=scapi.authentication-module.html#logger,Variable scapi.logger=scapi-module.html#logger,Variable scapi.tests.scapi_tests.logger=scapi.tests.scapi_tests-module.html#logger,Variable scapi.tests.test_connect.logger=scapi.tests.test_connect-module.html#logger,Variable scapi.tests.test_oauth.logger=scapi.tests.test_oauth-module.html#logger"><a title="scapi.authentication.logger
scapi.logger
scapi.tests.scapi_tests.logger
scapi.tests.test_connect.logger
scapi.tests.test_oauth.logger" class="py-name" href="#" onclick="return doclink('link-3', 'logger', 'link-3');">logger</a></tt> <tt class="py-op">=</tt> <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">getLogger</tt><tt class="py-op">(</tt><tt class="py-name">__name__</tt><tt class="py-op">)</tt> </tt>
<a name="L13"></a><tt class="py-lineno"> 13</tt> <tt class="py-line"><tt id="link-4" class="py-name"><a title="scapi.authentication.logger
scapi.logger
scapi.tests.scapi_tests.logger
scapi.tests.test_connect.logger
scapi.tests.test_oauth.logger" class="py-name" href="#" onclick="return doclink('link-4', 'logger', 'link-3');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">setLevel</tt><tt class="py-op">(</tt><tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">DEBUG</tt><tt class="py-op">)</tt> </tt>
<a name="L14"></a><tt class="py-lineno"> 14</tt> <tt class="py-line"><tt id="link-5" class="py-name" targets="Variable scapi.tests.test_connect._logger=scapi.tests.test_connect-module.html#_logger,Variable scapi.tests.test_oauth._logger=scapi.tests.test_oauth-module.html#_logger"><a title="scapi.tests.test_connect._logger
scapi.tests.test_oauth._logger" class="py-name" href="#" onclick="return doclink('link-5', '_logger', 'link-5');">_logger</a></tt> <tt class="py-op">=</tt> <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">getLogger</tt><tt class="py-op">(</tt><tt class="py-string">"scapi"</tt><tt class="py-op">)</tt> </tt>
<a name="L15"></a><tt class="py-lineno"> 15</tt> <tt class="py-line"><tt class="py-comment">#_logger.setLevel(logging.DEBUG)</tt> </tt>
<a name="L16"></a><tt class="py-lineno"> 16</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
<a name="L17"></a><tt class="py-lineno"> 17</tt> <tt class="py-line"><tt id="link-6" class="py-name" targets="Variable scapi.tests.scapi_tests.SCAPITests.RUN_INTERACTIVE_TESTS=scapi.tests.scapi_tests.SCAPITests-class.html#RUN_INTERACTIVE_TESTS,Variable scapi.tests.test_connect.RUN_INTERACTIVE_TESTS=scapi.tests.test_connect-module.html#RUN_INTERACTIVE_TESTS"><a title="scapi.tests.scapi_tests.SCAPITests.RUN_INTERACTIVE_TESTS
scapi.tests.test_connect.RUN_INTERACTIVE_TESTS" class="py-name" href="#" onclick="return doclink('link-6', 'RUN_INTERACTIVE_TESTS', 'link-6');">RUN_INTERACTIVE_TESTS</a></tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
<a name="L18"></a><tt class="py-lineno"> 18</tt> <tt class="py-line"><tt id="link-7" class="py-name" targets="Variable scapi.tests.test_connect.USE_OAUTH=scapi.tests.test_connect-module.html#USE_OAUTH"><a title="scapi.tests.test_connect.USE_OAUTH" class="py-name" href="#" onclick="return doclink('link-7', 'USE_OAUTH', 'link-7');">USE_OAUTH</a></tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
<a name="L19"></a><tt class="py-lineno"> 19</tt> <tt class="py-line"> </tt>
<a name="L20"></a><tt class="py-lineno"> 20</tt> <tt class="py-line"><tt id="link-8" class="py-name" targets="Variable scapi.tests.scapi_tests.SCAPITests.TOKEN=scapi.tests.scapi_tests.SCAPITests-class.html#TOKEN,Variable scapi.tests.test_connect.TOKEN=scapi.tests.test_connect-module.html#TOKEN,Variable scapi.tests.test_oauth.TOKEN=scapi.tests.test_oauth-module.html#TOKEN"><a title="scapi.tests.scapi_tests.SCAPITests.TOKEN
scapi.tests.test_connect.TOKEN
scapi.tests.test_oauth.TOKEN" class="py-name" href="#" onclick="return doclink('link-8', 'TOKEN', 'link-8');">TOKEN</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"FjNE9aRTg8kpxuOjzwsX8Q"</tt> </tt>
<a name="L21"></a><tt class="py-lineno"> 21</tt> <tt class="py-line"><tt id="link-9" class="py-name" targets="Variable scapi.tests.scapi_tests.SCAPITests.SECRET=scapi.tests.scapi_tests.SCAPITests-class.html#SECRET,Variable scapi.tests.test_connect.SECRET=scapi.tests.test_connect-module.html#SECRET,Variable scapi.tests.test_oauth.SECRET=scapi.tests.test_oauth-module.html#SECRET"><a title="scapi.tests.scapi_tests.SCAPITests.SECRET
scapi.tests.test_connect.SECRET
scapi.tests.test_oauth.SECRET" class="py-name" href="#" onclick="return doclink('link-9', 'SECRET', 'link-9');">SECRET</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"NP5PGoyKcQv64E0aZgV4CRNzHfPwR4QghrWoqEgEE"</tt> </tt>
<a name="L22"></a><tt class="py-lineno"> 22</tt> <tt class="py-line"><tt id="link-10" class="py-name" targets="Variable scapi.tests.scapi_tests.SCAPITests.CONSUMER=scapi.tests.scapi_tests.SCAPITests-class.html#CONSUMER,Variable scapi.tests.test_connect.CONSUMER=scapi.tests.test_connect-module.html#CONSUMER,Variable scapi.tests.test_oauth.CONSUMER=scapi.tests.test_oauth-module.html#CONSUMER"><a title="scapi.tests.scapi_tests.SCAPITests.CONSUMER
scapi.tests.test_connect.CONSUMER
scapi.tests.test_oauth.CONSUMER" class="py-name" href="#" onclick="return doclink('link-10', 'CONSUMER', 'link-10');">CONSUMER</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"EEi2URUfM97pAAxHTogDpQ"</tt> </tt>
<a name="L23"></a><tt class="py-lineno"> 23</tt> <tt class="py-line"><tt id="link-11" class="py-name" targets="Variable scapi.tests.scapi_tests.SCAPITests.CONSUMER_SECRET=scapi.tests.scapi_tests.SCAPITests-class.html#CONSUMER_SECRET,Variable scapi.tests.test_connect.CONSUMER_SECRET=scapi.tests.test_connect-module.html#CONSUMER_SECRET,Variable scapi.tests.test_oauth.CONSUMER_SECRET=scapi.tests.test_oauth-module.html#CONSUMER_SECRET"><a title="scapi.tests.scapi_tests.SCAPITests.CONSUMER_SECRET
scapi.tests.test_connect.CONSUMER_SECRET
scapi.tests.test_oauth.CONSUMER_SECRET" class="py-name" href="#" onclick="return doclink('link-11', 'CONSUMER_SECRET', 'link-11');">CONSUMER_SECRET</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"NFYd8T3i4jVKGZ9TMy9LHaBQB3Sh8V5sxBiMeMZBow"</tt> </tt>
<a name="L24"></a><tt class="py-lineno"> 24</tt> <tt class="py-line"><tt id="link-12" class="py-name" targets="Variable scapi.tests.scapi_tests.SCAPITests.API_HOST=scapi.tests.scapi_tests.SCAPITests-class.html#API_HOST,Variable scapi.tests.test_connect.API_HOST=scapi.tests.test_connect-module.html#API_HOST"><a title="scapi.tests.scapi_tests.SCAPITests.API_HOST
scapi.tests.test_connect.API_HOST" class="py-name" href="#" onclick="return doclink('link-12', 'API_HOST', 'link-12');">API_HOST</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"api.soundcloud.dev:3000"</tt> </tt>
<a name="L25"></a><tt class="py-lineno"> 25</tt> <tt class="py-line"><tt id="link-13" class="py-name" targets="Variable scapi.tests.scapi_tests.SCAPITests.USER=scapi.tests.scapi_tests.SCAPITests-class.html#USER,Variable scapi.tests.test_connect.USER=scapi.tests.test_connect-module.html#USER"><a title="scapi.tests.scapi_tests.SCAPITests.USER
scapi.tests.test_connect.USER" class="py-name" href="#" onclick="return doclink('link-13', 'USER', 'link-13');">USER</a></tt> <tt class="py-op">=</tt> <tt class="py-string">""</tt> </tt>
<a name="L26"></a><tt class="py-lineno"> 26</tt> <tt class="py-line"><tt id="link-14" class="py-name" targets="Variable scapi.tests.scapi_tests.SCAPITests.PASSWORD=scapi.tests.scapi_tests.SCAPITests-class.html#PASSWORD,Variable scapi.tests.test_connect.PASSWORD=scapi.tests.test_connect-module.html#PASSWORD"><a title="scapi.tests.scapi_tests.SCAPITests.PASSWORD
scapi.tests.test_connect.PASSWORD" class="py-name" href="#" onclick="return doclink('link-14', 'PASSWORD', 'link-14');">PASSWORD</a></tt> <tt class="py-op">=</tt> <tt class="py-string">""</tt> </tt>
<a name="L27"></a><tt class="py-lineno"> 27</tt> <tt class="py-line"> </tt>
<a name="L28"></a><tt class="py-lineno"> 28</tt> <tt class="py-line"><tt id="link-15" class="py-name" targets="Variable scapi.tests.scapi_tests.SCAPITests.CONFIG_NAME=scapi.tests.scapi_tests.SCAPITests-class.html#CONFIG_NAME,Variable scapi.tests.test_connect.CONFIG_NAME=scapi.tests.test_connect-module.html#CONFIG_NAME"><a title="scapi.tests.scapi_tests.SCAPITests.CONFIG_NAME
scapi.tests.test_connect.CONFIG_NAME" class="py-name" href="#" onclick="return doclink('link-15', 'CONFIG_NAME', 'link-15');">CONFIG_NAME</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"soundcloud.cfg"</tt> </tt>
<a name="L29"></a><tt class="py-lineno"> 29</tt> <tt class="py-line"> </tt>
<a name="L30"></a><tt class="py-lineno"> 30</tt> <tt class="py-line"><tt id="link-16" class="py-name" targets="Variable scapi.tests.test_connect.CONNECTOR=scapi.tests.test_connect-module.html#CONNECTOR"><a title="scapi.tests.test_connect.CONNECTOR" class="py-name" href="#" onclick="return doclink('link-16', 'CONNECTOR', 'link-16');">CONNECTOR</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
<a name="L31"></a><tt class="py-lineno"> 31</tt> <tt class="py-line"><tt id="link-17" class="py-name" targets="Variable scapi.tests.test_connect.ROOT=scapi.tests.test_connect-module.html#ROOT"><a title="scapi.tests.test_connect.ROOT" class="py-name" href="#" onclick="return doclink('link-17', 'ROOT', 'link-17');">ROOT</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
<a name="setup"></a><div id="setup-def"><a name="L32"></a><tt class="py-lineno"> 32</tt> <a class="py-toggle" href="#" id="setup-toggle" onclick="return toggle('setup');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="scapi.tests.test_connect-module.html#setup">setup</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="setup-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="setup-expanded"><a name="L33"></a><tt class="py-lineno"> 33</tt> <tt class="py-line"> <tt class="py-keyword">global</tt> <tt id="link-18" class="py-name"><a title="scapi.tests.test_connect.CONNECTOR" class="py-name" href="#" onclick="return doclink('link-18', 'CONNECTOR', 'link-16');">CONNECTOR</a></tt><tt class="py-op">,</tt> <tt id="link-19" class="py-name"><a title="scapi.tests.test_connect.ROOT" class="py-name" href="#" onclick="return doclink('link-19', 'ROOT', 'link-17');">ROOT</a></tt> </tt>
<a name="L34"></a><tt class="py-lineno"> 34</tt> <tt class="py-line"> <tt class="py-comment"># load_config()</tt> </tt>
<a name="L35"></a><tt class="py-lineno"> 35</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment">#scapi.ApiConnector(host='192.168.2.101:3000', user='tiga', password='test')</tt> </tt>
<a name="L36"></a><tt class="py-lineno"> 36</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-comment">#scapi.ApiConnector(host='sandbox-api.soundcloud.com:3030', user='tiga', password='test')</tt> </tt>
<a name="L37"></a><tt class="py-lineno"> 37</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt id="link-20" class="py-name"><a title="scapi" class="py-name" href="#" onclick="return doclink('link-20', 'scapi', 'link-0');">scapi</a></tt><tt class="py-op">.</tt><tt id="link-21" class="py-name" targets="Variable scapi.USE_PROXY=scapi-module.html#USE_PROXY"><a title="scapi.USE_PROXY" class="py-name" href="#" onclick="return doclink('link-21', 'USE_PROXY', 'link-21');">USE_PROXY</a></tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
<a name="L38"></a><tt class="py-lineno"> 38</tt> <tt class="py-line"> <tt id="link-22" class="py-name"><a title="scapi" class="py-name" href="#" onclick="return doclink('link-22', 'scapi', 'link-0');">scapi</a></tt><tt class="py-op">.</tt><tt id="link-23" class="py-name" targets="Variable scapi.PROXY=scapi-module.html#PROXY"><a title="scapi.PROXY" class="py-name" href="#" onclick="return doclink('link-23', 'PROXY', 'link-23');">PROXY</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'http://127.0.0.1:10000/'</tt> </tt>
<a name="L39"></a><tt class="py-lineno"> 39</tt> <tt class="py-line"> </tt>
<a name="L40"></a><tt class="py-lineno"> 40</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt id="link-24" class="py-name"><a title="scapi.tests.test_connect.USE_OAUTH" class="py-name" href="#" onclick="return doclink('link-24', 'USE_OAUTH', 'link-7');">USE_OAUTH</a></tt><tt class="py-op">:</tt> </tt>
<a name="L41"></a><tt class="py-lineno"> 41</tt> <tt class="py-line"> <tt class="py-name">authenticator</tt> <tt class="py-op">=</tt> <tt id="link-25" class="py-name"><a title="scapi" class="py-name" href="#" onclick="return doclink('link-25', 'scapi', 'link-0');">scapi</a></tt><tt class="py-op">.</tt><tt id="link-26" class="py-name"><a title="scapi.authentication" class="py-name" href="#" onclick="return doclink('link-26', 'authentication', 'link-2');">authentication</a></tt><tt class="py-op">.</tt><tt id="link-27" class="py-name" targets="Class scapi.authentication.OAuthAuthenticator=scapi.authentication.OAuthAuthenticator-class.html"><a title="scapi.authentication.OAuthAuthenticator" class="py-name" href="#" onclick="return doclink('link-27', 'OAuthAuthenticator', 'link-27');">OAuthAuthenticator</a></tt><tt class="py-op">(</tt><tt id="link-28" class="py-name"><a title="scapi.tests.scapi_tests.SCAPITests.CONSUMER
scapi.tests.test_connect.CONSUMER
scapi.tests.test_oauth.CONSUMER" class="py-name" href="#" onclick="return doclink('link-28', 'CONSUMER', 'link-10');">CONSUMER</a></tt><tt class="py-op">,</tt> </tt>
<a name="L42"></a><tt class="py-lineno"> 42</tt> <tt class="py-line"> <tt id="link-29" class="py-name"><a title="scapi.tests.scapi_tests.SCAPITests.CONSUMER_SECRET
scapi.tests.test_connect.CONSUMER_SECRET
scapi.tests.test_oauth.CONSUMER_SECRET" class="py-name" href="#" onclick="return doclink('link-29', 'CONSUMER_SECRET', 'link-11');">CONSUMER_SECRET</a></tt><tt class="py-op">,</tt> </tt>
<a name="L43"></a><tt class="py-lineno"> 43</tt> <tt class="py-line"> <tt id="link-30" class="py-name"><a title="scapi.tests.scapi_tests.SCAPITests.TOKEN
scapi.tests.test_connect.TOKEN
scapi.tests.test_oauth.TOKEN" class="py-name" href="#" onclick="return doclink('link-30', 'TOKEN', 'link-8');">TOKEN</a></tt><tt class="py-op">,</tt> </tt>
<a name="L44"></a><tt class="py-lineno"> 44</tt> <tt class="py-line"> <tt id="link-31" class="py-name"><a title="scapi.tests.scapi_tests.SCAPITests.SECRET
scapi.tests.test_connect.SECRET
scapi.tests.test_oauth.SECRET" class="py-name" href="#" onclick="return doclink('link-31', 'SECRET', 'link-9');">SECRET</a></tt><tt class="py-op">)</tt> </tt>
<a name="L45"></a><tt class="py-lineno"> 45</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
<a name="L46"></a><tt class="py-lineno"> 46</tt> <tt class="py-line"> <tt class="py-name">authenticator</tt> <tt class="py-op">=</tt> <tt id="link-32" class="py-name"><a title="scapi" class="py-name" href="#" onclick="return doclink('link-32', 'scapi', 'link-0');">scapi</a></tt><tt class="py-op">.</tt><tt id="link-33" class="py-name"><a title="scapi.authentication" class="py-name" href="#" onclick="return doclink('link-33', 'authentication', 'link-2');">authentication</a></tt><tt class="py-op">.</tt><tt id="link-34" class="py-name" targets="Class scapi.authentication.BasicAuthenticator=scapi.authentication.BasicAuthenticator-class.html"><a title="scapi.authentication.BasicAuthenticator" class="py-name" href="#" onclick="return doclink('link-34', 'BasicAuthenticator', 'link-34');">BasicAuthenticator</a></tt><tt class="py-op">(</tt><tt id="link-35" class="py-name"><a title="scapi.tests.scapi_tests.SCAPITests.USER
scapi.tests.test_connect.USER" class="py-name" href="#" onclick="return doclink('link-35', 'USER', 'link-13');">USER</a></tt><tt class="py-op">,</tt> <tt id="link-36" class="py-name"><a title="scapi.tests.scapi_tests.SCAPITests.PASSWORD
scapi.tests.test_connect.PASSWORD" class="py-name" href="#" onclick="return doclink('link-36', 'PASSWORD', 'link-14');">PASSWORD</a></tt><tt class="py-op">,</tt> <tt id="link-37" class="py-name"><a title="scapi.tests.scapi_tests.SCAPITests.CONSUMER
scapi.tests.test_connect.CONSUMER
scapi.tests.test_oauth.CONSUMER" class="py-name" href="#" onclick="return doclink('link-37', 'CONSUMER', 'link-10');">CONSUMER</a></tt><tt class="py-op">,</tt> <tt id="link-38" class="py-name"><a title="scapi.tests.scapi_tests.SCAPITests.CONSUMER_SECRET
scapi.tests.test_connect.CONSUMER_SECRET
scapi.tests.test_oauth.CONSUMER_SECRET" class="py-name" href="#" onclick="return doclink('link-38', 'CONSUMER_SECRET', 'link-11');">CONSUMER_SECRET</a></tt><tt class="py-op">)</tt> </tt>
<a name="L47"></a><tt class="py-lineno"> 47</tt> <tt class="py-line"> </tt>
<a name="L48"></a><tt class="py-lineno"> 48</tt> <tt class="py-line"> <tt id="link-39" class="py-name"><a title="scapi.authentication.logger
scapi.logger
scapi.tests.scapi_tests.logger
scapi.tests.test_connect.logger
scapi.tests.test_oauth.logger" class="py-name" href="#" onclick="return doclink('link-39', 'logger', 'link-3');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt><tt class="py-string">"API_HOST: %s"</tt><tt class="py-op">,</tt> <tt id="link-40" class="py-name"><a title="scapi.tests.scapi_tests.SCAPITests.API_HOST
scapi.tests.test_connect.API_HOST" class="py-name" href="#" onclick="return doclink('link-40', 'API_HOST', 'link-12');">API_HOST</a></tt><tt class="py-op">)</tt> </tt>
<a name="L49"></a><tt class="py-lineno"> 49</tt> <tt class="py-line"> <tt id="link-41" class="py-name"><a title="scapi.tests.test_connect.CONNECTOR" class="py-name" href="#" onclick="return doclink('link-41', 'CONNECTOR', 'link-16');">CONNECTOR</a></tt> <tt class="py-op">=</tt> <tt id="link-42" class="py-name"><a title="scapi" class="py-name" href="#" onclick="return doclink('link-42', 'scapi', 'link-0');">scapi</a></tt><tt class="py-op">.</tt><tt id="link-43" class="py-name" targets="Class scapi.ApiConnector=scapi.ApiConnector-class.html"><a title="scapi.ApiConnector" class="py-name" href="#" onclick="return doclink('link-43', 'ApiConnector', 'link-43');">ApiConnector</a></tt><tt class="py-op">(</tt><tt class="py-name">host</tt><tt class="py-op">=</tt><tt id="link-44" class="py-name"><a title="scapi.tests.scapi_tests.SCAPITests.API_HOST
scapi.tests.test_connect.API_HOST" class="py-name" href="#" onclick="return doclink('link-44', 'API_HOST', 'link-12');">API_HOST</a></tt><tt class="py-op">,</tt> </tt>
<a name="L50"></a><tt class="py-lineno"> 50</tt> <tt class="py-line"> <tt class="py-name">authenticator</tt><tt class="py-op">=</tt><tt class="py-name">authenticator</tt><tt class="py-op">)</tt> </tt>
<a name="L51"></a><tt class="py-lineno"> 51</tt> <tt class="py-line"> <tt id="link-45" class="py-name"><a title="scapi.tests.test_connect.ROOT" class="py-name" href="#" onclick="return doclink('link-45', 'ROOT', 'link-17');">ROOT</a></tt> <tt class="py-op">=</tt> <tt id="link-46" class="py-name"><a title="scapi" class="py-name" href="#" onclick="return doclink('link-46', 'scapi', 'link-0');">scapi</a></tt><tt class="py-op">.</tt><tt id="link-47" class="py-name" targets="Class scapi.Scope=scapi.Scope-class.html"><a title="scapi.Scope" class="py-name" href="#" onclick="return doclink('link-47', 'Scope', 'link-47');">Scope</a></tt><tt class="py-op">(</tt><tt id="link-48" class="py-name"><a title="scapi.tests.test_connect.CONNECTOR" class="py-name" href="#" onclick="return doclink('link-48', 'CONNECTOR', 'link-16');">CONNECTOR</a></tt><tt class="py-op">)</tt> </tt>
</div><a name="L52"></a><tt class="py-lineno"> 52</tt> <tt class="py-line"> </tt>
<a name="load_config"></a><div id="load_config-def"><a name="L53"></a><tt class="py-lineno"> 53</tt> <a class="py-toggle" href="#" id="load_config-toggle" onclick="return toggle('load_config');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="scapi.tests.test_connect-module.html#load_config">load_config</a><tt class="py-op">(</tt><tt class="py-param">config_name</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="load_config-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="load_config-expanded"><a name="L54"></a><tt class="py-lineno"> 54</tt> <tt class="py-line"> <tt class="py-keyword">global</tt> <tt id="link-49" class="py-name"><a title="scapi.tests.scapi_tests.SCAPITests.TOKEN
scapi.tests.test_connect.TOKEN
scapi.tests.test_oauth.TOKEN" class="py-name" href="#" onclick="return doclink('link-49', 'TOKEN', 'link-8');">TOKEN</a></tt><tt class="py-op">,</tt> <tt id="link-50" class="py-name"><a title="scapi.tests.scapi_tests.SCAPITests.SECRET
scapi.tests.test_connect.SECRET
scapi.tests.test_oauth.SECRET" class="py-name" href="#" onclick="return doclink('link-50', 'SECRET', 'link-9');">SECRET</a></tt><tt class="py-op">,</tt> <tt id="link-51" class="py-name"><a title="scapi.tests.scapi_tests.SCAPITests.CONSUMER_SECRET
scapi.tests.test_connect.CONSUMER_SECRET
scapi.tests.test_oauth.CONSUMER_SECRET" class="py-name" href="#" onclick="return doclink('link-51', 'CONSUMER_SECRET', 'link-11');">CONSUMER_SECRET</a></tt><tt class="py-op">,</tt> <tt id="link-52" class="py-name"><a title="scapi.tests.scapi_tests.SCAPITests.CONSUMER
scapi.tests.test_connect.CONSUMER
scapi.tests.test_oauth.CONSUMER" class="py-name" href="#" onclick="return doclink('link-52', 'CONSUMER', 'link-10');">CONSUMER</a></tt><tt class="py-op">,</tt> <tt id="link-53" class="py-name"><a title="scapi.tests.scapi_tests.SCAPITests.API_HOST
scapi.tests.test_connect.API_HOST" class="py-name" href="#" onclick="return doclink('link-53', 'API_HOST', 'link-12');">API_HOST</a></tt><tt class="py-op">,</tt> <tt id="link-54" class="py-name"><a title="scapi.tests.scapi_tests.SCAPITests.USER
scapi.tests.test_connect.USER" class="py-name" href="#" onclick="return doclink('link-54', 'USER', 'link-13');">USER</a></tt><tt class="py-op">,</tt> <tt id="link-55" class="py-name"><a title="scapi.tests.scapi_tests.SCAPITests.PASSWORD
scapi.tests.test_connect.PASSWORD" class="py-name" href="#" onclick="return doclink('link-55', 'PASSWORD', 'link-14');">PASSWORD</a></tt> </tt>
<a name="L55"></a><tt class="py-lineno"> 55</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">config_name</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
<a name="L56"></a><tt class="py-lineno"> 56</tt> <tt class="py-line"> <tt class="py-name">config_name</tt> <tt class="py-op">=</tt> <tt id="link-56" class="py-name"><a title="scapi.tests.scapi_tests.SCAPITests.CONFIG_NAME
scapi.tests.test_connect.CONFIG_NAME" class="py-name" href="#" onclick="return doclink('link-56', 'CONFIG_NAME', 'link-15');">CONFIG_NAME</a></tt> </tt>
<a name="L57"></a><tt class="py-lineno"> 57</tt> <tt class="py-line"> <tt class="py-name">parser</tt> <tt class="py-op">=</tt> <tt class="py-name">SafeConfigParser</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L58"></a><tt class="py-lineno"> 58</tt> <tt class="py-line"> <tt class="py-name">current</tt> <tt class="py-op">=</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">getcwd</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L59"></a><tt class="py-lineno"> 59</tt> <tt class="py-line"> <tt class="py-keyword">while</tt> <tt class="py-name">current</tt><tt class="py-op">:</tt> </tt>
<a name="L60"></a><tt class="py-lineno"> 60</tt> <tt class="py-line"> <tt class="py-name">name</tt> <tt class="py-op">=</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">current</tt><tt class="py-op">,</tt> <tt class="py-name">config_name</tt><tt class="py-op">)</tt> </tt>
<a name="L61"></a><tt class="py-lineno"> 61</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">exists</tt><tt class="py-op">(</tt><tt class="py-name">name</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L62"></a><tt class="py-lineno"> 62</tt> <tt class="py-line"> <tt class="py-name">parser</tt><tt class="py-op">.</tt><tt id="link-57" class="py-name" targets="Method scapi.json.JsonReader.read()=scapi.json.JsonReader-class.html#read,Function scapi.json.read()=scapi.json-module.html#read"><a title="scapi.json.JsonReader.read
scapi.json.read" class="py-name" href="#" onclick="return doclink('link-57', 'read', 'link-57');">read</a></tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-name">name</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
<a name="L63"></a><tt class="py-lineno"> 63</tt> <tt class="py-line"> <tt id="link-58" class="py-name"><a title="scapi.tests.scapi_tests.SCAPITests.TOKEN
scapi.tests.test_connect.TOKEN
scapi.tests.test_oauth.TOKEN" class="py-name" href="#" onclick="return doclink('link-58', 'TOKEN', 'link-8');">TOKEN</a></tt> <tt class="py-op">=</tt> <tt class="py-name">parser</tt><tt class="py-op">.</tt><tt id="link-59" class="py-name" targets="Class Method scapi.RESTBase.get()=scapi.RESTBase-class.html#get"><a title="scapi.RESTBase.get" class="py-name" href="#" onclick="return doclink('link-59', 'get', 'link-59');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'global'</tt><tt class="py-op">,</tt> <tt class="py-string">'accesstoken'</tt><tt class="py-op">)</tt> </tt>
<a name="L64"></a><tt class="py-lineno"> 64</tt> <tt class="py-line"> <tt id="link-60" class="py-name"><a title="scapi.tests.scapi_tests.SCAPITests.SECRET
scapi.tests.test_connect.SECRET
scapi.tests.test_oauth.SECRET" class="py-name" href="#" onclick="return doclink('link-60', 'SECRET', 'link-9');">SECRET</a></tt> <tt class="py-op">=</tt> <tt class="py-name">parser</tt><tt class="py-op">.</tt><tt id="link-61" class="py-name"><a title="scapi.RESTBase.get" class="py-name" href="#" onclick="return doclink('link-61', 'get', 'link-59');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'global'</tt><tt class="py-op">,</tt> <tt class="py-string">'accesstoken_secret'</tt><tt class="py-op">)</tt> </tt>
<a name="L65"></a><tt class="py-lineno"> 65</tt> <tt class="py-line"> <tt id="link-62" class="py-name"><a title="scapi.tests.scapi_tests.SCAPITests.CONSUMER
scapi.tests.test_connect.CONSUMER
scapi.tests.test_oauth.CONSUMER" class="py-name" href="#" onclick="return doclink('link-62', 'CONSUMER', 'link-10');">CONSUMER</a></tt> <tt class="py-op">=</tt> <tt class="py-name">parser</tt><tt class="py-op">.</tt><tt id="link-63" class="py-name"><a title="scapi.RESTBase.get" class="py-name" href="#" onclick="return doclink('link-63', 'get', 'link-59');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'global'</tt><tt class="py-op">,</tt> <tt class="py-string">'consumer'</tt><tt class="py-op">)</tt> </tt>
<a name="L66"></a><tt class="py-lineno"> 66</tt> <tt class="py-line"> <tt id="link-64" class="py-name"><a title="scapi.tests.scapi_tests.SCAPITests.CONSUMER_SECRET
scapi.tests.test_connect.CONSUMER_SECRET
scapi.tests.test_oauth.CONSUMER_SECRET" class="py-name" href="#" onclick="return doclink('link-64', 'CONSUMER_SECRET', 'link-11');">CONSUMER_SECRET</a></tt> <tt class="py-op">=</tt> <tt class="py-name">parser</tt><tt class="py-op">.</tt><tt id="link-65" class="py-name"><a title="scapi.RESTBase.get" class="py-name" href="#" onclick="return doclink('link-65', 'get', 'link-59');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'global'</tt><tt class="py-op">,</tt> <tt class="py-string">'consumer_secret'</tt><tt class="py-op">)</tt> </tt>
<a name="L67"></a><tt class="py-lineno"> 67</tt> <tt class="py-line"> <tt id="link-66" class="py-name"><a title="scapi.tests.scapi_tests.SCAPITests.API_HOST
scapi.tests.test_connect.API_HOST" class="py-name" href="#" onclick="return doclink('link-66', 'API_HOST', 'link-12');">API_HOST</a></tt> <tt class="py-op">=</tt> <tt class="py-name">parser</tt><tt class="py-op">.</tt><tt id="link-67" class="py-name"><a title="scapi.RESTBase.get" class="py-name" href="#" onclick="return doclink('link-67', 'get', 'link-59');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'global'</tt><tt class="py-op">,</tt> <tt class="py-string">'host'</tt><tt class="py-op">)</tt> </tt>
<a name="L68"></a><tt class="py-lineno"> 68</tt> <tt class="py-line"> <tt id="link-68" class="py-name"><a title="scapi.tests.scapi_tests.SCAPITests.USER
scapi.tests.test_connect.USER" class="py-name" href="#" onclick="return doclink('link-68', 'USER', 'link-13');">USER</a></tt> <tt class="py-op">=</tt> <tt class="py-name">parser</tt><tt class="py-op">.</tt><tt id="link-69" class="py-name"><a title="scapi.RESTBase.get" class="py-name" href="#" onclick="return doclink('link-69', 'get', 'link-59');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'global'</tt><tt class="py-op">,</tt> <tt class="py-string">'user'</tt><tt class="py-op">)</tt> </tt>
<a name="L69"></a><tt class="py-lineno"> 69</tt> <tt class="py-line"> <tt id="link-70" class="py-name"><a title="scapi.tests.scapi_tests.SCAPITests.PASSWORD
scapi.tests.test_connect.PASSWORD" class="py-name" href="#" onclick="return doclink('link-70', 'PASSWORD', 'link-14');">PASSWORD</a></tt> <tt class="py-op">=</tt> <tt class="py-name">parser</tt><tt class="py-op">.</tt><tt id="link-71" class="py-name"><a title="scapi.RESTBase.get" class="py-name" href="#" onclick="return doclink('link-71', 'get', 'link-59');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'global'</tt><tt class="py-op">,</tt> <tt class="py-string">'password'</tt><tt class="py-op">)</tt> </tt>
<a name="L70"></a><tt class="py-lineno"> 70</tt> <tt class="py-line"> <tt id="link-72" class="py-name"><a title="scapi.authentication.logger
scapi.logger
scapi.tests.scapi_tests.logger
scapi.tests.test_connect.logger
scapi.tests.test_oauth.logger" class="py-name" href="#" onclick="return doclink('link-72', 'logger', 'link-3');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt><tt class="py-string">"token: %s"</tt><tt class="py-op">,</tt> <tt id="link-73" class="py-name"><a title="scapi.tests.scapi_tests.SCAPITests.TOKEN
scapi.tests.test_connect.TOKEN
scapi.tests.test_oauth.TOKEN" class="py-name" href="#" onclick="return doclink('link-73', 'TOKEN', 'link-8');">TOKEN</a></tt><tt class="py-op">)</tt> </tt>
<a name="L71"></a><tt class="py-lineno"> 71</tt> <tt class="py-line"> <tt id="link-74" class="py-name"><a title="scapi.authentication.logger
scapi.logger
scapi.tests.scapi_tests.logger
scapi.tests.test_connect.logger
scapi.tests.test_oauth.logger" class="py-name" href="#" onclick="return doclink('link-74', 'logger', 'link-3');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt><tt class="py-string">"secret: %s"</tt><tt class="py-op">,</tt> <tt id="link-75" class="py-name"><a title="scapi.tests.scapi_tests.SCAPITests.SECRET
scapi.tests.test_connect.SECRET
scapi.tests.test_oauth.SECRET" class="py-name" href="#" onclick="return doclink('link-75', 'SECRET', 'link-9');">SECRET</a></tt><tt class="py-op">)</tt> </tt>
<a name="L72"></a><tt class="py-lineno"> 72</tt> <tt class="py-line"> <tt id="link-76" class="py-name"><a title="scapi.authentication.logger
scapi.logger
scapi.tests.scapi_tests.logger
scapi.tests.test_connect.logger
scapi.tests.test_oauth.logger" class="py-name" href="#" onclick="return doclink('link-76', 'logger', 'link-3');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt><tt class="py-string">"consumer: %s"</tt><tt class="py-op">,</tt> <tt id="link-77" class="py-name"><a title="scapi.tests.scapi_tests.SCAPITests.CONSUMER
scapi.tests.test_connect.CONSUMER
scapi.tests.test_oauth.CONSUMER" class="py-name" href="#" onclick="return doclink('link-77', 'CONSUMER', 'link-10');">CONSUMER</a></tt><tt class="py-op">)</tt> </tt>
<a name="L73"></a><tt class="py-lineno"> 73</tt> <tt class="py-line"> <tt id="link-78" class="py-name"><a title="scapi.authentication.logger
scapi.logger
scapi.tests.scapi_tests.logger
scapi.tests.test_connect.logger
scapi.tests.test_oauth.logger" class="py-name" href="#" onclick="return doclink('link-78', 'logger', 'link-3');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt><tt class="py-string">"consumer_secret: %s"</tt><tt class="py-op">,</tt> <tt id="link-79" class="py-name"><a title="scapi.tests.scapi_tests.SCAPITests.CONSUMER_SECRET
scapi.tests.test_connect.CONSUMER_SECRET
scapi.tests.test_oauth.CONSUMER_SECRET" class="py-name" href="#" onclick="return doclink('link-79', 'CONSUMER_SECRET', 'link-11');">CONSUMER_SECRET</a></tt><tt class="py-op">)</tt> </tt>
<a name="L74"></a><tt class="py-lineno"> 74</tt> <tt class="py-line"> <tt id="link-80" class="py-name"><a title="scapi.authentication.logger
scapi.logger
scapi.tests.scapi_tests.logger
scapi.tests.test_connect.logger
scapi.tests.test_oauth.logger" class="py-name" href="#" onclick="return doclink('link-80', 'logger', 'link-3');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt><tt class="py-string">"user: %s"</tt><tt class="py-op">,</tt> <tt id="link-81" class="py-name"><a title="scapi.tests.scapi_tests.SCAPITests.USER
scapi.tests.test_connect.USER" class="py-name" href="#" onclick="return doclink('link-81', 'USER', 'link-13');">USER</a></tt><tt class="py-op">)</tt> </tt>
<a name="L75"></a><tt class="py-lineno"> 75</tt> <tt class="py-line"> <tt id="link-82" class="py-name"><a title="scapi.authentication.logger
scapi.logger
scapi.tests.scapi_tests.logger
scapi.tests.test_connect.logger
scapi.tests.test_oauth.logger" class="py-name" href="#" onclick="return doclink('link-82', 'logger', 'link-3');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt><tt class="py-string">"password: %s"</tt><tt class="py-op">,</tt> <tt id="link-83" class="py-name"><a title="scapi.tests.scapi_tests.SCAPITests.PASSWORD
scapi.tests.test_connect.PASSWORD" class="py-name" href="#" onclick="return doclink('link-83', 'PASSWORD', 'link-14');">PASSWORD</a></tt><tt class="py-op">)</tt> </tt>
<a name="L76"></a><tt class="py-lineno"> 76</tt> <tt class="py-line"> <tt id="link-84" class="py-name"><a title="scapi.authentication.logger
scapi.logger
scapi.tests.scapi_tests.logger
scapi.tests.test_connect.logger
scapi.tests.test_oauth.logger" class="py-name" href="#" onclick="return doclink('link-84', 'logger', 'link-3');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt><tt class="py-string">"host: %s"</tt><tt class="py-op">,</tt> <tt id="link-85" class="py-name"><a title="scapi.tests.scapi_tests.SCAPITests.API_HOST
scapi.tests.test_connect.API_HOST" class="py-name" href="#" onclick="return doclink('link-85', 'API_HOST', 'link-12');">API_HOST</a></tt><tt class="py-op">)</tt> </tt>
<a name="L77"></a><tt class="py-lineno"> 77</tt> <tt class="py-line"> <tt class="py-keyword">break</tt> </tt>
<a name="L78"></a><tt class="py-lineno"> 78</tt> <tt class="py-line"> <tt class="py-name">new_current</tt> <tt class="py-op">=</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">dirname</tt><tt class="py-op">(</tt><tt class="py-name">current</tt><tt class="py-op">)</tt> </tt>
<a name="L79"></a><tt class="py-lineno"> 79</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">new_current</tt> <tt class="py-op">==</tt> <tt class="py-name">current</tt><tt class="py-op">:</tt> </tt>
<a name="L80"></a><tt class="py-lineno"> 80</tt> <tt class="py-line"> <tt class="py-keyword">break</tt> </tt>
<a name="L81"></a><tt class="py-lineno"> 81</tt> <tt class="py-line"> <tt class="py-name">current</tt> <tt class="py-op">=</tt> <tt class="py-name">new_current</tt> </tt>
</div><a name="L82"></a><tt class="py-lineno"> 82</tt> <tt class="py-line"> </tt>
<a name="L83"></a><tt class="py-lineno"> 83</tt> <tt class="py-line"> </tt>
<a name="test_load_config"></a><div id="test_load_config-def"><a name="L84"></a><tt class="py-lineno"> 84</tt> <a class="py-toggle" href="#" id="test_load_config-toggle" onclick="return toggle('test_load_config');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="scapi.tests.test_connect-module.html#test_load_config">test_load_config</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="test_load_config-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="test_load_config-expanded"><a name="L85"></a><tt class="py-lineno"> 85</tt> <tt class="py-line"> <tt class="py-name">base</tt> <tt class="py-op">=</tt> <tt class="py-name">tempfile</tt><tt class="py-op">.</tt><tt class="py-name">mkdtemp</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L86"></a><tt class="py-lineno"> 86</tt> <tt class="py-line"> <tt class="py-name">oldcwd</tt> <tt class="py-op">=</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">getcwd</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L87"></a><tt class="py-lineno"> 87</tt> <tt class="py-line"> <tt class="py-name">cdir</tt> <tt class="py-op">=</tt> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">base</tt><tt class="py-op">,</tt> <tt class="py-string">"foo"</tt><tt class="py-op">)</tt> </tt>
<a name="L88"></a><tt class="py-lineno"> 88</tt> <tt class="py-line"> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">mkdir</tt><tt class="py-op">(</tt><tt class="py-name">cdir</tt><tt class="py-op">)</tt> </tt>
<a name="L89"></a><tt class="py-lineno"> 89</tt> <tt class="py-line"> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">chdir</tt><tt class="py-op">(</tt><tt class="py-name">cdir</tt><tt class="py-op">)</tt> </tt>
<a name="L90"></a><tt class="py-lineno"> 90</tt> <tt class="py-line"> <tt class="py-name">test_config</tt> <tt class="py-op">=</tt> <tt class="py-string">"""</tt> </tt>
<a name="L91"></a><tt class="py-lineno"> 91</tt> <tt class="py-line"><tt class="py-string">[global]</tt> </tt>
<a name="L92"></a><tt class="py-lineno"> 92</tt> <tt class="py-line"><tt class="py-string">host=host</tt> </tt>
<a name="L93"></a><tt class="py-lineno"> 93</tt> <tt class="py-line"><tt class="py-string">consumer=consumer</tt> </tt>
<a name="L94"></a><tt class="py-lineno"> 94</tt> <tt class="py-line"><tt class="py-string">consumer_secret=consumer_secret</tt> </tt>
<a name="L95"></a><tt class="py-lineno"> 95</tt> <tt class="py-line"><tt class="py-string">accesstoken=accesstoken</tt> </tt>
<a name="L96"></a><tt class="py-lineno"> 96</tt> <tt class="py-line"><tt class="py-string">accesstoken_secret=accesstoken_secret</tt> </tt>
<a name="L97"></a><tt class="py-lineno"> 97</tt> <tt class="py-line"><tt class="py-string">user=user</tt> </tt>
<a name="L98"></a><tt class="py-lineno"> 98</tt> <tt class="py-line"><tt class="py-string">password=password</tt> </tt>
<a name="L99"></a><tt class="py-lineno"> 99</tt> <tt class="py-line"><tt class="py-string">"""</tt> </tt>
<a name="L100"></a><tt class="py-lineno">100</tt> <tt class="py-line"> <tt class="py-keyword">with</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">base</tt><tt class="py-op">,</tt> <tt id="link-86" class="py-name"><a title="scapi.tests.scapi_tests.SCAPITests.CONFIG_NAME
scapi.tests.test_connect.CONFIG_NAME" class="py-name" href="#" onclick="return doclink('link-86', 'CONFIG_NAME', 'link-15');">CONFIG_NAME</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-string">"w"</tt><tt class="py-op">)</tt> <tt class="py-keyword">as</tt> <tt class="py-name">cf</tt><tt class="py-op">:</tt> </tt>
<a name="L101"></a><tt class="py-lineno">101</tt> <tt class="py-line"> <tt class="py-name">cf</tt><tt class="py-op">.</tt><tt id="link-87" class="py-name" targets="Method scapi.json.JsonWriter.write()=scapi.json.JsonWriter-class.html#write,Function scapi.json.write()=scapi.json-module.html#write"><a title="scapi.json.JsonWriter.write
scapi.json.write" class="py-name" href="#" onclick="return doclink('link-87', 'write', 'link-87');">write</a></tt><tt class="py-op">(</tt><tt class="py-name">test_config</tt><tt class="py-op">)</tt> </tt>
<a name="L102"></a><tt class="py-lineno">102</tt> <tt class="py-line"> <tt id="link-88" class="py-name" targets="Function scapi.tests.test_connect.load_config()=scapi.tests.test_connect-module.html#load_config"><a title="scapi.tests.test_connect.load_config" class="py-name" href="#" onclick="return doclink('link-88', 'load_config', 'link-88');">load_config</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L103"></a><tt class="py-lineno">103</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt id="link-89" class="py-name"><a title="scapi.tests.scapi_tests.SCAPITests.TOKEN
scapi.tests.test_connect.TOKEN
scapi.tests.test_oauth.TOKEN" class="py-name" href="#" onclick="return doclink('link-89', 'TOKEN', 'link-8');">TOKEN</a></tt> <tt class="py-op">==</tt> <tt class="py-string">"accesstoken"</tt> <tt class="py-keyword">and</tt> <tt id="link-90" class="py-name"><a title="scapi.tests.scapi_tests.SCAPITests.SECRET
scapi.tests.test_connect.SECRET
scapi.tests.test_oauth.SECRET" class="py-name" href="#" onclick="return doclink('link-90', 'SECRET', 'link-9');">SECRET</a></tt> <tt class="py-op">==</tt> <tt class="py-string">"accesstoken_secret"</tt> <tt class="py-keyword">and</tt> <tt id="link-91" class="py-name"><a title="scapi.tests.scapi_tests.SCAPITests.API_HOST
scapi.tests.test_connect.API_HOST" class="py-name" href="#" onclick="return doclink('link-91', 'API_HOST', 'link-12');">API_HOST</a></tt> <tt class="py-op">==</tt> <tt class="py-string">'host'</tt> </tt>
<a name="L104"></a><tt class="py-lineno">104</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt id="link-92" class="py-name"><a title="scapi.tests.scapi_tests.SCAPITests.CONSUMER
scapi.tests.test_connect.CONSUMER
scapi.tests.test_oauth.CONSUMER" class="py-name" href="#" onclick="return doclink('link-92', 'CONSUMER', 'link-10');">CONSUMER</a></tt> <tt class="py-op">==</tt> <tt class="py-string">"consumer"</tt> <tt class="py-keyword">and</tt> <tt id="link-93" class="py-name"><a title="scapi.tests.scapi_tests.SCAPITests.CONSUMER_SECRET
scapi.tests.test_connect.CONSUMER_SECRET
scapi.tests.test_oauth.CONSUMER_SECRET" class="py-name" href="#" onclick="return doclink('link-93', 'CONSUMER_SECRET', 'link-11');">CONSUMER_SECRET</a></tt> <tt class="py-op">==</tt> <tt class="py-string">"consumer_secret"</tt> </tt>
<a name="L105"></a><tt class="py-lineno">105</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt id="link-94" class="py-name"><a title="scapi.tests.scapi_tests.SCAPITests.USER
scapi.tests.test_connect.USER" class="py-name" href="#" onclick="return doclink('link-94', 'USER', 'link-13');">USER</a></tt> <tt class="py-op">==</tt> <tt class="py-string">"user"</tt> <tt class="py-keyword">and</tt> <tt id="link-95" class="py-name"><a title="scapi.tests.scapi_tests.SCAPITests.PASSWORD
scapi.tests.test_connect.PASSWORD" class="py-name" href="#" onclick="return doclink('link-95', 'PASSWORD', 'link-14');">PASSWORD</a></tt> <tt class="py-op">==</tt> <tt class="py-string">"password"</tt> </tt>
<a name="L106"></a><tt class="py-lineno">106</tt> <tt class="py-line"> <tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py-name">chdir</tt><tt class="py-op">(</tt><tt class="py-name">oldcwd</tt><tt class="py-op">)</tt> </tt>
<a name="L107"></a><tt class="py-lineno">107</tt> <tt class="py-line"> <tt id="link-96" class="py-name"><a title="scapi.tests.test_connect.load_config" class="py-name" href="#" onclick="return doclink('link-96', 'load_config', 'link-88');">load_config</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
</div><a name="L108"></a><tt class="py-lineno">108</tt> <tt class="py-line"> </tt>
<a name="L109"></a><tt class="py-lineno">109</tt> <tt class="py-line"> </tt>
<a name="test_connect"></a><div id="test_connect-def"><a name="L110"></a><tt class="py-lineno">110</tt> <a class="py-toggle" href="#" id="test_connect-toggle" onclick="return toggle('test_connect');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="scapi.tests.test_connect-module.html#test_connect">test_connect</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="test_connect-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="test_connect-expanded"><a name="L111"></a><tt class="py-lineno">111</tt> <tt class="py-line"> <tt class="py-name">sca</tt> <tt class="py-op">=</tt> <tt id="link-97" class="py-name"><a title="scapi.tests.test_connect.ROOT" class="py-name" href="#" onclick="return doclink('link-97', 'ROOT', 'link-17');">ROOT</a></tt> </tt>
<a name="L112"></a><tt class="py-lineno">112</tt> <tt class="py-line"> <tt class="py-name">quite_a_few_users</tt> <tt class="py-op">=</tt> <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">itertools</tt><tt class="py-op">.</tt><tt class="py-name">islice</tt><tt class="py-op">(</tt><tt class="py-name">sca</tt><tt class="py-op">.</tt><tt class="py-name">users</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-number">127</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
<a name="L113"></a><tt class="py-lineno">113</tt> <tt class="py-line"> </tt>
<a name="L114"></a><tt class="py-lineno">114</tt> <tt class="py-line"> <tt id="link-98" class="py-name"><a title="scapi.authentication.logger
scapi.logger
scapi.tests.scapi_tests.logger
scapi.tests.test_connect.logger
scapi.tests.test_oauth.logger" class="py-name" href="#" onclick="return doclink('link-98', 'logger', 'link-3');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt><tt class="py-name">quite_a_few_users</tt><tt class="py-op">)</tt> </tt>
<a name="L115"></a><tt class="py-lineno">115</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">quite_a_few_users</tt><tt class="py-op">,</tt> <tt class="py-name">list</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">quite_a_few_users</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt id="link-99" class="py-name"><a title="scapi" class="py-name" href="#" onclick="return doclink('link-99', 'scapi', 'link-0');">scapi</a></tt><tt class="py-op">.</tt><tt id="link-100" class="py-name" targets="Class scapi.User=scapi.User-class.html"><a title="scapi.User" class="py-name" href="#" onclick="return doclink('link-100', 'User', 'link-100');">User</a></tt><tt class="py-op">)</tt> </tt>
<a name="L116"></a><tt class="py-lineno">116</tt> <tt class="py-line"> <tt class="py-name">user</tt> <tt class="py-op">=</tt> <tt class="py-name">sca</tt><tt class="py-op">.</tt><tt class="py-name">me</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L117"></a><tt class="py-lineno">117</tt> <tt class="py-line"> <tt id="link-101" class="py-name"><a title="scapi.authentication.logger
scapi.logger
scapi.tests.scapi_tests.logger
scapi.tests.test_connect.logger
scapi.tests.test_oauth.logger" class="py-name" href="#" onclick="return doclink('link-101', 'logger', 'link-3');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt><tt class="py-name">user</tt><tt class="py-op">)</tt> </tt>
<a name="L118"></a><tt class="py-lineno">118</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">user</tt><tt class="py-op">,</tt> <tt id="link-102" class="py-name"><a title="scapi" class="py-name" href="#" onclick="return doclink('link-102', 'scapi', 'link-0');">scapi</a></tt><tt class="py-op">.</tt><tt id="link-103" class="py-name"><a title="scapi.User" class="py-name" href="#" onclick="return doclink('link-103', 'User', 'link-100');">User</a></tt><tt class="py-op">)</tt> </tt>
<a name="L119"></a><tt class="py-lineno">119</tt> <tt class="py-line"> <tt class="py-name">contacts</tt> <tt class="py-op">=</tt> <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">user</tt><tt class="py-op">.</tt><tt class="py-name">contacts</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
<a name="L120"></a><tt class="py-lineno">120</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">contacts</tt><tt class="py-op">,</tt> <tt class="py-name">list</tt><tt class="py-op">)</tt> </tt>
<a name="L121"></a><tt class="py-lineno">121</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">contacts</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt id="link-104" class="py-name"><a title="scapi" class="py-name" href="#" onclick="return doclink('link-104', 'scapi', 'link-0');">scapi</a></tt><tt class="py-op">.</tt><tt id="link-105" class="py-name"><a title="scapi.User" class="py-name" href="#" onclick="return doclink('link-105', 'User', 'link-100');">User</a></tt><tt class="py-op">)</tt> </tt>
<a name="L122"></a><tt class="py-lineno">122</tt> <tt class="py-line"> <tt id="link-106" class="py-name"><a title="scapi.authentication.logger
scapi.logger
scapi.tests.scapi_tests.logger
scapi.tests.test_connect.logger
scapi.tests.test_oauth.logger" class="py-name" href="#" onclick="return doclink('link-106', 'logger', 'link-3');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt><tt class="py-name">contacts</tt><tt class="py-op">)</tt> </tt>
<a name="L123"></a><tt class="py-lineno">123</tt> <tt class="py-line"> <tt class="py-name">tracks</tt> <tt class="py-op">=</tt> <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">user</tt><tt class="py-op">.</tt><tt class="py-name">tracks</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
<a name="L124"></a><tt class="py-lineno">124</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">tracks</tt><tt class="py-op">,</tt> <tt class="py-name">list</tt><tt class="py-op">)</tt> </tt>
<a name="L125"></a><tt class="py-lineno">125</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">tracks</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt id="link-107" class="py-name"><a title="scapi" class="py-name" href="#" onclick="return doclink('link-107', 'scapi', 'link-0');">scapi</a></tt><tt class="py-op">.</tt><tt id="link-108" class="py-name" targets="Class scapi.Track=scapi.Track-class.html"><a title="scapi.Track" class="py-name" href="#" onclick="return doclink('link-108', 'Track', 'link-108');">Track</a></tt><tt class="py-op">)</tt> </tt>
<a name="L126"></a><tt class="py-lineno">126</tt> <tt class="py-line"> <tt id="link-109" class="py-name"><a title="scapi.authentication.logger
scapi.logger
scapi.tests.scapi_tests.logger
scapi.tests.test_connect.logger
scapi.tests.test_oauth.logger" class="py-name" href="#" onclick="return doclink('link-109', 'logger', 'link-3');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt><tt class="py-name">tracks</tt><tt class="py-op">)</tt> </tt>
</div><a name="L127"></a><tt class="py-lineno">127</tt> <tt class="py-line"> </tt>
<a name="L128"></a><tt class="py-lineno">128</tt> <tt class="py-line"> </tt>
<a name="test_access_token_acquisition"></a><div id="test_access_token_acquisition-def"><a name="L129"></a><tt class="py-lineno">129</tt> <a class="py-toggle" href="#" id="test_access_token_acquisition-toggle" onclick="return toggle('test_access_token_acquisition');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="scapi.tests.test_connect-module.html#test_access_token_acquisition">test_access_token_acquisition</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="test_access_token_acquisition-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="test_access_token_acquisition-expanded"><a name="L130"></a><tt class="py-lineno">130</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
<a name="L131"></a><tt class="py-lineno">131</tt> <tt class="py-line"><tt class="py-docstring"> This test is commented out because it needs user-interaction.</tt> </tt>
<a name="L132"></a><tt class="py-lineno">132</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
<a name="L133"></a><tt class="py-lineno">133</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt id="link-110" class="py-name"><a title="scapi.tests.scapi_tests.SCAPITests.RUN_INTERACTIVE_TESTS
scapi.tests.test_connect.RUN_INTERACTIVE_TESTS" class="py-name" href="#" onclick="return doclink('link-110', 'RUN_INTERACTIVE_TESTS', 'link-6');">RUN_INTERACTIVE_TESTS</a></tt><tt class="py-op">:</tt> </tt>
<a name="L134"></a><tt class="py-lineno">134</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> </tt>
<a name="L135"></a><tt class="py-lineno">135</tt> <tt class="py-line"> <tt class="py-name">oauth_authenticator</tt> <tt class="py-op">=</tt> <tt id="link-111" class="py-name"><a title="scapi" class="py-name" href="#" onclick="return doclink('link-111', 'scapi', 'link-0');">scapi</a></tt><tt class="py-op">.</tt><tt id="link-112" class="py-name"><a title="scapi.authentication" class="py-name" href="#" onclick="return doclink('link-112', 'authentication', 'link-2');">authentication</a></tt><tt class="py-op">.</tt><tt id="link-113" class="py-name"><a title="scapi.authentication.OAuthAuthenticator" class="py-name" href="#" onclick="return doclink('link-113', 'OAuthAuthenticator', 'link-27');">OAuthAuthenticator</a></tt><tt class="py-op">(</tt><tt id="link-114" class="py-name"><a title="scapi.tests.scapi_tests.SCAPITests.CONSUMER
scapi.tests.test_connect.CONSUMER
scapi.tests.test_oauth.CONSUMER" class="py-name" href="#" onclick="return doclink('link-114', 'CONSUMER', 'link-10');">CONSUMER</a></tt><tt class="py-op">,</tt> </tt>
<a name="L136"></a><tt class="py-lineno">136</tt> <tt class="py-line"> <tt id="link-115" class="py-name"><a title="scapi.tests.scapi_tests.SCAPITests.CONSUMER_SECRET
scapi.tests.test_connect.CONSUMER_SECRET
scapi.tests.test_oauth.CONSUMER_SECRET" class="py-name" href="#" onclick="return doclink('link-115', 'CONSUMER_SECRET', 'link-11');">CONSUMER_SECRET</a></tt><tt class="py-op">,</tt> </tt>
<a name="L137"></a><tt class="py-lineno">137</tt> <tt class="py-line"> <tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
<a name="L138"></a><tt class="py-lineno">138</tt> <tt class="py-line"> <tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
<a name="L139"></a><tt class="py-lineno">139</tt> <tt class="py-line"> </tt>
<a name="L140"></a><tt class="py-lineno">140</tt> <tt class="py-line"> <tt class="py-name">sca</tt> <tt class="py-op">=</tt> <tt id="link-116" class="py-name"><a title="scapi" class="py-name" href="#" onclick="return doclink('link-116', 'scapi', 'link-0');">scapi</a></tt><tt class="py-op">.</tt><tt id="link-117" class="py-name"><a title="scapi.ApiConnector" class="py-name" href="#" onclick="return doclink('link-117', 'ApiConnector', 'link-43');">ApiConnector</a></tt><tt class="py-op">(</tt><tt class="py-name">host</tt><tt class="py-op">=</tt><tt id="link-118" class="py-name"><a title="scapi.tests.scapi_tests.SCAPITests.API_HOST
scapi.tests.test_connect.API_HOST" class="py-name" href="#" onclick="return doclink('link-118', 'API_HOST', 'link-12');">API_HOST</a></tt><tt class="py-op">,</tt> <tt class="py-name">authenticator</tt><tt class="py-op">=</tt><tt class="py-name">oauth_authenticator</tt><tt class="py-op">)</tt> </tt>
<a name="L141"></a><tt class="py-lineno">141</tt> <tt class="py-line"> <tt class="py-name">token</tt><tt class="py-op">,</tt> <tt class="py-name">secret</tt> <tt class="py-op">=</tt> <tt class="py-name">sca</tt><tt class="py-op">.</tt><tt id="link-119" class="py-name" targets="Method scapi.ApiConnector.fetch_request_token()=scapi.ApiConnector-class.html#fetch_request_token"><a title="scapi.ApiConnector.fetch_request_token" class="py-name" href="#" onclick="return doclink('link-119', 'fetch_request_token', 'link-119');">fetch_request_token</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L142"></a><tt class="py-lineno">142</tt> <tt class="py-line"> <tt class="py-name">authorization_url</tt> <tt class="py-op">=</tt> <tt class="py-name">sca</tt><tt class="py-op">.</tt><tt id="link-120" class="py-name" targets="Method scapi.ApiConnector.get_request_token_authorization_url()=scapi.ApiConnector-class.html#get_request_token_authorization_url"><a title="scapi.ApiConnector.get_request_token_authorization_url" class="py-name" href="#" onclick="return doclink('link-120', 'get_request_token_authorization_url', 'link-120');">get_request_token_authorization_url</a></tt><tt class="py-op">(</tt><tt class="py-name">token</tt><tt class="py-op">)</tt> </tt>
<a name="L143"></a><tt class="py-lineno">143</tt> <tt class="py-line"> <tt class="py-name">webbrowser</tt><tt class="py-op">.</tt><tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">authorization_url</tt><tt class="py-op">)</tt> </tt>
<a name="L144"></a><tt class="py-lineno">144</tt> <tt class="py-line"> <tt class="py-name">raw_input</tt><tt class="py-op">(</tt><tt class="py-string">"please press return"</tt><tt class="py-op">)</tt> </tt>
<a name="L145"></a><tt class="py-lineno">145</tt> <tt class="py-line"> <tt class="py-name">oauth_authenticator</tt> <tt class="py-op">=</tt> <tt id="link-121" class="py-name"><a title="scapi" class="py-name" href="#" onclick="return doclink('link-121', 'scapi', 'link-0');">scapi</a></tt><tt class="py-op">.</tt><tt id="link-122" class="py-name"><a title="scapi.authentication" class="py-name" href="#" onclick="return doclink('link-122', 'authentication', 'link-2');">authentication</a></tt><tt class="py-op">.</tt><tt id="link-123" class="py-name"><a title="scapi.authentication.OAuthAuthenticator" class="py-name" href="#" onclick="return doclink('link-123', 'OAuthAuthenticator', 'link-27');">OAuthAuthenticator</a></tt><tt class="py-op">(</tt><tt id="link-124" class="py-name"><a title="scapi.tests.scapi_tests.SCAPITests.CONSUMER
scapi.tests.test_connect.CONSUMER
scapi.tests.test_oauth.CONSUMER" class="py-name" href="#" onclick="return doclink('link-124', 'CONSUMER', 'link-10');">CONSUMER</a></tt><tt class="py-op">,</tt> </tt>
<a name="L146"></a><tt class="py-lineno">146</tt> <tt class="py-line"> <tt id="link-125" class="py-name"><a title="scapi.tests.scapi_tests.SCAPITests.CONSUMER_SECRET
scapi.tests.test_connect.CONSUMER_SECRET
scapi.tests.test_oauth.CONSUMER_SECRET" class="py-name" href="#" onclick="return doclink('link-125', 'CONSUMER_SECRET', 'link-11');">CONSUMER_SECRET</a></tt><tt class="py-op">,</tt> </tt>
<a name="L147"></a><tt class="py-lineno">147</tt> <tt class="py-line"> <tt class="py-name">token</tt><tt class="py-op">,</tt> </tt>
<a name="L148"></a><tt class="py-lineno">148</tt> <tt class="py-line"> <tt class="py-name">secret</tt><tt class="py-op">)</tt> </tt>
<a name="L149"></a><tt class="py-lineno">149</tt> <tt class="py-line"> </tt>
<a name="L150"></a><tt class="py-lineno">150</tt> <tt class="py-line"> <tt class="py-name">sca</tt> <tt class="py-op">=</tt> <tt id="link-126" class="py-name"><a title="scapi" class="py-name" href="#" onclick="return doclink('link-126', 'scapi', 'link-0');">scapi</a></tt><tt class="py-op">.</tt><tt id="link-127" class="py-name"><a title="scapi.ApiConnector" class="py-name" href="#" onclick="return doclink('link-127', 'ApiConnector', 'link-43');">ApiConnector</a></tt><tt class="py-op">(</tt><tt id="link-128" class="py-name"><a title="scapi.tests.scapi_tests.SCAPITests.API_HOST
scapi.tests.test_connect.API_HOST" class="py-name" href="#" onclick="return doclink('link-128', 'API_HOST', 'link-12');">API_HOST</a></tt><tt class="py-op">,</tt> <tt class="py-name">authenticator</tt><tt class="py-op">=</tt><tt class="py-name">oauth_authenticator</tt><tt class="py-op">)</tt> </tt>
<a name="L151"></a><tt class="py-lineno">151</tt> <tt class="py-line"> <tt class="py-name">token</tt><tt class="py-op">,</tt> <tt class="py-name">secret</tt> <tt class="py-op">=</tt> <tt class="py-name">sca</tt><tt class="py-op">.</tt><tt id="link-129" class="py-name" targets="Method scapi.ApiConnector.fetch_access_token()=scapi.ApiConnector-class.html#fetch_access_token"><a title="scapi.ApiConnector.fetch_access_token" class="py-name" href="#" onclick="return doclink('link-129', 'fetch_access_token', 'link-129');">fetch_access_token</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L152"></a><tt class="py-lineno">152</tt> <tt class="py-line"> <tt id="link-130" class="py-name"><a title="scapi.authentication.logger
scapi.logger
scapi.tests.scapi_tests.logger
scapi.tests.test_connect.logger
scapi.tests.test_oauth.logger" class="py-name" href="#" onclick="return doclink('link-130', 'logger', 'link-3');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"Access token: '%s'"</tt><tt class="py-op">,</tt> <tt class="py-name">token</tt><tt class="py-op">)</tt> </tt>
<a name="L153"></a><tt class="py-lineno">153</tt> <tt class="py-line"> <tt id="link-131" class="py-name"><a title="scapi.authentication.logger
scapi.logger
scapi.tests.scapi_tests.logger
scapi.tests.test_connect.logger
scapi.tests.test_oauth.logger" class="py-name" href="#" onclick="return doclink('link-131', 'logger', 'link-3');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">info</tt><tt class="py-op">(</tt><tt class="py-string">"Access token secret: '%s'"</tt><tt class="py-op">,</tt> <tt class="py-name">secret</tt><tt class="py-op">)</tt> </tt>
<a name="L154"></a><tt class="py-lineno">154</tt> <tt class="py-line"> <tt class="py-name">oauth_authenticator</tt> <tt class="py-op">=</tt> <tt id="link-132" class="py-name"><a title="scapi" class="py-name" href="#" onclick="return doclink('link-132', 'scapi', 'link-0');">scapi</a></tt><tt class="py-op">.</tt><tt id="link-133" class="py-name"><a title="scapi.authentication" class="py-name" href="#" onclick="return doclink('link-133', 'authentication', 'link-2');">authentication</a></tt><tt class="py-op">.</tt><tt id="link-134" class="py-name"><a title="scapi.authentication.OAuthAuthenticator" class="py-name" href="#" onclick="return doclink('link-134', 'OAuthAuthenticator', 'link-27');">OAuthAuthenticator</a></tt><tt class="py-op">(</tt><tt id="link-135" class="py-name"><a title="scapi.tests.scapi_tests.SCAPITests.CONSUMER
scapi.tests.test_connect.CONSUMER
scapi.tests.test_oauth.CONSUMER" class="py-name" href="#" onclick="return doclink('link-135', 'CONSUMER', 'link-10');">CONSUMER</a></tt><tt class="py-op">,</tt> </tt>
<a name="L155"></a><tt class="py-lineno">155</tt> <tt class="py-line"> <tt id="link-136" class="py-name"><a title="scapi.tests.scapi_tests.SCAPITests.CONSUMER_SECRET
scapi.tests.test_connect.CONSUMER_SECRET
scapi.tests.test_oauth.CONSUMER_SECRET" class="py-name" href="#" onclick="return doclink('link-136', 'CONSUMER_SECRET', 'link-11');">CONSUMER_SECRET</a></tt><tt class="py-op">,</tt> </tt>
<a name="L156"></a><tt class="py-lineno">156</tt> <tt class="py-line"> <tt class="py-name">token</tt><tt class="py-op">,</tt> </tt>
<a name="L157"></a><tt class="py-lineno">157</tt> <tt class="py-line"> <tt class="py-name">secret</tt><tt class="py-op">)</tt> </tt>
<a name="L158"></a><tt class="py-lineno">158</tt> <tt class="py-line"> </tt>
<a name="L159"></a><tt class="py-lineno">159</tt> <tt class="py-line"> <tt class="py-name">sca</tt> <tt class="py-op">=</tt> <tt id="link-137" class="py-name"><a title="scapi" class="py-name" href="#" onclick="return doclink('link-137', 'scapi', 'link-0');">scapi</a></tt><tt class="py-op">.</tt><tt id="link-138" class="py-name"><a title="scapi.ApiConnector" class="py-name" href="#" onclick="return doclink('link-138', 'ApiConnector', 'link-43');">ApiConnector</a></tt><tt class="py-op">(</tt><tt id="link-139" class="py-name"><a title="scapi.tests.scapi_tests.SCAPITests.API_HOST
scapi.tests.test_connect.API_HOST" class="py-name" href="#" onclick="return doclink('link-139', 'API_HOST', 'link-12');">API_HOST</a></tt><tt class="py-op">,</tt> <tt class="py-name">authenticator</tt><tt class="py-op">=</tt><tt class="py-name">oauth_authenticator</tt><tt class="py-op">)</tt> </tt>
<a name="L160"></a><tt class="py-lineno">160</tt> <tt class="py-line"> <tt id="link-140" class="py-name" targets="Method scapi.tests.scapi_tests.SCAPITests.test_track_creation()=scapi.tests.scapi_tests.SCAPITests-class.html#test_track_creation,Function scapi.tests.test_connect.test_track_creation()=scapi.tests.test_connect-module.html#test_track_creation"><a title="scapi.tests.scapi_tests.SCAPITests.test_track_creation
scapi.tests.test_connect.test_track_creation" class="py-name" href="#" onclick="return doclink('link-140', 'test_track_creation', 'link-140');">test_track_creation</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
</div><a name="L161"></a><tt class="py-lineno">161</tt> <tt class="py-line"> </tt>
<a name="test_track_creation"></a><div id="test_track_creation-def"><a name="L162"></a><tt class="py-lineno">162</tt> <a class="py-toggle" href="#" id="test_track_creation-toggle" onclick="return toggle('test_track_creation');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="scapi.tests.test_connect-module.html#test_track_creation">test_track_creation</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="test_track_creation-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="test_track_creation-expanded"><a name="L163"></a><tt class="py-lineno">163</tt> <tt class="py-line"> <tt class="py-name">sca</tt> <tt class="py-op">=</tt> <tt id="link-141" class="py-name"><a title="scapi.tests.test_connect.ROOT" class="py-name" href="#" onclick="return doclink('link-141', 'ROOT', 'link-17');">ROOT</a></tt> </tt>
<a name="L164"></a><tt class="py-lineno">164</tt> <tt class="py-line"> <tt class="py-name">track</tt> <tt class="py-op">=</tt> <tt class="py-name">sca</tt><tt class="py-op">.</tt><tt id="link-142" class="py-name"><a title="scapi.Track" class="py-name" href="#" onclick="return doclink('link-142', 'Track', 'link-108');">Track</a></tt><tt class="py-op">.</tt><tt id="link-143" class="py-name" targets="Class Method scapi.RESTBase.new()=scapi.RESTBase-class.html#new"><a title="scapi.RESTBase.new" class="py-name" href="#" onclick="return doclink('link-143', 'new', 'link-143');">new</a></tt><tt class="py-op">(</tt><tt class="py-name">title</tt><tt class="py-op">=</tt><tt class="py-string">'bar'</tt><tt class="py-op">)</tt> </tt>
<a name="L165"></a><tt class="py-lineno">165</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">track</tt><tt class="py-op">,</tt> <tt id="link-144" class="py-name"><a title="scapi" class="py-name" href="#" onclick="return doclink('link-144', 'scapi', 'link-0');">scapi</a></tt><tt class="py-op">.</tt><tt id="link-145" class="py-name"><a title="scapi.Track" class="py-name" href="#" onclick="return doclink('link-145', 'Track', 'link-108');">Track</a></tt><tt class="py-op">)</tt> </tt>
</div><a name="L166"></a><tt class="py-lineno">166</tt> <tt class="py-line"> </tt>
<a name="test_track_update"></a><div id="test_track_update-def"><a name="L167"></a><tt class="py-lineno">167</tt> <a class="py-toggle" href="#" id="test_track_update-toggle" onclick="return toggle('test_track_update');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="scapi.tests.test_connect-module.html#test_track_update">test_track_update</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="test_track_update-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="test_track_update-expanded"><a name="L168"></a><tt class="py-lineno">168</tt> <tt class="py-line"> <tt class="py-name">sca</tt> <tt class="py-op">=</tt> <tt id="link-146" class="py-name"><a title="scapi.tests.test_connect.ROOT" class="py-name" href="#" onclick="return doclink('link-146', 'ROOT', 'link-17');">ROOT</a></tt> </tt>
<a name="L169"></a><tt class="py-lineno">169</tt> <tt class="py-line"> <tt class="py-name">track</tt> <tt class="py-op">=</tt> <tt class="py-name">sca</tt><tt class="py-op">.</tt><tt id="link-147" class="py-name"><a title="scapi.Track" class="py-name" href="#" onclick="return doclink('link-147', 'Track', 'link-108');">Track</a></tt><tt class="py-op">.</tt><tt id="link-148" class="py-name"><a title="scapi.RESTBase.new" class="py-name" href="#" onclick="return doclink('link-148', 'new', 'link-143');">new</a></tt><tt class="py-op">(</tt><tt class="py-name">title</tt><tt class="py-op">=</tt><tt class="py-string">'bar'</tt><tt class="py-op">)</tt> </tt>
<a name="L170"></a><tt class="py-lineno">170</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">track</tt><tt class="py-op">,</tt> <tt id="link-149" class="py-name"><a title="scapi" class="py-name" href="#" onclick="return doclink('link-149', 'scapi', 'link-0');">scapi</a></tt><tt class="py-op">.</tt><tt id="link-150" class="py-name"><a title="scapi.Track" class="py-name" href="#" onclick="return doclink('link-150', 'Track', 'link-108');">Track</a></tt><tt class="py-op">)</tt> </tt>
<a name="L171"></a><tt class="py-lineno">171</tt> <tt class="py-line"> <tt class="py-name">track</tt><tt class="py-op">.</tt><tt class="py-name">title</tt><tt class="py-op">=</tt><tt class="py-string">'baz'</tt> </tt>
<a name="L172"></a><tt class="py-lineno">172</tt> <tt class="py-line"> <tt class="py-name">track</tt> <tt class="py-op">=</tt> <tt class="py-name">sca</tt><tt class="py-op">.</tt><tt id="link-151" class="py-name"><a title="scapi.Track" class="py-name" href="#" onclick="return doclink('link-151', 'Track', 'link-108');">Track</a></tt><tt class="py-op">.</tt><tt id="link-152" class="py-name"><a title="scapi.RESTBase.get" class="py-name" href="#" onclick="return doclink('link-152', 'get', 'link-59');">get</a></tt><tt class="py-op">(</tt><tt class="py-name">track</tt><tt class="py-op">.</tt><tt class="py-name">id</tt><tt class="py-op">)</tt> </tt>
<a name="L173"></a><tt class="py-lineno">173</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-name">track</tt><tt class="py-op">.</tt><tt class="py-name">title</tt> <tt class="py-op">==</tt> <tt class="py-string">"baz"</tt> </tt>
</div><a name="L174"></a><tt class="py-lineno">174</tt> <tt class="py-line"> </tt>
<a name="test_scoped_track_creation"></a><div id="test_scoped_track_creation-def"><a name="L175"></a><tt class="py-lineno">175</tt> <a class="py-toggle" href="#" id="test_scoped_track_creation-toggle" onclick="return toggle('test_scoped_track_creation');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="scapi.tests.test_connect-module.html#test_scoped_track_creation">test_scoped_track_creation</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="test_scoped_track_creation-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="test_scoped_track_creation-expanded"><a name="L176"></a><tt class="py-lineno">176</tt> <tt class="py-line"> <tt class="py-name">sca</tt> <tt class="py-op">=</tt> <tt id="link-153" class="py-name"><a title="scapi.tests.test_connect.ROOT" class="py-name" href="#" onclick="return doclink('link-153', 'ROOT', 'link-17');">ROOT</a></tt> </tt>
<a name="L177"></a><tt class="py-lineno">177</tt> <tt class="py-line"> <tt class="py-name">user</tt> <tt class="py-op">=</tt> <tt class="py-name">sca</tt><tt class="py-op">.</tt><tt class="py-name">me</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L178"></a><tt class="py-lineno">178</tt> <tt class="py-line"> <tt class="py-name">track</tt> <tt class="py-op">=</tt> <tt class="py-name">user</tt><tt class="py-op">.</tt><tt class="py-name">tracks</tt><tt class="py-op">.</tt><tt id="link-154" class="py-name"><a title="scapi.RESTBase.new" class="py-name" href="#" onclick="return doclink('link-154', 'new', 'link-143');">new</a></tt><tt class="py-op">(</tt><tt class="py-name">title</tt><tt class="py-op">=</tt><tt class="py-string">"bar"</tt><tt class="py-op">)</tt> </tt>
<a name="L179"></a><tt class="py-lineno">179</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">track</tt><tt class="py-op">,</tt> <tt id="link-155" class="py-name"><a title="scapi" class="py-name" href="#" onclick="return doclink('link-155', 'scapi', 'link-0');">scapi</a></tt><tt class="py-op">.</tt><tt id="link-156" class="py-name"><a title="scapi.Track" class="py-name" href="#" onclick="return doclink('link-156', 'Track', 'link-108');">Track</a></tt><tt class="py-op">)</tt> </tt>
</div><a name="L180"></a><tt class="py-lineno">180</tt> <tt class="py-line"> </tt>
<a name="test_upload"></a><div id="test_upload-def"><a name="L181"></a><tt class="py-lineno">181</tt> <a class="py-toggle" href="#" id="test_upload-toggle" onclick="return toggle('test_upload');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="scapi.tests.test_connect-module.html#test_upload">test_upload</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="test_upload-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="test_upload-expanded"><a name="L182"></a><tt class="py-lineno">182</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-name">pkg_resources</tt><tt class="py-op">.</tt><tt class="py-name">resource_exists</tt><tt class="py-op">(</tt><tt class="py-string">"scapi.tests.test_connect"</tt><tt class="py-op">,</tt> <tt class="py-string">"knaster.mp3"</tt><tt class="py-op">)</tt> </tt>
<a name="L183"></a><tt class="py-lineno">183</tt> <tt class="py-line"> <tt class="py-name">data</tt> <tt class="py-op">=</tt> <tt class="py-name">pkg_resources</tt><tt class="py-op">.</tt><tt class="py-name">resource_stream</tt><tt class="py-op">(</tt><tt class="py-string">"scapi.tests.test_connect"</tt><tt class="py-op">,</tt> <tt class="py-string">"knaster.mp3"</tt><tt class="py-op">)</tt> </tt>
<a name="L184"></a><tt class="py-lineno">184</tt> <tt class="py-line"> <tt class="py-name">sca</tt> <tt class="py-op">=</tt> <tt id="link-157" class="py-name"><a title="scapi.tests.test_connect.ROOT" class="py-name" href="#" onclick="return doclink('link-157', 'ROOT', 'link-17');">ROOT</a></tt> </tt>
<a name="L185"></a><tt class="py-lineno">185</tt> <tt class="py-line"> <tt class="py-name">user</tt> <tt class="py-op">=</tt> <tt class="py-name">sca</tt><tt class="py-op">.</tt><tt class="py-name">me</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L186"></a><tt class="py-lineno">186</tt> <tt class="py-line"> <tt id="link-158" class="py-name"><a title="scapi.authentication.logger
scapi.logger
scapi.tests.scapi_tests.logger
scapi.tests.test_connect.logger
scapi.tests.test_oauth.logger" class="py-name" href="#" onclick="return doclink('link-158', 'logger', 'link-3');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt><tt class="py-name">user</tt><tt class="py-op">)</tt> </tt>
<a name="L187"></a><tt class="py-lineno">187</tt> <tt class="py-line"> <tt class="py-name">asset</tt> <tt class="py-op">=</tt> <tt class="py-name">sca</tt><tt class="py-op">.</tt><tt class="py-name">assets</tt><tt class="py-op">.</tt><tt id="link-159" class="py-name"><a title="scapi.RESTBase.new" class="py-name" href="#" onclick="return doclink('link-159', 'new', 'link-143');">new</a></tt><tt class="py-op">(</tt><tt class="py-name">filedata</tt><tt class="py-op">=</tt><tt class="py-name">data</tt><tt class="py-op">)</tt> </tt>
<a name="L188"></a><tt class="py-lineno">188</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">asset</tt><tt class="py-op">,</tt> <tt id="link-160" class="py-name"><a title="scapi" class="py-name" href="#" onclick="return doclink('link-160', 'scapi', 'link-0');">scapi</a></tt><tt class="py-op">.</tt><tt class="py-name">Asset</tt><tt class="py-op">)</tt> </tt>
<a name="L189"></a><tt class="py-lineno">189</tt> <tt class="py-line"> <tt id="link-161" class="py-name"><a title="scapi.authentication.logger
scapi.logger
scapi.tests.scapi_tests.logger
scapi.tests.test_connect.logger
scapi.tests.test_oauth.logger" class="py-name" href="#" onclick="return doclink('link-161', 'logger', 'link-3');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt><tt class="py-name">asset</tt><tt class="py-op">)</tt> </tt>
<a name="L190"></a><tt class="py-lineno">190</tt> <tt class="py-line"> <tt class="py-name">tracks</tt> <tt class="py-op">=</tt> <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">user</tt><tt class="py-op">.</tt><tt class="py-name">tracks</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
<a name="L191"></a><tt class="py-lineno">191</tt> <tt class="py-line"> <tt class="py-name">track</tt> <tt class="py-op">=</tt> <tt class="py-name">tracks</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt>
<a name="L192"></a><tt class="py-lineno">192</tt> <tt class="py-line"> <tt class="py-name">track</tt><tt class="py-op">.</tt><tt class="py-name">assets</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">asset</tt><tt class="py-op">)</tt> </tt>
</div><a name="L193"></a><tt class="py-lineno">193</tt> <tt class="py-line"> </tt>
<a name="test_contact_list"></a><div id="test_contact_list-def"><a name="L194"></a><tt class="py-lineno">194</tt> <a class="py-toggle" href="#" id="test_contact_list-toggle" onclick="return toggle('test_contact_list');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="scapi.tests.test_connect-module.html#test_contact_list">test_contact_list</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="test_contact_list-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="test_contact_list-expanded"><a name="L195"></a><tt class="py-lineno">195</tt> <tt class="py-line"> <tt class="py-name">sca</tt> <tt class="py-op">=</tt> <tt id="link-162" class="py-name"><a title="scapi.tests.test_connect.ROOT" class="py-name" href="#" onclick="return doclink('link-162', 'ROOT', 'link-17');">ROOT</a></tt> </tt>
<a name="L196"></a><tt class="py-lineno">196</tt> <tt class="py-line"> <tt class="py-name">user</tt> <tt class="py-op">=</tt> <tt class="py-name">sca</tt><tt class="py-op">.</tt><tt class="py-name">me</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L197"></a><tt class="py-lineno">197</tt> <tt class="py-line"> <tt class="py-name">contacts</tt> <tt class="py-op">=</tt> <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">user</tt><tt class="py-op">.</tt><tt class="py-name">contacts</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
<a name="L198"></a><tt class="py-lineno">198</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">contacts</tt><tt class="py-op">,</tt> <tt class="py-name">list</tt><tt class="py-op">)</tt> </tt>
<a name="L199"></a><tt class="py-lineno">199</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">contacts</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt id="link-163" class="py-name"><a title="scapi" class="py-name" href="#" onclick="return doclink('link-163', 'scapi', 'link-0');">scapi</a></tt><tt class="py-op">.</tt><tt id="link-164" class="py-name"><a title="scapi.User" class="py-name" href="#" onclick="return doclink('link-164', 'User', 'link-100');">User</a></tt><tt class="py-op">)</tt> </tt>
</div><a name="L200"></a><tt class="py-lineno">200</tt> <tt class="py-line"> </tt>
<a name="test_permissions"></a><div id="test_permissions-def"><a name="L201"></a><tt class="py-lineno">201</tt> <a class="py-toggle" href="#" id="test_permissions-toggle" onclick="return toggle('test_permissions');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="scapi.tests.test_connect-module.html#test_permissions">test_permissions</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="test_permissions-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="test_permissions-expanded"><a name="L202"></a><tt class="py-lineno">202</tt> <tt class="py-line"> <tt class="py-name">sca</tt> <tt class="py-op">=</tt> <tt id="link-165" class="py-name"><a title="scapi.tests.test_connect.ROOT" class="py-name" href="#" onclick="return doclink('link-165', 'ROOT', 'link-17');">ROOT</a></tt> </tt>
<a name="L203"></a><tt class="py-lineno">203</tt> <tt class="py-line"> <tt class="py-name">user</tt> <tt class="py-op">=</tt> <tt class="py-name">sca</tt><tt class="py-op">.</tt><tt class="py-name">me</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L204"></a><tt class="py-lineno">204</tt> <tt class="py-line"> <tt class="py-name">tracks</tt> <tt class="py-op">=</tt> <tt class="py-name">itertools</tt><tt class="py-op">.</tt><tt class="py-name">islice</tt><tt class="py-op">(</tt><tt class="py-name">user</tt><tt class="py-op">.</tt><tt class="py-name">tracks</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
<a name="L205"></a><tt class="py-lineno">205</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">track</tt> <tt class="py-keyword">in</tt> <tt class="py-name">tracks</tt><tt class="py-op">:</tt> </tt>
<a name="L206"></a><tt class="py-lineno">206</tt> <tt class="py-line"> <tt class="py-name">permissions</tt> <tt class="py-op">=</tt> <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">track</tt><tt class="py-op">.</tt><tt class="py-name">permissions</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
<a name="L207"></a><tt class="py-lineno">207</tt> <tt class="py-line"> <tt id="link-166" class="py-name"><a title="scapi.authentication.logger
scapi.logger
scapi.tests.scapi_tests.logger
scapi.tests.test_connect.logger
scapi.tests.test_oauth.logger" class="py-name" href="#" onclick="return doclink('link-166', 'logger', 'link-3');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">debug</tt><tt class="py-op">(</tt><tt class="py-name">permissions</tt><tt class="py-op">)</tt> </tt>
<a name="L208"></a><tt class="py-lineno">208</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">permissions</tt><tt class="py-op">,</tt> <tt class="py-name">list</tt><tt class="py-op">)</tt> </tt>
<a name="L209"></a><tt class="py-lineno">209</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">permissions</tt><tt class="py-op">:</tt> </tt>
<a name="L210"></a><tt class="py-lineno">210</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">permissions</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt id="link-167" class="py-name"><a title="scapi" class="py-name" href="#" onclick="return doclink('link-167', 'scapi', 'link-0');">scapi</a></tt><tt class="py-op">.</tt><tt id="link-168" class="py-name"><a title="scapi.User" class="py-name" href="#" onclick="return doclink('link-168', 'User', 'link-100');">User</a></tt><tt class="py-op">)</tt> </tt>
</div><a name="L211"></a><tt class="py-lineno">211</tt> <tt class="py-line"> </tt>
<a name="test_setting_permissions"></a><div id="test_setting_permissions-def"><a name="L212"></a><tt class="py-lineno">212</tt> <a class="py-toggle" href="#" id="test_setting_permissions-toggle" onclick="return toggle('test_setting_permissions');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="scapi.tests.test_connect-module.html#test_setting_permissions">test_setting_permissions</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="test_setting_permissions-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="test_setting_permissions-expanded"><a name="L213"></a><tt class="py-lineno">213</tt> <tt class="py-line"> <tt class="py-name">sca</tt> <tt class="py-op">=</tt> <tt id="link-169" class="py-name"><a title="scapi.tests.test_connect.ROOT" class="py-name" href="#" onclick="return doclink('link-169', 'ROOT', 'link-17');">ROOT</a></tt> </tt>
<a name="L214"></a><tt class="py-lineno">214</tt> <tt class="py-line"> <tt class="py-name">me</tt> <tt class="py-op">=</tt> <tt class="py-name">sca</tt><tt class="py-op">.</tt><tt class="py-name">me</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L215"></a><tt class="py-lineno">215</tt> <tt class="py-line"> <tt class="py-name">track</tt> <tt class="py-op">=</tt> <tt class="py-name">sca</tt><tt class="py-op">.</tt><tt id="link-170" class="py-name"><a title="scapi.Track" class="py-name" href="#" onclick="return doclink('link-170', 'Track', 'link-108');">Track</a></tt><tt class="py-op">.</tt><tt id="link-171" class="py-name"><a title="scapi.RESTBase.new" class="py-name" href="#" onclick="return doclink('link-171', 'new', 'link-143');">new</a></tt><tt class="py-op">(</tt><tt class="py-name">title</tt><tt class="py-op">=</tt><tt class="py-string">'bar'</tt><tt class="py-op">,</tt> <tt class="py-name">sharing</tt><tt class="py-op">=</tt><tt class="py-string">"private"</tt><tt class="py-op">)</tt> </tt>
<a name="L216"></a><tt class="py-lineno">216</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-name">track</tt><tt class="py-op">.</tt><tt class="py-name">sharing</tt> <tt class="py-op">==</tt> <tt class="py-string">"private"</tt> </tt>
<a name="L217"></a><tt class="py-lineno">217</tt> <tt class="py-line"> <tt class="py-name">users</tt> <tt class="py-op">=</tt> <tt class="py-name">itertools</tt><tt class="py-op">.</tt><tt class="py-name">islice</tt><tt class="py-op">(</tt><tt class="py-name">sca</tt><tt class="py-op">.</tt><tt class="py-name">users</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-number">10</tt><tt class="py-op">)</tt> </tt>
<a name="L218"></a><tt class="py-lineno">218</tt> <tt class="py-line"> <tt class="py-name">users_to_set</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">user</tt> <tt class="py-keyword">for</tt> <tt class="py-name">user</tt> <tt class="py-keyword">in</tt> <tt class="py-name">users</tt> <tt class="py-keyword">if</tt> <tt class="py-name">user</tt> <tt class="py-op">!=</tt> <tt class="py-name">me</tt><tt class="py-op">]</tt> </tt>
<a name="L219"></a><tt class="py-lineno">219</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-name">users_to_set</tt><tt class="py-op">,</tt> <tt class="py-string">"Didn't find any suitable users"</tt> </tt>
<a name="L220"></a><tt class="py-lineno">220</tt> <tt class="py-line"> <tt class="py-name">track</tt><tt class="py-op">.</tt><tt class="py-name">permissions</tt> <tt class="py-op">=</tt> <tt class="py-name">users_to_set</tt> </tt>
<a name="L221"></a><tt class="py-lineno">221</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-name">set</tt><tt class="py-op">(</tt><tt class="py-name">track</tt><tt class="py-op">.</tt><tt class="py-name">permissions</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-name">set</tt><tt class="py-op">(</tt><tt class="py-name">users_to_set</tt><tt class="py-op">)</tt> </tt>
</div><a name="L222"></a><tt class="py-lineno">222</tt> <tt class="py-line"> </tt>
<a name="test_setting_comments"></a><div id="test_setting_comments-def"><a name="L223"></a><tt class="py-lineno">223</tt> <a class="py-toggle" href="#" id="test_setting_comments-toggle" onclick="return toggle('test_setting_comments');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="scapi.tests.test_connect-module.html#test_setting_comments">test_setting_comments</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="test_setting_comments-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="test_setting_comments-expanded"><a name="L224"></a><tt class="py-lineno">224</tt> <tt class="py-line"> <tt class="py-name">sca</tt> <tt class="py-op">=</tt> <tt id="link-172" class="py-name"><a title="scapi.tests.test_connect.ROOT" class="py-name" href="#" onclick="return doclink('link-172', 'ROOT', 'link-17');">ROOT</a></tt> </tt>
<a name="L225"></a><tt class="py-lineno">225</tt> <tt class="py-line"> <tt class="py-name">user</tt> <tt class="py-op">=</tt> <tt class="py-name">sca</tt><tt class="py-op">.</tt><tt class="py-name">me</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L226"></a><tt class="py-lineno">226</tt> <tt class="py-line"> <tt class="py-name">track</tt> <tt class="py-op">=</tt> <tt class="py-name">sca</tt><tt class="py-op">.</tt><tt id="link-173" class="py-name"><a title="scapi.Track" class="py-name" href="#" onclick="return doclink('link-173', 'Track', 'link-108');">Track</a></tt><tt class="py-op">.</tt><tt id="link-174" class="py-name"><a title="scapi.RESTBase.new" class="py-name" href="#" onclick="return doclink('link-174', 'new', 'link-143');">new</a></tt><tt class="py-op">(</tt><tt class="py-name">title</tt><tt class="py-op">=</tt><tt class="py-string">'bar'</tt><tt class="py-op">,</tt> <tt class="py-name">sharing</tt><tt class="py-op">=</tt><tt class="py-string">"private"</tt><tt class="py-op">)</tt> </tt>
<a name="L227"></a><tt class="py-lineno">227</tt> <tt class="py-line"> <tt class="py-name">comment</tt> <tt class="py-op">=</tt> <tt class="py-name">sca</tt><tt class="py-op">.</tt><tt id="link-175" class="py-name" targets="Class scapi.Comment=scapi.Comment-class.html"><a title="scapi.Comment" class="py-name" href="#" onclick="return doclink('link-175', 'Comment', 'link-175');">Comment</a></tt><tt class="py-op">.</tt><tt id="link-176" class="py-name" targets="Class Method scapi.RESTBase.create()=scapi.RESTBase-class.html#create"><a title="scapi.RESTBase.create" class="py-name" href="#" onclick="return doclink('link-176', 'create', 'link-176');">create</a></tt><tt class="py-op">(</tt><tt class="py-name">body</tt><tt class="py-op">=</tt><tt class="py-string">"This is the body of my comment"</tt><tt class="py-op">,</tt> <tt class="py-name">timestamp</tt><tt class="py-op">=</tt><tt class="py-number">10</tt><tt class="py-op">)</tt> </tt>
<a name="L228"></a><tt class="py-lineno">228</tt> <tt class="py-line"> <tt class="py-name">track</tt><tt class="py-op">.</tt><tt class="py-name">comments</tt> <tt class="py-op">=</tt> <tt class="py-name">comment</tt> </tt>
<a name="L229"></a><tt class="py-lineno">229</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-name">track</tt><tt class="py-op">.</tt><tt class="py-name">comments</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-177" class="py-name" targets="Method scapi.json._StringGenerator.next()=scapi.json._StringGenerator-class.html#next"><a title="scapi.json._StringGenerator.next" class="py-name" href="#" onclick="return doclink('link-177', 'next', 'link-177');">next</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">body</tt> <tt class="py-op">==</tt> <tt class="py-name">comment</tt><tt class="py-op">.</tt><tt class="py-name">body</tt> </tt>
</div><a name="L230"></a><tt class="py-lineno">230</tt> <tt class="py-line"> </tt>
<a name="L231"></a><tt class="py-lineno">231</tt> <tt class="py-line"> </tt>
<a name="test_setting_comments_the_way_shawn_says_its_correct"></a><div id="test_setting_comments_the_way_shawn_says_its_correct-def"><a name="L232"></a><tt class="py-lineno">232</tt> <a class="py-toggle" href="#" id="test_setting_comments_the_way_shawn_says_its_correct-toggle" onclick="return toggle('test_setting_comments_the_way_shawn_says_its_correct');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="scapi.tests.test_connect-module.html#test_setting_comments_the_way_shawn_says_its_correct">test_setting_comments_the_way_shawn_says_its_correct</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="test_setting_comments_the_way_shawn_says_its_correct-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="test_setting_comments_the_way_shawn_says_its_correct-expanded"><a name="L233"></a><tt class="py-lineno">233</tt> <tt class="py-line"> <tt class="py-name">sca</tt> <tt class="py-op">=</tt> <tt id="link-178" class="py-name"><a title="scapi.tests.test_connect.ROOT" class="py-name" href="#" onclick="return doclink('link-178', 'ROOT', 'link-17');">ROOT</a></tt> </tt>
<a name="L234"></a><tt class="py-lineno">234</tt> <tt class="py-line"> <tt class="py-name">track</tt> <tt class="py-op">=</tt> <tt class="py-name">sca</tt><tt class="py-op">.</tt><tt id="link-179" class="py-name"><a title="scapi.Track" class="py-name" href="#" onclick="return doclink('link-179', 'Track', 'link-108');">Track</a></tt><tt class="py-op">.</tt><tt id="link-180" class="py-name"><a title="scapi.RESTBase.new" class="py-name" href="#" onclick="return doclink('link-180', 'new', 'link-143');">new</a></tt><tt class="py-op">(</tt><tt class="py-name">title</tt><tt class="py-op">=</tt><tt class="py-string">'bar'</tt><tt class="py-op">,</tt> <tt class="py-name">sharing</tt><tt class="py-op">=</tt><tt class="py-string">"private"</tt><tt class="py-op">)</tt> </tt>
<a name="L235"></a><tt class="py-lineno">235</tt> <tt class="py-line"> <tt class="py-name">cbody</tt> <tt class="py-op">=</tt> <tt class="py-string">"This is the body of my comment"</tt> </tt>
<a name="L236"></a><tt class="py-lineno">236</tt> <tt class="py-line"> <tt class="py-name">track</tt><tt class="py-op">.</tt><tt class="py-name">comments</tt><tt class="py-op">.</tt><tt id="link-181" class="py-name"><a title="scapi.RESTBase.new" class="py-name" href="#" onclick="return doclink('link-181', 'new', 'link-143');">new</a></tt><tt class="py-op">(</tt><tt class="py-name">body</tt><tt class="py-op">=</tt><tt class="py-name">cbody</tt><tt class="py-op">,</tt> <tt class="py-name">timestamp</tt><tt class="py-op">=</tt><tt class="py-number">10</tt><tt class="py-op">)</tt> </tt>
<a name="L237"></a><tt class="py-lineno">237</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">track</tt><tt class="py-op">.</tt><tt class="py-name">comments</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">body</tt> <tt class="py-op">==</tt> <tt class="py-name">cbody</tt> </tt>
</div><a name="L238"></a><tt class="py-lineno">238</tt> <tt class="py-line"> </tt>
<a name="test_contact_add_and_removal"></a><div id="test_contact_add_and_removal-def"><a name="L239"></a><tt class="py-lineno">239</tt> <a class="py-toggle" href="#" id="test_contact_add_and_removal-toggle" onclick="return toggle('test_contact_add_and_removal');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="scapi.tests.test_connect-module.html#test_contact_add_and_removal">test_contact_add_and_removal</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="test_contact_add_and_removal-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="test_contact_add_and_removal-expanded"><a name="L240"></a><tt class="py-lineno">240</tt> <tt class="py-line"> <tt class="py-name">sca</tt> <tt class="py-op">=</tt> <tt id="link-182" class="py-name"><a title="scapi.tests.test_connect.ROOT" class="py-name" href="#" onclick="return doclink('link-182', 'ROOT', 'link-17');">ROOT</a></tt> </tt>
<a name="L241"></a><tt class="py-lineno">241</tt> <tt class="py-line"> <tt class="py-name">me</tt> <tt class="py-op">=</tt> <tt class="py-name">sca</tt><tt class="py-op">.</tt><tt class="py-name">me</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L242"></a><tt class="py-lineno">242</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">user</tt> <tt class="py-keyword">in</tt> <tt class="py-name">sca</tt><tt class="py-op">.</tt><tt class="py-name">users</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L243"></a><tt class="py-lineno">243</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">user</tt> <tt class="py-op">!=</tt> <tt class="py-name">me</tt><tt class="py-op">:</tt> </tt>
<a name="L244"></a><tt class="py-lineno">244</tt> <tt class="py-line"> <tt class="py-name">user_to_set</tt> <tt class="py-op">=</tt> <tt class="py-name">user</tt> </tt>
<a name="L245"></a><tt class="py-lineno">245</tt> <tt class="py-line"> <tt class="py-keyword">break</tt> </tt>
<a name="L246"></a><tt class="py-lineno">246</tt> <tt class="py-line"> </tt>
<a name="L247"></a><tt class="py-lineno">247</tt> <tt class="py-line"> <tt class="py-name">contacts</tt> <tt class="py-op">=</tt> <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">me</tt><tt class="py-op">.</tt><tt class="py-name">contacts</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
<a name="L248"></a><tt class="py-lineno">248</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">user_to_set</tt> <tt class="py-keyword">in</tt> <tt class="py-name">contacts</tt><tt class="py-op">:</tt> </tt>
<a name="L249"></a><tt class="py-lineno">249</tt> <tt class="py-line"> <tt class="py-name">me</tt><tt class="py-op">.</tt><tt class="py-name">contacts</tt><tt class="py-op">.</tt><tt class="py-name">remove</tt><tt class="py-op">(</tt><tt class="py-name">user_to_set</tt><tt class="py-op">)</tt> </tt>
<a name="L250"></a><tt class="py-lineno">250</tt> <tt class="py-line"> </tt>
<a name="L251"></a><tt class="py-lineno">251</tt> <tt class="py-line"> <tt class="py-name">me</tt><tt class="py-op">.</tt><tt class="py-name">contacts</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">user_to_set</tt><tt class="py-op">)</tt> </tt>
<a name="L252"></a><tt class="py-lineno">252</tt> <tt class="py-line"> </tt>
<a name="L253"></a><tt class="py-lineno">253</tt> <tt class="py-line"> <tt class="py-name">contacts</tt> <tt class="py-op">=</tt> <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">me</tt><tt class="py-op">.</tt><tt class="py-name">contacts</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
<a name="L254"></a><tt class="py-lineno">254</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-name">user_to_set</tt><tt class="py-op">.</tt><tt class="py-name">id</tt> <tt class="py-keyword">in</tt> <tt class="py-op">[</tt><tt class="py-name">c</tt><tt class="py-op">.</tt><tt class="py-name">id</tt> <tt class="py-keyword">for</tt> <tt class="py-name">c</tt> <tt class="py-keyword">in</tt> <tt class="py-name">contacts</tt><tt class="py-op">]</tt> </tt>
<a name="L255"></a><tt class="py-lineno">255</tt> <tt class="py-line"> </tt>
<a name="L256"></a><tt class="py-lineno">256</tt> <tt class="py-line"> <tt class="py-name">me</tt><tt class="py-op">.</tt><tt class="py-name">contacts</tt><tt class="py-op">.</tt><tt class="py-name">remove</tt><tt class="py-op">(</tt><tt class="py-name">user_to_set</tt><tt class="py-op">)</tt> </tt>
<a name="L257"></a><tt class="py-lineno">257</tt> <tt class="py-line"> </tt>
<a name="L258"></a><tt class="py-lineno">258</tt> <tt class="py-line"> <tt class="py-name">contacts</tt> <tt class="py-op">=</tt> <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">me</tt><tt class="py-op">.</tt><tt class="py-name">contacts</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
<a name="L259"></a><tt class="py-lineno">259</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-name">user_to_set</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">contacts</tt> </tt>
</div><a name="L260"></a><tt class="py-lineno">260</tt> <tt class="py-line"> </tt>
<a name="L261"></a><tt class="py-lineno">261</tt> <tt class="py-line"> </tt>
<a name="test_favorites"></a><div id="test_favorites-def"><a name="L262"></a><tt class="py-lineno">262</tt> <a class="py-toggle" href="#" id="test_favorites-toggle" onclick="return toggle('test_favorites');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="scapi.tests.test_connect-module.html#test_favorites">test_favorites</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="test_favorites-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="test_favorites-expanded"><a name="L263"></a><tt class="py-lineno">263</tt> <tt class="py-line"> <tt class="py-name">sca</tt> <tt class="py-op">=</tt> <tt id="link-183" class="py-name"><a title="scapi.tests.test_connect.ROOT" class="py-name" href="#" onclick="return doclink('link-183', 'ROOT', 'link-17');">ROOT</a></tt> </tt>
<a name="L264"></a><tt class="py-lineno">264</tt> <tt class="py-line"> <tt class="py-name">me</tt> <tt class="py-op">=</tt> <tt class="py-name">sca</tt><tt class="py-op">.</tt><tt class="py-name">me</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L265"></a><tt class="py-lineno">265</tt> <tt class="py-line"> </tt>
<a name="L266"></a><tt class="py-lineno">266</tt> <tt class="py-line"> <tt class="py-name">favorites</tt> <tt class="py-op">=</tt> <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">me</tt><tt class="py-op">.</tt><tt class="py-name">favorites</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
<a name="L267"></a><tt class="py-lineno">267</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-name">favorites</tt> <tt class="py-op">==</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> <tt class="py-keyword">or</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">favorites</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt id="link-184" class="py-name"><a title="scapi" class="py-name" href="#" onclick="return doclink('link-184', 'scapi', 'link-0');">scapi</a></tt><tt class="py-op">.</tt><tt id="link-185" class="py-name"><a title="scapi.Track" class="py-name" href="#" onclick="return doclink('link-185', 'Track', 'link-108');">Track</a></tt><tt class="py-op">)</tt> </tt>
<a name="L268"></a><tt class="py-lineno">268</tt> <tt class="py-line"> </tt>
<a name="L269"></a><tt class="py-lineno">269</tt> <tt class="py-line"> <tt class="py-name">track</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
<a name="L270"></a><tt class="py-lineno">270</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">user</tt> <tt class="py-keyword">in</tt> <tt class="py-name">sca</tt><tt class="py-op">.</tt><tt class="py-name">users</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L271"></a><tt class="py-lineno">271</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">user</tt> <tt class="py-op">==</tt> <tt class="py-name">me</tt><tt class="py-op">:</tt> </tt>
<a name="L272"></a><tt class="py-lineno">272</tt> <tt class="py-line"> <tt class="py-keyword">continue</tt> </tt>
<a name="L273"></a><tt class="py-lineno">273</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">track</tt> <tt class="py-keyword">in</tt> <tt class="py-name">user</tt><tt class="py-op">.</tt><tt class="py-name">tracks</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L274"></a><tt class="py-lineno">274</tt> <tt class="py-line"> <tt class="py-keyword">break</tt> </tt>
<a name="L275"></a><tt class="py-lineno">275</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">track</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
<a name="L276"></a><tt class="py-lineno">276</tt> <tt class="py-line"> <tt class="py-keyword">break</tt> </tt>
<a name="L277"></a><tt class="py-lineno">277</tt> <tt class="py-line"> </tt>
<a name="L278"></a><tt class="py-lineno">278</tt> <tt class="py-line"> <tt class="py-name">me</tt><tt class="py-op">.</tt><tt class="py-name">favorites</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">track</tt><tt class="py-op">)</tt> </tt>
<a name="L279"></a><tt class="py-lineno">279</tt> <tt class="py-line"> </tt>
<a name="L280"></a><tt class="py-lineno">280</tt> <tt class="py-line"> <tt class="py-name">favorites</tt> <tt class="py-op">=</tt> <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">me</tt><tt class="py-op">.</tt><tt class="py-name">favorites</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
<a name="L281"></a><tt class="py-lineno">281</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-name">track</tt> <tt class="py-keyword">in</tt> <tt class="py-name">favorites</tt> </tt>
<a name="L282"></a><tt class="py-lineno">282</tt> <tt class="py-line"> </tt>
<a name="L283"></a><tt class="py-lineno">283</tt> <tt class="py-line"> <tt class="py-name">me</tt><tt class="py-op">.</tt><tt class="py-name">favorites</tt><tt class="py-op">.</tt><tt class="py-name">remove</tt><tt class="py-op">(</tt><tt class="py-name">track</tt><tt class="py-op">)</tt> </tt>
<a name="L284"></a><tt class="py-lineno">284</tt> <tt class="py-line"> </tt>
<a name="L285"></a><tt class="py-lineno">285</tt> <tt class="py-line"> <tt class="py-name">favorites</tt> <tt class="py-op">=</tt> <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">me</tt><tt class="py-op">.</tt><tt class="py-name">favorites</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
<a name="L286"></a><tt class="py-lineno">286</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-name">track</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt class="py-name">favorites</tt> </tt>
</div><a name="L287"></a><tt class="py-lineno">287</tt> <tt class="py-line"> </tt>
<a name="test_large_list"></a><div id="test_large_list-def"><a name="L288"></a><tt class="py-lineno">288</tt> <a class="py-toggle" href="#" id="test_large_list-toggle" onclick="return toggle('test_large_list');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="scapi.tests.test_connect-module.html#test_large_list">test_large_list</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="test_large_list-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="test_large_list-expanded"><a name="L289"></a><tt class="py-lineno">289</tt> <tt class="py-line"> <tt class="py-name">sca</tt> <tt class="py-op">=</tt> <tt id="link-186" class="py-name"><a title="scapi.tests.test_connect.ROOT" class="py-name" href="#" onclick="return doclink('link-186', 'ROOT', 'link-17');">ROOT</a></tt> </tt>
<a name="L290"></a><tt class="py-lineno">290</tt> <tt class="py-line"> <tt class="py-name">tracks</tt> <tt class="py-op">=</tt> <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">sca</tt><tt class="py-op">.</tt><tt class="py-name">tracks</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
<a name="L291"></a><tt class="py-lineno">291</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">tracks</tt><tt class="py-op">)</tt> <tt class="py-op">&lt;</tt> <tt id="link-187" class="py-name"><a title="scapi" class="py-name" href="#" onclick="return doclink('link-187', 'scapi', 'link-0');">scapi</a></tt><tt class="py-op">.</tt><tt id="link-188" class="py-name"><a title="scapi.ApiConnector" class="py-name" href="#" onclick="return doclink('link-188', 'ApiConnector', 'link-43');">ApiConnector</a></tt><tt class="py-op">.</tt><tt id="link-189" class="py-name" targets="Variable scapi.ApiConnector.LIST_LIMIT=scapi.ApiConnector-class.html#LIST_LIMIT"><a title="scapi.ApiConnector.LIST_LIMIT" class="py-name" href="#" onclick="return doclink('link-189', 'LIST_LIMIT', 'link-189');">LIST_LIMIT</a></tt><tt class="py-op">:</tt> </tt>
<a name="L292"></a><tt class="py-lineno">292</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">xrange</tt><tt class="py-op">(</tt><tt id="link-190" class="py-name"><a title="scapi" class="py-name" href="#" onclick="return doclink('link-190', 'scapi', 'link-0');">scapi</a></tt><tt class="py-op">.</tt><tt id="link-191" class="py-name"><a title="scapi.ApiConnector" class="py-name" href="#" onclick="return doclink('link-191', 'ApiConnector', 'link-43');">ApiConnector</a></tt><tt class="py-op">.</tt><tt id="link-192" class="py-name"><a title="scapi.ApiConnector.LIST_LIMIT" class="py-name" href="#" onclick="return doclink('link-192', 'LIST_LIMIT', 'link-189');">LIST_LIMIT</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L293"></a><tt class="py-lineno">293</tt> <tt class="py-line"> <tt id="link-193" class="py-name"><a title="scapi" class="py-name" href="#" onclick="return doclink('link-193', 'scapi', 'link-0');">scapi</a></tt><tt class="py-op">.</tt><tt id="link-194" class="py-name"><a title="scapi.Track" class="py-name" href="#" onclick="return doclink('link-194', 'Track', 'link-108');">Track</a></tt><tt class="py-op">.</tt><tt id="link-195" class="py-name"><a title="scapi.RESTBase.new" class="py-name" href="#" onclick="return doclink('link-195', 'new', 'link-143');">new</a></tt><tt class="py-op">(</tt><tt class="py-name">title</tt><tt class="py-op">=</tt><tt class="py-string">'test_track_%i'</tt> <tt class="py-op">%</tt> <tt class="py-name">i</tt><tt class="py-op">)</tt> </tt>
<a name="L294"></a><tt class="py-lineno">294</tt> <tt class="py-line"> <tt class="py-name">all_tracks</tt> <tt class="py-op">=</tt> <tt class="py-name">sca</tt><tt class="py-op">.</tt><tt class="py-name">tracks</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L295"></a><tt class="py-lineno">295</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-keyword">not</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">all_tracks</tt><tt class="py-op">,</tt> <tt class="py-name">list</tt><tt class="py-op">)</tt> </tt>
<a name="L296"></a><tt class="py-lineno">296</tt> <tt class="py-line"> <tt class="py-name">all_tracks</tt> <tt class="py-op">=</tt> <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">all_tracks</tt><tt class="py-op">)</tt> </tt>
<a name="L297"></a><tt class="py-lineno">297</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">all_tracks</tt><tt class="py-op">)</tt> <tt class="py-op">&gt;</tt> <tt id="link-196" class="py-name"><a title="scapi" class="py-name" href="#" onclick="return doclink('link-196', 'scapi', 'link-0');">scapi</a></tt><tt class="py-op">.</tt><tt id="link-197" class="py-name"><a title="scapi.ApiConnector" class="py-name" href="#" onclick="return doclink('link-197', 'ApiConnector', 'link-43');">ApiConnector</a></tt><tt class="py-op">.</tt><tt id="link-198" class="py-name"><a title="scapi.ApiConnector.LIST_LIMIT" class="py-name" href="#" onclick="return doclink('link-198', 'LIST_LIMIT', 'link-189');">LIST_LIMIT</a></tt> </tt>
</div><a name="L298"></a><tt class="py-lineno">298</tt> <tt class="py-line"> </tt>
<a name="L299"></a><tt class="py-lineno">299</tt> <tt class="py-line"> </tt>
<a name="test_events"></a><div id="test_events-def"><a name="L300"></a><tt class="py-lineno">300</tt> <a class="py-toggle" href="#" id="test_events-toggle" onclick="return toggle('test_events');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="scapi.tests.test_connect-module.html#test_events">test_events</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="test_events-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="test_events-expanded"><a name="L301"></a><tt class="py-lineno">301</tt> <tt class="py-line"> <tt class="py-name">events</tt> <tt class="py-op">=</tt> <tt class="py-name">list</tt><tt class="py-op">(</tt><tt id="link-199" class="py-name"><a title="scapi.tests.test_connect.ROOT" class="py-name" href="#" onclick="return doclink('link-199', 'ROOT', 'link-17');">ROOT</a></tt><tt class="py-op">.</tt><tt class="py-name">events</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
<a name="L302"></a><tt class="py-lineno">302</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">events</tt><tt class="py-op">,</tt> <tt class="py-name">list</tt><tt class="py-op">)</tt> </tt>
<a name="L303"></a><tt class="py-lineno">303</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">events</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt id="link-200" class="py-name"><a title="scapi" class="py-name" href="#" onclick="return doclink('link-200', 'scapi', 'link-0');">scapi</a></tt><tt class="py-op">.</tt><tt id="link-201" class="py-name" targets="Class scapi.Event=scapi.Event-class.html"><a title="scapi.Event" class="py-name" href="#" onclick="return doclink('link-201', 'Event', 'link-201');">Event</a></tt><tt class="py-op">)</tt> </tt>
</div><a name="L304"></a><tt class="py-lineno">304</tt> <tt class="py-line"> </tt>
<a name="test_me_having_stress"></a><div id="test_me_having_stress-def"><a name="L305"></a><tt class="py-lineno">305</tt> <a class="py-toggle" href="#" id="test_me_having_stress-toggle" onclick="return toggle('test_me_having_stress');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="scapi.tests.test_connect-module.html#test_me_having_stress">test_me_having_stress</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="test_me_having_stress-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="test_me_having_stress-expanded"><a name="L306"></a><tt class="py-lineno">306</tt> <tt class="py-line"> <tt class="py-name">sca</tt> <tt class="py-op">=</tt> <tt id="link-202" class="py-name"><a title="scapi.tests.test_connect.ROOT" class="py-name" href="#" onclick="return doclink('link-202', 'ROOT', 'link-17');">ROOT</a></tt> </tt>
<a name="L307"></a><tt class="py-lineno">307</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">_</tt> <tt class="py-keyword">in</tt> <tt class="py-name">xrange</tt><tt class="py-op">(</tt><tt class="py-number">20</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L308"></a><tt class="py-lineno">308</tt> <tt class="py-line"> <tt id="link-203" class="py-name" targets="Function scapi.tests.test_connect.setup()=scapi.tests.test_connect-module.html#setup"><a title="scapi.tests.test_connect.setup" class="py-name" href="#" onclick="return doclink('link-203', 'setup', 'link-203');">setup</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L309"></a><tt class="py-lineno">309</tt> <tt class="py-line"> <tt class="py-name">sca</tt><tt class="py-op">.</tt><tt class="py-name">me</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
</div><a name="L310"></a><tt class="py-lineno">310</tt> <tt class="py-line"> </tt>
<a name="test_non_global_api"></a><div id="test_non_global_api-def"><a name="L311"></a><tt class="py-lineno">311</tt> <a class="py-toggle" href="#" id="test_non_global_api-toggle" onclick="return toggle('test_non_global_api');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="scapi.tests.test_connect-module.html#test_non_global_api">test_non_global_api</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="test_non_global_api-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="test_non_global_api-expanded"><a name="L312"></a><tt class="py-lineno">312</tt> <tt class="py-line"> <tt id="link-204" class="py-name" targets="Variable scapi.tests.scapi_tests.SCAPITests.root=scapi.tests.scapi_tests.SCAPITests-class.html#root"><a title="scapi.tests.scapi_tests.SCAPITests.root" class="py-name" href="#" onclick="return doclink('link-204', 'root', 'link-204');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-205" class="py-name"><a title="scapi" class="py-name" href="#" onclick="return doclink('link-205', 'scapi', 'link-0');">scapi</a></tt><tt class="py-op">.</tt><tt id="link-206" class="py-name"><a title="scapi.Scope" class="py-name" href="#" onclick="return doclink('link-206', 'Scope', 'link-47');">Scope</a></tt><tt class="py-op">(</tt><tt id="link-207" class="py-name"><a title="scapi.tests.test_connect.CONNECTOR" class="py-name" href="#" onclick="return doclink('link-207', 'CONNECTOR', 'link-16');">CONNECTOR</a></tt><tt class="py-op">)</tt> </tt>
<a name="L313"></a><tt class="py-lineno">313</tt> <tt class="py-line"> <tt class="py-name">me</tt> <tt class="py-op">=</tt> <tt id="link-208" class="py-name"><a title="scapi.tests.scapi_tests.SCAPITests.root" class="py-name" href="#" onclick="return doclink('link-208', 'root', 'link-204');">root</a></tt><tt class="py-op">.</tt><tt class="py-name">me</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L314"></a><tt class="py-lineno">314</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">me</tt><tt class="py-op">,</tt> <tt id="link-209" class="py-name"><a title="scapi" class="py-name" href="#" onclick="return doclink('link-209', 'scapi', 'link-0');">scapi</a></tt><tt class="py-op">.</tt><tt id="link-210" class="py-name"><a title="scapi.User" class="py-name" href="#" onclick="return doclink('link-210', 'User', 'link-100');">User</a></tt><tt class="py-op">)</tt> </tt>
<a name="L315"></a><tt class="py-lineno">315</tt> <tt class="py-line"> </tt>
<a name="L316"></a><tt class="py-lineno">316</tt> <tt class="py-line"> <tt class="py-comment"># now get something *from* that user</tt> </tt>
<a name="L317"></a><tt class="py-lineno">317</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-name">favorites</tt> <tt class="py-op">=</tt> <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">me</tt><tt class="py-op">.</tt><tt class="py-name">favorites</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
<a name="L318"></a><tt class="py-lineno">318</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-name">favorites</tt> </tt>
</div><a name="L319"></a><tt class="py-lineno">319</tt> <tt class="py-line"> </tt>
<a name="test_playlists"></a><div id="test_playlists-def"><a name="L320"></a><tt class="py-lineno">320</tt> <a class="py-toggle" href="#" id="test_playlists-toggle" onclick="return toggle('test_playlists');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="scapi.tests.test_connect-module.html#test_playlists">test_playlists</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="test_playlists-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="test_playlists-expanded"><a name="L321"></a><tt class="py-lineno">321</tt> <tt class="py-line"> <tt class="py-name">sca</tt> <tt class="py-op">=</tt> <tt id="link-211" class="py-name"><a title="scapi.tests.test_connect.ROOT" class="py-name" href="#" onclick="return doclink('link-211', 'ROOT', 'link-17');">ROOT</a></tt> </tt>
<a name="L322"></a><tt class="py-lineno">322</tt> <tt class="py-line"> <tt class="py-name">playlists</tt> <tt class="py-op">=</tt> <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">itertools</tt><tt class="py-op">.</tt><tt class="py-name">islice</tt><tt class="py-op">(</tt><tt class="py-name">sca</tt><tt class="py-op">.</tt><tt class="py-name">playlists</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-number">127</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
<a name="L323"></a><tt class="py-lineno">323</tt> <tt class="py-line"> <tt class="py-name">found</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
<a name="L324"></a><tt class="py-lineno">324</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">playlist</tt> <tt class="py-keyword">in</tt> <tt class="py-name">playlists</tt><tt class="py-op">:</tt> </tt>
<a name="L325"></a><tt class="py-lineno">325</tt> <tt class="py-line"> <tt class="py-name">tracks</tt> <tt class="py-op">=</tt> <tt class="py-name">playlist</tt><tt class="py-op">.</tt><tt class="py-name">tracks</tt> </tt>
<a name="L326"></a><tt class="py-lineno">326</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">tracks</tt><tt class="py-op">,</tt> <tt class="py-name">list</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L327"></a><tt class="py-lineno">327</tt> <tt class="py-line"> <tt class="py-name">tracks</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">tracks</tt><tt class="py-op">]</tt> </tt>
<a name="L328"></a><tt class="py-lineno">328</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">trackdata</tt> <tt class="py-keyword">in</tt> <tt class="py-name">tracks</tt><tt class="py-op">:</tt> </tt>
<a name="L329"></a><tt class="py-lineno">329</tt> <tt class="py-line"> <tt class="py-keyword">print</tt> <tt class="py-name">trackdata</tt> </tt>
<a name="L330"></a><tt class="py-lineno">330</tt> <tt class="py-line"> <tt class="py-name">user</tt> <tt class="py-op">=</tt> <tt class="py-name">trackdata</tt><tt class="py-op">.</tt><tt class="py-name">user</tt> </tt>
<a name="L331"></a><tt class="py-lineno">331</tt> <tt class="py-line"> <tt class="py-keyword">print</tt> <tt class="py-name">user</tt> </tt>
<a name="L332"></a><tt class="py-lineno">332</tt> <tt class="py-line"> <tt class="py-keyword">print</tt> <tt class="py-name">user</tt><tt class="py-op">.</tt><tt class="py-name">tracks</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L333"></a><tt class="py-lineno">333</tt> <tt class="py-line"> <tt class="py-keyword">print</tt> <tt class="py-name">playlist</tt><tt class="py-op">.</tt><tt class="py-name">user</tt> </tt>
<a name="L334"></a><tt class="py-lineno">334</tt> <tt class="py-line"> <tt class="py-keyword">break</tt> </tt>
</div><a name="L335"></a><tt class="py-lineno">335</tt> <tt class="py-line"> </tt><script type="text/javascript">
<!--
expandto(location.href);
// -->
</script>
</pre>
<br />
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
bgcolor="#a0c0ff" cellspacing="0">
<tr valign="middle">
<!-- Home link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="scapi-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Tree link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Index link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Help link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Project homepage -->
<th class="navbar" align="right" width="100%">
<table border="0" cellpadding="0" cellspacing="0">
<tr><th class="navbar" align="center"
>SoundCloud API</th>
</tr></table></th>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
Generated by Epydoc 3.0.1 on Thu Sep 10 00:58:50 2009
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
>http://epydoc.sourceforge.net</a>
</td>
</tr>
</table>
<script type="text/javascript">
<!--
// Private objects are initially displayed (because if
// javascript is turned off then we want them to be
// visible); but by default, we want to hide them. So hide
// them unless we have a cookie that says to show them.
checkCookie();
// -->
</script>
</body>
</html>

View file

@ -0,0 +1,225 @@
<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>scapi.tests.test_oauth</title>
<link rel="stylesheet" href="epydoc.css" type="text/css" />
<script type="text/javascript" src="epydoc.js"></script>
</head>
<body bgcolor="white" text="black" link="blue" vlink="#204080"
alink="#204080">
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
bgcolor="#a0c0ff" cellspacing="0">
<tr valign="middle">
<!-- Home link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="scapi-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Tree link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Index link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Help link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Project homepage -->
<th class="navbar" align="right" width="100%">
<table border="0" cellpadding="0" cellspacing="0">
<tr><th class="navbar" align="center"
>SoundCloud API</th>
</tr></table></th>
</tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0">
<tr valign="top">
<td width="100%">
<span class="breadcrumbs">
<a href="scapi-module.html">Package&nbsp;scapi</a> ::
<a href="scapi.tests-module.html">Package&nbsp;tests</a> ::
Module&nbsp;test_oauth
</span>
</td>
<td>
<table cellpadding="0" cellspacing="0">
<!-- hide/show private -->
<tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
<tr><td align="right"><span class="options"
>[<a href="frames.html" target="_top">frames</a
>]&nbsp;|&nbsp;<a href="scapi.tests.test_oauth-module.html"
target="_top">no&nbsp;frames</a>]</span></td></tr>
</table>
</td>
</tr>
</table>
<!-- ==================== MODULE DESCRIPTION ==================== -->
<h1 class="epydoc">Module test_oauth</h1><p class="nomargin-top"><span class="codelink"><a href="scapi.tests.test_oauth-pysrc.html">source&nbsp;code</a></span></p>
<!-- ==================== FUNCTIONS ==================== -->
<a name="section-Functions"></a>
<table class="summary" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Functions</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-Functions"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="test_base64_connect"></a><span class="summary-sig-name">test_base64_connect</span>()</span></td>
<td align="right" valign="top">
<span class="codelink"><a href="scapi.tests.test_oauth-pysrc.html#test_base64_connect">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="test_oauth_connect"></a><span class="summary-sig-name">test_oauth_connect</span>()</span></td>
<td align="right" valign="top">
<span class="codelink"><a href="scapi.tests.test_oauth-pysrc.html#test_oauth_connect">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
</table>
<!-- ==================== VARIABLES ==================== -->
<a name="section-Variables"></a>
<table class="summary" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Variables</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-Variables"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a name="logger"></a><span class="summary-name">logger</span> = <code title="logging.getLogger(__name__)">logging.getLogger(__name__)</code>
</td>
</tr>
<tr class="private">
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a name="_logger"></a><span class="summary-name">_logger</span> = <code title="logging.getLogger(&quot;scapi&quot;)">logging.getLogger(&quot;scapi&quot;)</code>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a name="TOKEN"></a><span class="summary-name">TOKEN</span> = <code title="'QcciYu1FSwDSGKAG2mNw'"><code class="variable-quote">'</code><code class="variable-string">QcciYu1FSwDSGKAG2mNw</code><code class="variable-quote">'</code></code>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a name="SECRET"></a><span class="summary-name">SECRET</span> = <code title="'gJ2ok6ULUsYQB3rsBmpHCRHoFCAPOgK8ZjoIyxzris'"><code class="variable-quote">'</code><code class="variable-string">gJ2ok6ULUsYQB3rsBmpHCRHoFCAPOgK8ZjoIyxzris</code><code class="variable-quote">'</code></code>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a name="CONSUMER"></a><span class="summary-name">CONSUMER</span> = <code title="'Cy2eLPrIMp4vOxjz9icdQ'"><code class="variable-quote">'</code><code class="variable-string">Cy2eLPrIMp4vOxjz9icdQ</code><code class="variable-quote">'</code></code>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a name="CONSUMER_SECRET"></a><span class="summary-name">CONSUMER_SECRET</span> = <code title="'KsBa272x6M2to00Vo5FdvZXt9kakcX7CDIPJoGwTro'"><code class="variable-quote">'</code><code class="variable-string">KsBa272x6M2to00Vo5FdvZXt9kakcX7CDIPJoGwTro</code><code class="variable-quote">'</code></code>
</td>
</tr>
</table>
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
bgcolor="#a0c0ff" cellspacing="0">
<tr valign="middle">
<!-- Home link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="scapi-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Tree link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Index link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Help link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Project homepage -->
<th class="navbar" align="right" width="100%">
<table border="0" cellpadding="0" cellspacing="0">
<tr><th class="navbar" align="center"
>SoundCloud API</th>
</tr></table></th>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
Generated by Epydoc 3.0.1 on Thu Sep 10 00:58:49 2009
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
>http://epydoc.sourceforge.net</a>
</td>
</tr>
</table>
<script type="text/javascript">
<!--
// Private objects are initially displayed (because if
// javascript is turned off then we want them to be
// visible); but by default, we want to hide them. So hide
// them unless we have a cookie that says to show them.
checkCookie();
// -->
</script>
</body>
</html>

View file

@ -0,0 +1,182 @@
<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>scapi.tests.test_oauth</title>
<link rel="stylesheet" href="epydoc.css" type="text/css" />
<script type="text/javascript" src="epydoc.js"></script>
</head>
<body bgcolor="white" text="black" link="blue" vlink="#204080"
alink="#204080">
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
bgcolor="#a0c0ff" cellspacing="0">
<tr valign="middle">
<!-- Home link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="scapi-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Tree link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Index link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Help link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Project homepage -->
<th class="navbar" align="right" width="100%">
<table border="0" cellpadding="0" cellspacing="0">
<tr><th class="navbar" align="center"
>SoundCloud API</th>
</tr></table></th>
</tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0">
<tr valign="top">
<td width="100%">
<span class="breadcrumbs">
<a href="scapi-module.html">Package&nbsp;scapi</a> ::
<a href="scapi.tests-module.html">Package&nbsp;tests</a> ::
Module&nbsp;test_oauth
</span>
</td>
<td>
<table cellpadding="0" cellspacing="0">
<!-- hide/show private -->
<tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
<tr><td align="right"><span class="options"
>[<a href="frames.html" target="_top">frames</a
>]&nbsp;|&nbsp;<a href="scapi.tests.test_oauth-pysrc.html"
target="_top">no&nbsp;frames</a>]</span></td></tr>
</table>
</td>
</tr>
</table>
<h1 class="epydoc">Source Code for <a href="scapi.tests.test_oauth-module.html">Module scapi.tests.test_oauth</a></h1>
<pre class="py-src">
<a name="L1"></a><tt class="py-lineno"> 1</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">pkg_resources</tt> </tt>
<a name="L2"></a><tt class="py-lineno"> 2</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt id="link-0" class="py-name" targets="Package scapi=scapi-module.html"><a title="scapi" class="py-name" href="#" onclick="return doclink('link-0', 'scapi', 'link-0');">scapi</a></tt> </tt>
<a name="L3"></a><tt class="py-lineno"> 3</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt id="link-1" class="py-name"><a title="scapi" class="py-name" href="#" onclick="return doclink('link-1', 'scapi', 'link-0');">scapi</a></tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Module scapi.authentication=scapi.authentication-module.html"><a title="scapi.authentication" class="py-name" href="#" onclick="return doclink('link-2', 'authentication', 'link-2');">authentication</a></tt> </tt>
<a name="L4"></a><tt class="py-lineno"> 4</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">urllib</tt> </tt>
<a name="L5"></a><tt class="py-lineno"> 5</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">logging</tt> </tt>
<a name="L6"></a><tt class="py-lineno"> 6</tt> <tt class="py-line"> </tt>
<a name="L7"></a><tt class="py-lineno"> 7</tt> <tt class="py-line"><tt id="link-3" class="py-name" targets="Variable scapi.authentication.logger=scapi.authentication-module.html#logger,Variable scapi.logger=scapi-module.html#logger,Variable scapi.tests.scapi_tests.logger=scapi.tests.scapi_tests-module.html#logger,Variable scapi.tests.test_connect.logger=scapi.tests.test_connect-module.html#logger,Variable scapi.tests.test_oauth.logger=scapi.tests.test_oauth-module.html#logger"><a title="scapi.authentication.logger
scapi.logger
scapi.tests.scapi_tests.logger
scapi.tests.test_connect.logger
scapi.tests.test_oauth.logger" class="py-name" href="#" onclick="return doclink('link-3', 'logger', 'link-3');">logger</a></tt> <tt class="py-op">=</tt> <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">getLogger</tt><tt class="py-op">(</tt><tt class="py-name">__name__</tt><tt class="py-op">)</tt> </tt>
<a name="L8"></a><tt class="py-lineno"> 8</tt> <tt class="py-line"><tt id="link-4" class="py-name"><a title="scapi.authentication.logger
scapi.logger
scapi.tests.scapi_tests.logger
scapi.tests.test_connect.logger
scapi.tests.test_oauth.logger" class="py-name" href="#" onclick="return doclink('link-4', 'logger', 'link-3');">logger</a></tt><tt class="py-op">.</tt><tt class="py-name">setLevel</tt><tt class="py-op">(</tt><tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">DEBUG</tt><tt class="py-op">)</tt> </tt>
<a name="L9"></a><tt class="py-lineno"> 9</tt> <tt class="py-line"><tt id="link-5" class="py-name" targets="Variable scapi.tests.test_connect._logger=scapi.tests.test_connect-module.html#_logger,Variable scapi.tests.test_oauth._logger=scapi.tests.test_oauth-module.html#_logger"><a title="scapi.tests.test_connect._logger
scapi.tests.test_oauth._logger" class="py-name" href="#" onclick="return doclink('link-5', '_logger', 'link-5');">_logger</a></tt> <tt class="py-op">=</tt> <tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">getLogger</tt><tt class="py-op">(</tt><tt class="py-string">"scapi"</tt><tt class="py-op">)</tt> </tt>
<a name="L10"></a><tt class="py-lineno">10</tt> <tt class="py-line"><tt id="link-6" class="py-name"><a title="scapi.tests.test_connect._logger
scapi.tests.test_oauth._logger" class="py-name" href="#" onclick="return doclink('link-6', '_logger', 'link-5');">_logger</a></tt><tt class="py-op">.</tt><tt class="py-name">setLevel</tt><tt class="py-op">(</tt><tt class="py-name">logging</tt><tt class="py-op">.</tt><tt class="py-name">DEBUG</tt><tt class="py-op">)</tt> </tt>
<a name="L11"></a><tt class="py-lineno">11</tt> <tt class="py-line"> </tt>
<a name="L12"></a><tt class="py-lineno">12</tt> <tt class="py-line"><tt id="link-7" class="py-name" targets="Variable scapi.tests.scapi_tests.SCAPITests.TOKEN=scapi.tests.scapi_tests.SCAPITests-class.html#TOKEN,Variable scapi.tests.test_connect.TOKEN=scapi.tests.test_connect-module.html#TOKEN,Variable scapi.tests.test_oauth.TOKEN=scapi.tests.test_oauth-module.html#TOKEN"><a title="scapi.tests.scapi_tests.SCAPITests.TOKEN
scapi.tests.test_connect.TOKEN
scapi.tests.test_oauth.TOKEN" class="py-name" href="#" onclick="return doclink('link-7', 'TOKEN', 'link-7');">TOKEN</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"QcciYu1FSwDSGKAG2mNw"</tt> </tt>
<a name="L13"></a><tt class="py-lineno">13</tt> <tt class="py-line"><tt id="link-8" class="py-name" targets="Variable scapi.tests.scapi_tests.SCAPITests.SECRET=scapi.tests.scapi_tests.SCAPITests-class.html#SECRET,Variable scapi.tests.test_connect.SECRET=scapi.tests.test_connect-module.html#SECRET,Variable scapi.tests.test_oauth.SECRET=scapi.tests.test_oauth-module.html#SECRET"><a title="scapi.tests.scapi_tests.SCAPITests.SECRET
scapi.tests.test_connect.SECRET
scapi.tests.test_oauth.SECRET" class="py-name" href="#" onclick="return doclink('link-8', 'SECRET', 'link-8');">SECRET</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"gJ2ok6ULUsYQB3rsBmpHCRHoFCAPOgK8ZjoIyxzris"</tt> </tt>
<a name="L14"></a><tt class="py-lineno">14</tt> <tt class="py-line"><tt id="link-9" class="py-name" targets="Variable scapi.tests.scapi_tests.SCAPITests.CONSUMER=scapi.tests.scapi_tests.SCAPITests-class.html#CONSUMER,Variable scapi.tests.test_connect.CONSUMER=scapi.tests.test_connect-module.html#CONSUMER,Variable scapi.tests.test_oauth.CONSUMER=scapi.tests.test_oauth-module.html#CONSUMER"><a title="scapi.tests.scapi_tests.SCAPITests.CONSUMER
scapi.tests.test_connect.CONSUMER
scapi.tests.test_oauth.CONSUMER" class="py-name" href="#" onclick="return doclink('link-9', 'CONSUMER', 'link-9');">CONSUMER</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"Cy2eLPrIMp4vOxjz9icdQ"</tt> </tt>
<a name="L15"></a><tt class="py-lineno">15</tt> <tt class="py-line"><tt id="link-10" class="py-name" targets="Variable scapi.tests.scapi_tests.SCAPITests.CONSUMER_SECRET=scapi.tests.scapi_tests.SCAPITests-class.html#CONSUMER_SECRET,Variable scapi.tests.test_connect.CONSUMER_SECRET=scapi.tests.test_connect-module.html#CONSUMER_SECRET,Variable scapi.tests.test_oauth.CONSUMER_SECRET=scapi.tests.test_oauth-module.html#CONSUMER_SECRET"><a title="scapi.tests.scapi_tests.SCAPITests.CONSUMER_SECRET
scapi.tests.test_connect.CONSUMER_SECRET
scapi.tests.test_oauth.CONSUMER_SECRET" class="py-name" href="#" onclick="return doclink('link-10', 'CONSUMER_SECRET', 'link-10');">CONSUMER_SECRET</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"KsBa272x6M2to00Vo5FdvZXt9kakcX7CDIPJoGwTro"</tt> </tt>
<a name="L16"></a><tt class="py-lineno">16</tt> <tt class="py-line"> </tt>
<a name="test_base64_connect"></a><div id="test_base64_connect-def"><a name="L17"></a><tt class="py-lineno">17</tt> <a class="py-toggle" href="#" id="test_base64_connect-toggle" onclick="return toggle('test_base64_connect');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="scapi.tests.test_oauth-module.html#test_base64_connect">test_base64_connect</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="test_base64_connect-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="test_base64_connect-expanded"><a name="L18"></a><tt class="py-lineno">18</tt> <tt class="py-line"> <tt id="link-11" class="py-name"><a title="scapi" class="py-name" href="#" onclick="return doclink('link-11', 'scapi', 'link-0');">scapi</a></tt><tt class="py-op">.</tt><tt id="link-12" class="py-name" targets="Variable scapi.USE_PROXY=scapi-module.html#USE_PROXY"><a title="scapi.USE_PROXY" class="py-name" href="#" onclick="return doclink('link-12', 'USE_PROXY', 'link-12');">USE_PROXY</a></tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
<a name="L19"></a><tt class="py-lineno">19</tt> <tt class="py-line"> <tt id="link-13" class="py-name"><a title="scapi" class="py-name" href="#" onclick="return doclink('link-13', 'scapi', 'link-0');">scapi</a></tt><tt class="py-op">.</tt><tt id="link-14" class="py-name" targets="Variable scapi.PROXY=scapi-module.html#PROXY"><a title="scapi.PROXY" class="py-name" href="#" onclick="return doclink('link-14', 'PROXY', 'link-14');">PROXY</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'http://127.0.0.1:10000/'</tt> </tt>
<a name="L20"></a><tt class="py-lineno">20</tt> <tt class="py-line"> <tt id="link-15" class="py-name"><a title="scapi" class="py-name" href="#" onclick="return doclink('link-15', 'scapi', 'link-0');">scapi</a></tt><tt class="py-op">.</tt><tt class="py-name">SoundCloudAPI</tt><tt class="py-op">(</tt><tt class="py-name">host</tt><tt class="py-op">=</tt><tt class="py-string">'192.168.2.31:3000'</tt><tt class="py-op">,</tt> <tt class="py-name">authenticator</tt><tt class="py-op">=</tt><tt id="link-16" class="py-name"><a title="scapi" class="py-name" href="#" onclick="return doclink('link-16', 'scapi', 'link-0');">scapi</a></tt><tt class="py-op">.</tt><tt id="link-17" class="py-name"><a title="scapi.authentication" class="py-name" href="#" onclick="return doclink('link-17', 'authentication', 'link-2');">authentication</a></tt><tt class="py-op">.</tt><tt id="link-18" class="py-name" targets="Class scapi.authentication.BasicAuthenticator=scapi.authentication.BasicAuthenticator-class.html"><a title="scapi.authentication.BasicAuthenticator" class="py-name" href="#" onclick="return doclink('link-18', 'BasicAuthenticator', 'link-18');">BasicAuthenticator</a></tt><tt class="py-op">(</tt><tt class="py-string">'tiga'</tt><tt class="py-op">,</tt> <tt class="py-string">'test'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
<a name="L21"></a><tt class="py-lineno">21</tt> <tt class="py-line"> <tt class="py-name">sca</tt> <tt class="py-op">=</tt> <tt id="link-19" class="py-name"><a title="scapi" class="py-name" href="#" onclick="return doclink('link-19', 'scapi', 'link-0');">scapi</a></tt><tt class="py-op">.</tt><tt id="link-20" class="py-name" targets="Class scapi.Scope=scapi.Scope-class.html"><a title="scapi.Scope" class="py-name" href="#" onclick="return doclink('link-20', 'Scope', 'link-20');">Scope</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L22"></a><tt class="py-lineno">22</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">sca</tt><tt class="py-op">.</tt><tt class="py-name">me</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-21" class="py-name"><a title="scapi" class="py-name" href="#" onclick="return doclink('link-21', 'scapi', 'link-0');">scapi</a></tt><tt class="py-op">.</tt><tt id="link-22" class="py-name" targets="Class scapi.User=scapi.User-class.html"><a title="scapi.User" class="py-name" href="#" onclick="return doclink('link-22', 'User', 'link-22');">User</a></tt><tt class="py-op">)</tt> </tt>
</div><a name="L23"></a><tt class="py-lineno">23</tt> <tt class="py-line"> </tt>
<a name="L24"></a><tt class="py-lineno">24</tt> <tt class="py-line"> </tt>
<a name="test_oauth_connect"></a><div id="test_oauth_connect-def"><a name="L25"></a><tt class="py-lineno">25</tt> <a class="py-toggle" href="#" id="test_oauth_connect-toggle" onclick="return toggle('test_oauth_connect');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="scapi.tests.test_oauth-module.html#test_oauth_connect">test_oauth_connect</a><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="test_oauth_connect-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="test_oauth_connect-expanded"><a name="L26"></a><tt class="py-lineno">26</tt> <tt class="py-line"> <tt id="link-23" class="py-name"><a title="scapi" class="py-name" href="#" onclick="return doclink('link-23', 'scapi', 'link-0');">scapi</a></tt><tt class="py-op">.</tt><tt id="link-24" class="py-name"><a title="scapi.USE_PROXY" class="py-name" href="#" onclick="return doclink('link-24', 'USE_PROXY', 'link-12');">USE_PROXY</a></tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
<a name="L27"></a><tt class="py-lineno">27</tt> <tt class="py-line"> <tt id="link-25" class="py-name"><a title="scapi" class="py-name" href="#" onclick="return doclink('link-25', 'scapi', 'link-0');">scapi</a></tt><tt class="py-op">.</tt><tt id="link-26" class="py-name"><a title="scapi.PROXY" class="py-name" href="#" onclick="return doclink('link-26', 'PROXY', 'link-14');">PROXY</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'http://127.0.0.1:10000/'</tt> </tt>
<a name="L28"></a><tt class="py-lineno">28</tt> <tt class="py-line"> <tt id="link-27" class="py-name"><a title="scapi" class="py-name" href="#" onclick="return doclink('link-27', 'scapi', 'link-0');">scapi</a></tt><tt class="py-op">.</tt><tt class="py-name">SoundCloudAPI</tt><tt class="py-op">(</tt><tt class="py-name">host</tt><tt class="py-op">=</tt><tt class="py-string">'192.168.2.31:3000'</tt><tt class="py-op">,</tt> </tt>
<a name="L29"></a><tt class="py-lineno">29</tt> <tt class="py-line"> <tt class="py-name">authenticator</tt><tt class="py-op">=</tt><tt id="link-28" class="py-name"><a title="scapi" class="py-name" href="#" onclick="return doclink('link-28', 'scapi', 'link-0');">scapi</a></tt><tt class="py-op">.</tt><tt id="link-29" class="py-name"><a title="scapi.authentication" class="py-name" href="#" onclick="return doclink('link-29', 'authentication', 'link-2');">authentication</a></tt><tt class="py-op">.</tt><tt id="link-30" class="py-name" targets="Class scapi.authentication.OAuthAuthenticator=scapi.authentication.OAuthAuthenticator-class.html"><a title="scapi.authentication.OAuthAuthenticator" class="py-name" href="#" onclick="return doclink('link-30', 'OAuthAuthenticator', 'link-30');">OAuthAuthenticator</a></tt><tt class="py-op">(</tt><tt id="link-31" class="py-name"><a title="scapi.tests.scapi_tests.SCAPITests.CONSUMER
scapi.tests.test_connect.CONSUMER
scapi.tests.test_oauth.CONSUMER" class="py-name" href="#" onclick="return doclink('link-31', 'CONSUMER', 'link-9');">CONSUMER</a></tt><tt class="py-op">,</tt> </tt>
<a name="L30"></a><tt class="py-lineno">30</tt> <tt class="py-line"> <tt id="link-32" class="py-name"><a title="scapi.tests.scapi_tests.SCAPITests.CONSUMER_SECRET
scapi.tests.test_connect.CONSUMER_SECRET
scapi.tests.test_oauth.CONSUMER_SECRET" class="py-name" href="#" onclick="return doclink('link-32', 'CONSUMER_SECRET', 'link-10');">CONSUMER_SECRET</a></tt><tt class="py-op">,</tt> </tt>
<a name="L31"></a><tt class="py-lineno">31</tt> <tt class="py-line"> <tt id="link-33" class="py-name"><a title="scapi.tests.scapi_tests.SCAPITests.TOKEN
scapi.tests.test_connect.TOKEN
scapi.tests.test_oauth.TOKEN" class="py-name" href="#" onclick="return doclink('link-33', 'TOKEN', 'link-7');">TOKEN</a></tt><tt class="py-op">,</tt> <tt id="link-34" class="py-name"><a title="scapi.tests.scapi_tests.SCAPITests.SECRET
scapi.tests.test_connect.SECRET
scapi.tests.test_oauth.SECRET" class="py-name" href="#" onclick="return doclink('link-34', 'SECRET', 'link-8');">SECRET</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
<a name="L32"></a><tt class="py-lineno">32</tt> <tt class="py-line"> </tt>
<a name="L33"></a><tt class="py-lineno">33</tt> <tt class="py-line"> <tt class="py-name">sca</tt> <tt class="py-op">=</tt> <tt id="link-35" class="py-name"><a title="scapi" class="py-name" href="#" onclick="return doclink('link-35', 'scapi', 'link-0');">scapi</a></tt><tt class="py-op">.</tt><tt id="link-36" class="py-name"><a title="scapi.Scope" class="py-name" href="#" onclick="return doclink('link-36', 'Scope', 'link-20');">Scope</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
<a name="L34"></a><tt class="py-lineno">34</tt> <tt class="py-line"> <tt class="py-keyword">assert</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">sca</tt><tt class="py-op">.</tt><tt class="py-name">me</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-37" class="py-name"><a title="scapi" class="py-name" href="#" onclick="return doclink('link-37', 'scapi', 'link-0');">scapi</a></tt><tt class="py-op">.</tt><tt id="link-38" class="py-name"><a title="scapi.User" class="py-name" href="#" onclick="return doclink('link-38', 'User', 'link-22');">User</a></tt><tt class="py-op">)</tt> </tt>
</div><a name="L35"></a><tt class="py-lineno">35</tt> <tt class="py-line"> </tt><script type="text/javascript">
<!--
expandto(location.href);
// -->
</script>
</pre>
<br />
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
bgcolor="#a0c0ff" cellspacing="0">
<tr valign="middle">
<!-- Home link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="scapi-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Tree link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Index link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Help link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Project homepage -->
<th class="navbar" align="right" width="100%">
<table border="0" cellpadding="0" cellspacing="0">
<tr><th class="navbar" align="center"
>SoundCloud API</th>
</tr></table></th>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
Generated by Epydoc 3.0.1 on Thu Sep 10 00:58:50 2009
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
>http://epydoc.sourceforge.net</a>
</td>
</tr>
</table>
<script type="text/javascript">
<!--
// Private objects are initially displayed (because if
// javascript is turned off then we want them to be
// visible); but by default, we want to hide them. So hide
// them unless we have a cookie that says to show them.
checkCookie();
// -->
</script>
</body>
</html>

View file

@ -0,0 +1,173 @@
<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>scapi.util</title>
<link rel="stylesheet" href="epydoc.css" type="text/css" />
<script type="text/javascript" src="epydoc.js"></script>
</head>
<body bgcolor="white" text="black" link="blue" vlink="#204080"
alink="#204080">
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
bgcolor="#a0c0ff" cellspacing="0">
<tr valign="middle">
<!-- Home link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="scapi-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Tree link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Index link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Help link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Project homepage -->
<th class="navbar" align="right" width="100%">
<table border="0" cellpadding="0" cellspacing="0">
<tr><th class="navbar" align="center"
>SoundCloud API</th>
</tr></table></th>
</tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0">
<tr valign="top">
<td width="100%">
<span class="breadcrumbs">
<a href="scapi-module.html">Package&nbsp;scapi</a> ::
Module&nbsp;util
</span>
</td>
<td>
<table cellpadding="0" cellspacing="0">
<!-- hide/show private -->
<tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
<tr><td align="right"><span class="options"
>[<a href="frames.html" target="_top">frames</a
>]&nbsp;|&nbsp;<a href="scapi.util-module.html"
target="_top">no&nbsp;frames</a>]</span></td></tr>
</table>
</td>
</tr>
</table>
<!-- ==================== MODULE DESCRIPTION ==================== -->
<h1 class="epydoc">Module util</h1><p class="nomargin-top"><span class="codelink"><a href="scapi.util-pysrc.html">source&nbsp;code</a></span></p>
<!-- ==================== CLASSES ==================== -->
<a name="section-Classes"></a>
<table class="summary" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Classes</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-Classes"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a href="scapi.util.MultiDict-class.html" class="summary-name">MultiDict</a>
</td>
</tr>
</table>
<!-- ==================== FUNCTIONS ==================== -->
<a name="section-Functions"></a>
<table class="summary" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Functions</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-Functions"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="escape"></a><span class="summary-sig-name">escape</span>(<span class="summary-sig-arg">s</span>)</span></td>
<td align="right" valign="top">
<span class="codelink"><a href="scapi.util-pysrc.html#escape">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
</table>
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
bgcolor="#a0c0ff" cellspacing="0">
<tr valign="middle">
<!-- Home link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="scapi-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Tree link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Index link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Help link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Project homepage -->
<th class="navbar" align="right" width="100%">
<table border="0" cellpadding="0" cellspacing="0">
<tr><th class="navbar" align="center"
>SoundCloud API</th>
</tr></table></th>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
Generated by Epydoc 3.0.1 on Thu Sep 10 00:58:49 2009
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
>http://epydoc.sourceforge.net</a>
</td>
</tr>
</table>
<script type="text/javascript">
<!--
// Private objects are initially displayed (because if
// javascript is turned off then we want them to be
// visible); but by default, we want to hide them. So hide
// them unless we have a cookie that says to show them.
checkCookie();
// -->
</script>
</body>
</html>

View file

@ -0,0 +1,171 @@
<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>scapi.util</title>
<link rel="stylesheet" href="epydoc.css" type="text/css" />
<script type="text/javascript" src="epydoc.js"></script>
</head>
<body bgcolor="white" text="black" link="blue" vlink="#204080"
alink="#204080">
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
bgcolor="#a0c0ff" cellspacing="0">
<tr valign="middle">
<!-- Home link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="scapi-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Tree link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Index link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Help link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Project homepage -->
<th class="navbar" align="right" width="100%">
<table border="0" cellpadding="0" cellspacing="0">
<tr><th class="navbar" align="center"
>SoundCloud API</th>
</tr></table></th>
</tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0">
<tr valign="top">
<td width="100%">
<span class="breadcrumbs">
<a href="scapi-module.html">Package&nbsp;scapi</a> ::
Module&nbsp;util
</span>
</td>
<td>
<table cellpadding="0" cellspacing="0">
<!-- hide/show private -->
<tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
<tr><td align="right"><span class="options"
>[<a href="frames.html" target="_top">frames</a
>]&nbsp;|&nbsp;<a href="scapi.util-pysrc.html"
target="_top">no&nbsp;frames</a>]</span></td></tr>
</table>
</td>
</tr>
</table>
<h1 class="epydoc">Source Code for <a href="scapi.util-module.html" onclick="show_private();">Module scapi.util</a></h1>
<pre class="py-src">
<a name="L1"></a><tt class="py-lineno"> 1</tt> <tt class="py-line"><tt class="py-comment">## SouncCloudAPI implements a Python wrapper around the SoundCloud RESTful</tt> </tt>
<a name="L2"></a><tt class="py-lineno"> 2</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">## API</tt> </tt>
<a name="L3"></a><tt class="py-lineno"> 3</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">##</tt> </tt>
<a name="L4"></a><tt class="py-lineno"> 4</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">## Copyright (C) 2008 Diez B. Roggisch</tt> </tt>
<a name="L5"></a><tt class="py-lineno"> 5</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">## Contact mailto:deets@soundcloud.com</tt> </tt>
<a name="L6"></a><tt class="py-lineno"> 6</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">##</tt> </tt>
<a name="L7"></a><tt class="py-lineno"> 7</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">## This library is free software; you can redistribute it and/or</tt> </tt>
<a name="L8"></a><tt class="py-lineno"> 8</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">## modify it under the terms of the GNU Lesser General Public</tt> </tt>
<a name="L9"></a><tt class="py-lineno"> 9</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">## License as published by the Free Software Foundation; either</tt> </tt>
<a name="L10"></a><tt class="py-lineno">10</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">## version 2.1 of the License, or (at your option) any later version.</tt> </tt>
<a name="L11"></a><tt class="py-lineno">11</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">##</tt> </tt>
<a name="L12"></a><tt class="py-lineno">12</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">## This library is distributed in the hope that it will be useful,</tt> </tt>
<a name="L13"></a><tt class="py-lineno">13</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">## but WITHOUT ANY WARRANTY; without even the implied warranty of</tt> </tt>
<a name="L14"></a><tt class="py-lineno">14</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</tt> </tt>
<a name="L15"></a><tt class="py-lineno">15</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">## Lesser General Public License for more details.</tt> </tt>
<a name="L16"></a><tt class="py-lineno">16</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">##</tt> </tt>
<a name="L17"></a><tt class="py-lineno">17</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">## You should have received a copy of the GNU Lesser General Public</tt> </tt>
<a name="L18"></a><tt class="py-lineno">18</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">## License along with this library; if not, write to the Free Software</tt> </tt>
<a name="L19"></a><tt class="py-lineno">19</tt> <tt class="py-line"><tt class="py-comment"></tt><tt class="py-comment">## Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</tt> </tt>
<a name="L20"></a><tt class="py-lineno">20</tt> <tt class="py-line"><tt class="py-comment"></tt> </tt>
<a name="L21"></a><tt class="py-lineno">21</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">urllib</tt> </tt>
<a name="L22"></a><tt class="py-lineno">22</tt> <tt class="py-line"> </tt>
<a name="escape"></a><div id="escape-def"><a name="L23"></a><tt class="py-lineno">23</tt> <a class="py-toggle" href="#" id="escape-toggle" onclick="return toggle('escape');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="scapi.util-module.html#escape">escape</a><tt class="py-op">(</tt><tt class="py-param">s</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="escape-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="escape-expanded"><a name="L24"></a><tt class="py-lineno">24</tt> <tt class="py-line"> <tt class="py-comment"># escape '/' too</tt> </tt>
<a name="L25"></a><tt class="py-lineno">25</tt> <tt class="py-line"><tt class="py-comment"></tt> <tt class="py-keyword">return</tt> <tt class="py-name">urllib</tt><tt class="py-op">.</tt><tt class="py-name">quote</tt><tt class="py-op">(</tt><tt class="py-name">s</tt><tt class="py-op">,</tt> <tt class="py-name">safe</tt><tt class="py-op">=</tt><tt class="py-string">''</tt><tt class="py-op">)</tt> </tt>
</div><a name="L26"></a><tt class="py-lineno">26</tt> <tt class="py-line"> </tt>
<a name="L27"></a><tt class="py-lineno">27</tt> <tt class="py-line"> </tt>
<a name="L28"></a><tt class="py-lineno">28</tt> <tt class="py-line"> </tt>
<a name="L29"></a><tt class="py-lineno">29</tt> <tt class="py-line"> </tt>
<a name="L30"></a><tt class="py-lineno">30</tt> <tt class="py-line"> </tt>
<a name="L31"></a><tt class="py-lineno">31</tt> <tt class="py-line"> </tt>
<a name="MultiDict"></a><div id="MultiDict-def"><a name="L32"></a><tt class="py-lineno">32</tt> <a class="py-toggle" href="#" id="MultiDict-toggle" onclick="return toggle('MultiDict');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="scapi.util.MultiDict-class.html">MultiDict</a><tt class="py-op">(</tt><tt class="py-base-class">dict</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="MultiDict-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="MultiDict-expanded"><a name="L33"></a><tt class="py-lineno">33</tt> <tt class="py-line"> </tt>
<a name="L34"></a><tt class="py-lineno">34</tt> <tt class="py-line"> </tt>
<a name="MultiDict.add"></a><div id="MultiDict.add-def"><a name="L35"></a><tt class="py-lineno">35</tt> <a class="py-toggle" href="#" id="MultiDict.add-toggle" onclick="return toggle('MultiDict.add');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="scapi.util.MultiDict-class.html#add">add</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">key</tt><tt class="py-op">,</tt> <tt class="py-param">new_value</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="MultiDict.add-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="MultiDict.add-expanded"><a name="L36"></a><tt class="py-lineno">36</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">key</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">:</tt> </tt>
<a name="L37"></a><tt class="py-lineno">37</tt> <tt class="py-line"> <tt class="py-name">value</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-name">key</tt><tt class="py-op">]</tt> </tt>
<a name="L38"></a><tt class="py-lineno">38</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">,</tt> <tt class="py-name">list</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L39"></a><tt class="py-lineno">39</tt> <tt class="py-line"> <tt class="py-name">value</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">value</tt><tt class="py-op">]</tt> </tt>
<a name="L40"></a><tt class="py-lineno">40</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-name">key</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">value</tt> </tt>
<a name="L41"></a><tt class="py-lineno">41</tt> <tt class="py-line"> <tt class="py-name">value</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">new_value</tt><tt class="py-op">)</tt> </tt>
<a name="L42"></a><tt class="py-lineno">42</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
<a name="L43"></a><tt class="py-lineno">43</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">[</tt><tt class="py-name">key</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">new_value</tt> </tt>
</div><a name="L44"></a><tt class="py-lineno">44</tt> <tt class="py-line"> </tt>
<a name="L45"></a><tt class="py-lineno">45</tt> <tt class="py-line"> </tt>
<a name="MultiDict.iteritemslist"></a><div id="MultiDict.iteritemslist-def"><a name="L46"></a><tt class="py-lineno">46</tt> <a class="py-toggle" href="#" id="MultiDict.iteritemslist-toggle" onclick="return toggle('MultiDict.iteritemslist');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="scapi.util.MultiDict-class.html#iteritemslist">iteritemslist</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="MultiDict.iteritemslist-collapsed" style="display:none;" pad="++" indent="++++++++"></div><div id="MultiDict.iteritemslist-expanded"><a name="L47"></a><tt class="py-lineno">47</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">key</tt><tt class="py-op">,</tt> <tt class="py-name">value</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">iteritems</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L48"></a><tt class="py-lineno">48</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">value</tt><tt class="py-op">,</tt> <tt class="py-name">list</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L49"></a><tt class="py-lineno">49</tt> <tt class="py-line"> <tt class="py-name">value</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">value</tt><tt class="py-op">]</tt> </tt>
<a name="L50"></a><tt class="py-lineno">50</tt> <tt class="py-line"> <tt class="py-keyword">yield</tt> <tt class="py-name">key</tt><tt class="py-op">,</tt> <tt class="py-name">value</tt> </tt>
</div></div><a name="L51"></a><tt class="py-lineno">51</tt> <tt class="py-line"> </tt><script type="text/javascript">
<!--
expandto(location.href);
// -->
</script>
</pre>
<br />
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
bgcolor="#a0c0ff" cellspacing="0">
<tr valign="middle">
<!-- Home link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="scapi-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Tree link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Index link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Help link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Project homepage -->
<th class="navbar" align="right" width="100%">
<table border="0" cellpadding="0" cellspacing="0">
<tr><th class="navbar" align="center"
>SoundCloud API</th>
</tr></table></th>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
Generated by Epydoc 3.0.1 on Thu Sep 10 00:58:50 2009
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
>http://epydoc.sourceforge.net</a>
</td>
</tr>
</table>
<script type="text/javascript">
<!--
// Private objects are initially displayed (because if
// javascript is turned off then we want them to be
// visible); but by default, we want to hide them. So hide
// them unless we have a cookie that says to show them.
checkCookie();
// -->
</script>
</body>
</html>

View file

@ -0,0 +1,247 @@
<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>scapi.util.MultiDict</title>
<link rel="stylesheet" href="epydoc.css" type="text/css" />
<script type="text/javascript" src="epydoc.js"></script>
</head>
<body bgcolor="white" text="black" link="blue" vlink="#204080"
alink="#204080">
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
bgcolor="#a0c0ff" cellspacing="0">
<tr valign="middle">
<!-- Home link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="scapi-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Tree link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Index link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Help link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Project homepage -->
<th class="navbar" align="right" width="100%">
<table border="0" cellpadding="0" cellspacing="0">
<tr><th class="navbar" align="center"
>SoundCloud API</th>
</tr></table></th>
</tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0">
<tr valign="top">
<td width="100%">
<span class="breadcrumbs">
<a href="scapi-module.html">Package&nbsp;scapi</a> ::
<a href="scapi.util-module.html" onclick="show_private();">Module&nbsp;util</a> ::
Class&nbsp;MultiDict
</span>
</td>
<td>
<table cellpadding="0" cellspacing="0">
<!-- hide/show private -->
<tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
<tr><td align="right"><span class="options"
>[<a href="frames.html" target="_top">frames</a
>]&nbsp;|&nbsp;<a href="scapi.util.MultiDict-class.html"
target="_top">no&nbsp;frames</a>]</span></td></tr>
</table>
</td>
</tr>
</table>
<!-- ==================== CLASS DESCRIPTION ==================== -->
<h1 class="epydoc">Class MultiDict</h1><p class="nomargin-top"><span class="codelink"><a href="scapi.util-pysrc.html#MultiDict">source&nbsp;code</a></span></p>
<pre class="base-tree">
object --+
|
dict --+
|
<strong class="uidshort">MultiDict</strong>
</pre>
<hr />
<!-- ==================== INSTANCE METHODS ==================== -->
<a name="section-InstanceMethods"></a>
<table class="summary" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Instance Methods</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-InstanceMethods"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="add"></a><span class="summary-sig-name">add</span>(<span class="summary-sig-arg">self</span>,
<span class="summary-sig-arg">key</span>,
<span class="summary-sig-arg">new_value</span>)</span></td>
<td align="right" valign="top">
<span class="codelink"><a href="scapi.util-pysrc.html#MultiDict.add">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="iteritemslist"></a><span class="summary-sig-name">iteritemslist</span>(<span class="summary-sig-arg">self</span>)</span></td>
<td align="right" valign="top">
<span class="codelink"><a href="scapi.util-pysrc.html#MultiDict.iteritemslist">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td colspan="2" class="summary">
<p class="indent-wrapped-lines"><b>Inherited from <code>dict</code></b>:
<code>__cmp__</code>,
<code>__contains__</code>,
<code>__delitem__</code>,
<code>__eq__</code>,
<code>__ge__</code>,
<code>__getattribute__</code>,
<code>__getitem__</code>,
<code>__gt__</code>,
<code>__hash__</code>,
<code>__init__</code>,
<code>__iter__</code>,
<code>__le__</code>,
<code>__len__</code>,
<code>__lt__</code>,
<code>__ne__</code>,
<code>__new__</code>,
<code>__repr__</code>,
<code>__setitem__</code>,
<code>clear</code>,
<code>copy</code>,
<code>fromkeys</code>,
<code>get</code>,
<code>has_key</code>,
<code>items</code>,
<code>iteritems</code>,
<code>iterkeys</code>,
<code>itervalues</code>,
<code>keys</code>,
<code>pop</code>,
<code>popitem</code>,
<code>setdefault</code>,
<code>update</code>,
<code>values</code>
</p>
<p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
<code>__delattr__</code>,
<code>__reduce__</code>,
<code>__reduce_ex__</code>,
<code>__setattr__</code>,
<code>__str__</code>
</p>
</td>
</tr>
</table>
<!-- ==================== PROPERTIES ==================== -->
<a name="section-Properties"></a>
<table class="summary" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Properties</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-Properties"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
<tr>
<td colspan="2" class="summary">
<p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
<code>__class__</code>
</p>
</td>
</tr>
</table>
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
bgcolor="#a0c0ff" cellspacing="0">
<tr valign="middle">
<!-- Home link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="scapi-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Tree link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Index link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Help link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Project homepage -->
<th class="navbar" align="right" width="100%">
<table border="0" cellpadding="0" cellspacing="0">
<tr><th class="navbar" align="center"
>SoundCloud API</th>
</tr></table></th>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
Generated by Epydoc 3.0.1 on Thu Sep 10 00:58:49 2009
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
>http://epydoc.sourceforge.net</a>
</td>
</tr>
</table>
<script type="text/javascript">
<!--
// Private objects are initially displayed (because if
// javascript is turned off then we want them to be
// visible); but by default, we want to hide them. So hide
// them unless we have a cookie that says to show them.
checkCookie();
// -->
</script>
</body>
</html>

View file

@ -0,0 +1,151 @@
<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>Everything</title>
<link rel="stylesheet" href="epydoc.css" type="text/css" />
<script type="text/javascript" src="epydoc.js"></script>
</head>
<body bgcolor="white" text="black" link="blue" vlink="#204080"
alink="#204080">
<h1 class="toc">Everything</h1>
<hr />
<h2 class="toc">All Classes</h2>
<a target="mainFrame" href="exceptions.AssertionError-class.html"
>exceptions.AssertionError</a><br /> <div class="private">
<a target="mainFrame" href="scapi.ApiConnector-class.html"
>scapi.ApiConnector</a><br /> </div>
<a target="mainFrame" href="scapi.Comment-class.html"
>scapi.Comment</a><br /> <a target="mainFrame" href="scapi.Event-class.html"
>scapi.Event</a><br /> <a target="mainFrame" href="scapi.Group-class.html"
>scapi.Group</a><br /> <div class="private">
<a target="mainFrame" href="scapi.InvalidMethodException-class.html"
>scapi.InvalidMethodException</a><br /> </div>
<div class="private">
<a target="mainFrame" href="scapi.NoResultFromRequest-class.html"
>scapi.NoResultFromRequest</a><br /> </div>
<a target="mainFrame" href="scapi.Playlist-class.html"
>scapi.Playlist</a><br /> <div class="private">
<a target="mainFrame" href="scapi.RESTBase-class.html"
>scapi.RESTBase</a><br /> </div>
<div class="private">
<a target="mainFrame" href="scapi.SCRedirectHandler-class.html"
>scapi.SCRedirectHandler</a><br /> </div>
<div class="private">
<a target="mainFrame" href="scapi.Scope-class.html"
>scapi.Scope</a><br /> </div>
<a target="mainFrame" href="scapi.Track-class.html"
>scapi.Track</a><br /> <div class="private">
<a target="mainFrame" href="scapi.UnknownContentType-class.html"
>scapi.UnknownContentType</a><br /> </div>
<a target="mainFrame" href="scapi.User-class.html"
>scapi.User</a><br /> <div class="private">
<a target="mainFrame" href="scapi.authentication.BasicAuthenticator-class.html"
>scapi.authentication.BasicAuthenticator</a><br /> </div>
<div class="private">
<a target="mainFrame" href="scapi.authentication.OAuthAuthenticator-class.html"
>scapi.authentication.OAuthAuthenticator</a><br /> </div>
<div class="private">
<a target="mainFrame" href="scapi.authentication.OAuthSignatureMethod_HMAC_SHA1-class.html"
>scapi.authentication.OAuthSignatureMethod_HMAC_SHA1</a><br /> </div>
<a target="mainFrame" href="scapi.json.JsonReader-class.html"
>scapi.json.JsonReader</a><br /> <a target="mainFrame" href="scapi.json.JsonWriter-class.html"
>scapi.json.JsonWriter</a><br /> <a target="mainFrame" href="scapi.json.ReadException-class.html"
>scapi.json.ReadException</a><br /> <a target="mainFrame" href="scapi.json.WriteException-class.html"
>scapi.json.WriteException</a><br /> <div class="private">
<a target="mainFrame" href="scapi.json._StringGenerator-class.html"
>scapi.json._StringGenerator</a><br /> </div>
<a target="mainFrame" href="scapi.tests.scapi_tests.SCAPITests-class.html"
>scapi.tests.scapi_tests.SCAPITests</a><br /> <div class="private">
<a target="mainFrame" href="scapi.util.MultiDict-class.html"
>scapi.util.MultiDict</a><br /> </div>
<h2 class="toc">All Functions</h2>
<a target="mainFrame" href="scapi.json-module.html#read"
>scapi.json.read</a><br /> <a target="mainFrame" href="scapi.json-module.html#write"
>scapi.json.write</a><br /> <div class="private">
<a target="mainFrame" href="scapi-module.html#register_classes"
>scapi.register_classes</a><br /> </div>
<a target="mainFrame" href="scapi.tests.test_connect-module.html#load_config"
>scapi.tests.test_connect.load_config</a><br /> <a target="mainFrame" href="scapi.tests.test_connect-module.html#setup"
>scapi.tests.test_connect.setup</a><br /> <a target="mainFrame" href="scapi.tests.test_connect-module.html#test_access_token_acquisition"
>scapi.tests.test_connect.test_access_token_acquisition</a><br /> <a target="mainFrame" href="scapi.tests.test_connect-module.html#test_connect"
>scapi.tests.test_connect.test_connect</a><br /> <a target="mainFrame" href="scapi.tests.test_connect-module.html#test_contact_add_and_removal"
>scapi.tests.test_connect.test_contact_add_and_removal</a><br /> <a target="mainFrame" href="scapi.tests.test_connect-module.html#test_contact_list"
>scapi.tests.test_connect.test_contact_list</a><br /> <a target="mainFrame" href="scapi.tests.test_connect-module.html#test_events"
>scapi.tests.test_connect.test_events</a><br /> <a target="mainFrame" href="scapi.tests.test_connect-module.html#test_favorites"
>scapi.tests.test_connect.test_favorites</a><br /> <a target="mainFrame" href="scapi.tests.test_connect-module.html#test_large_list"
>scapi.tests.test_connect.test_large_list</a><br /> <a target="mainFrame" href="scapi.tests.test_connect-module.html#test_load_config"
>scapi.tests.test_connect.test_load_config</a><br /> <a target="mainFrame" href="scapi.tests.test_connect-module.html#test_me_having_stress"
>scapi.tests.test_connect.test_me_having_stress</a><br /> <a target="mainFrame" href="scapi.tests.test_connect-module.html#test_non_global_api"
>scapi.tests.test_connect.test_non_global_api</a><br /> <a target="mainFrame" href="scapi.tests.test_connect-module.html#test_permissions"
>scapi.tests.test_connect.test_permissions</a><br /> <a target="mainFrame" href="scapi.tests.test_connect-module.html#test_playlists"
>scapi.tests.test_connect.test_playlists</a><br /> <a target="mainFrame" href="scapi.tests.test_connect-module.html#test_scoped_track_creation"
>scapi.tests.test_connect.test_scoped_track_creation</a><br /> <a target="mainFrame" href="scapi.tests.test_connect-module.html#test_setting_comments"
>scapi.tests.test_connect.test_setting_comments</a><br /> <a target="mainFrame" href="scapi.tests.test_connect-module.html#test_setting_comments_the_way_shawn_says_its_correct"
>scapi.tests.test_connect.test_setting_comments_the_way_shawn_says_its_correct</a><br /> <a target="mainFrame" href="scapi.tests.test_connect-module.html#test_setting_permissions"
>scapi.tests.test_connect.test_setting_permissions</a><br /> <a target="mainFrame" href="scapi.tests.test_connect-module.html#test_track_creation"
>scapi.tests.test_connect.test_track_creation</a><br /> <a target="mainFrame" href="scapi.tests.test_connect-module.html#test_track_update"
>scapi.tests.test_connect.test_track_update</a><br /> <a target="mainFrame" href="scapi.tests.test_connect-module.html#test_upload"
>scapi.tests.test_connect.test_upload</a><br /> <a target="mainFrame" href="scapi.tests.test_oauth-module.html#test_base64_connect"
>scapi.tests.test_oauth.test_base64_connect</a><br /> <a target="mainFrame" href="scapi.tests.test_oauth-module.html#test_oauth_connect"
>scapi.tests.test_oauth.test_oauth_connect</a><br /> <div class="private">
<a target="mainFrame" href="scapi.util-module.html#escape"
>scapi.util.escape</a><br /> </div>
<h2 class="toc">All Variables</h2>
<a target="mainFrame" href="scapi-module.html#ACCESS_TOKEN_URL"
>scapi.ACCESS_TOKEN_URL</a><br /> <a target="mainFrame" href="scapi-module.html#AUTHORIZATION_URL"
>scapi.AUTHORIZATION_URL</a><br /> <a target="mainFrame" href="scapi-module.html#PROXY"
>scapi.PROXY</a><br /> <a target="mainFrame" href="scapi-module.html#REQUEST_TOKEN_URL"
>scapi.REQUEST_TOKEN_URL</a><br /> <a target="mainFrame" href="scapi-module.html#USE_PROXY"
>scapi.USE_PROXY</a><br /> <div class="private">
<a target="mainFrame" href="scapi.authentication-module.html#USE_DOUBLE_ESCAPE_HACK"
>scapi.authentication.USE_DOUBLE_ESCAPE_HACK</a><br /> </div>
<div class="private">
<a target="mainFrame" href="scapi.authentication-module.html#logger"
>scapi.authentication.logger</a><br /> </div>
<div class="private">
<a target="mainFrame" href="scapi-module.html#logger"
>scapi.logger</a><br /> </div>
<a target="mainFrame" href="scapi.tests.scapi_tests-module.html#api_logger"
>scapi.tests.scapi_tests.api_logger</a><br /> <a target="mainFrame" href="scapi.tests.scapi_tests-module.html#logger"
>scapi.tests.scapi_tests.logger</a><br /> <a target="mainFrame" href="scapi.tests.test_connect-module.html#API_HOST"
>scapi.tests.test_connect.API_HOST</a><br /> <a target="mainFrame" href="scapi.tests.test_connect-module.html#CONFIG_NAME"
>scapi.tests.test_connect.CONFIG_NAME</a><br /> <a target="mainFrame" href="scapi.tests.test_connect-module.html#CONNECTOR"
>scapi.tests.test_connect.CONNECTOR</a><br /> <a target="mainFrame" href="scapi.tests.test_connect-module.html#CONSUMER"
>scapi.tests.test_connect.CONSUMER</a><br /> <a target="mainFrame" href="scapi.tests.test_connect-module.html#CONSUMER_SECRET"
>scapi.tests.test_connect.CONSUMER_SECRET</a><br /> <a target="mainFrame" href="scapi.tests.test_connect-module.html#PASSWORD"
>scapi.tests.test_connect.PASSWORD</a><br /> <a target="mainFrame" href="scapi.tests.test_connect-module.html#ROOT"
>scapi.tests.test_connect.ROOT</a><br /> <a target="mainFrame" href="scapi.tests.test_connect-module.html#RUN_INTERACTIVE_TESTS"
>scapi.tests.test_connect.RUN_INTERACTIVE_TESTS</a><br /> <a target="mainFrame" href="scapi.tests.test_connect-module.html#SECRET"
>scapi.tests.test_connect.SECRET</a><br /> <a target="mainFrame" href="scapi.tests.test_connect-module.html#TOKEN"
>scapi.tests.test_connect.TOKEN</a><br /> <a target="mainFrame" href="scapi.tests.test_connect-module.html#USER"
>scapi.tests.test_connect.USER</a><br /> <a target="mainFrame" href="scapi.tests.test_connect-module.html#USE_OAUTH"
>scapi.tests.test_connect.USE_OAUTH</a><br /> <div class="private">
<a target="mainFrame" href="scapi.tests.test_connect-module.html#_logger"
>scapi.tests.test_connect._logger</a><br /> </div>
<a target="mainFrame" href="scapi.tests.test_connect-module.html#logger"
>scapi.tests.test_connect.logger</a><br /> <a target="mainFrame" href="scapi.tests.test_oauth-module.html#CONSUMER"
>scapi.tests.test_oauth.CONSUMER</a><br /> <a target="mainFrame" href="scapi.tests.test_oauth-module.html#CONSUMER_SECRET"
>scapi.tests.test_oauth.CONSUMER_SECRET</a><br /> <a target="mainFrame" href="scapi.tests.test_oauth-module.html#SECRET"
>scapi.tests.test_oauth.SECRET</a><br /> <a target="mainFrame" href="scapi.tests.test_oauth-module.html#TOKEN"
>scapi.tests.test_oauth.TOKEN</a><br /> <div class="private">
<a target="mainFrame" href="scapi.tests.test_oauth-module.html#_logger"
>scapi.tests.test_oauth._logger</a><br /> </div>
<a target="mainFrame" href="scapi.tests.test_oauth-module.html#logger"
>scapi.tests.test_oauth.logger</a><br /><hr />
<span class="options">[<a href="javascript:void(0);" class="privatelink"
onclick="toggle_private();">hide&nbsp;private</a>]</span>
<script type="text/javascript">
<!--
// Private objects are initially displayed (because if
// javascript is turned off then we want them to be
// visible); but by default, we want to hide them. So hide
// them unless we have a cookie that says to show them.
checkCookie();
// -->
</script>
</body>
</html>

View file

@ -0,0 +1,70 @@
<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>scapi</title>
<link rel="stylesheet" href="epydoc.css" type="text/css" />
<script type="text/javascript" src="epydoc.js"></script>
</head>
<body bgcolor="white" text="black" link="blue" vlink="#204080"
alink="#204080">
<h1 class="toc">Module scapi</h1>
<hr />
<h2 class="toc">Classes</h2>
<div class="private">
<a target="mainFrame" href="scapi.ApiConnector-class.html"
>ApiConnector</a><br /> </div>
<a target="mainFrame" href="scapi.Comment-class.html"
>Comment</a><br /> <a target="mainFrame" href="scapi.Event-class.html"
>Event</a><br /> <a target="mainFrame" href="scapi.Group-class.html"
>Group</a><br /> <div class="private">
<a target="mainFrame" href="scapi.InvalidMethodException-class.html"
>InvalidMethodException</a><br /> </div>
<div class="private">
<a target="mainFrame" href="scapi.NoResultFromRequest-class.html"
>NoResultFromRequest</a><br /> </div>
<a target="mainFrame" href="scapi.Playlist-class.html"
>Playlist</a><br /> <div class="private">
<a target="mainFrame" href="scapi.RESTBase-class.html"
>RESTBase</a><br /> </div>
<div class="private">
<a target="mainFrame" href="scapi.SCRedirectHandler-class.html"
>SCRedirectHandler</a><br /> </div>
<div class="private">
<a target="mainFrame" href="scapi.Scope-class.html"
>Scope</a><br /> </div>
<a target="mainFrame" href="scapi.Track-class.html"
>Track</a><br /> <div class="private">
<a target="mainFrame" href="scapi.UnknownContentType-class.html"
>UnknownContentType</a><br /> </div>
<a target="mainFrame" href="scapi.User-class.html"
>User</a><br /> <h2 class="toc">Functions</h2>
<div class="private">
<a target="mainFrame" href="scapi-module.html#register_classes"
>register_classes</a><br /> </div>
<h2 class="toc">Variables</h2>
<a target="mainFrame" href="scapi-module.html#ACCESS_TOKEN_URL"
>ACCESS_TOKEN_URL</a><br /> <a target="mainFrame" href="scapi-module.html#AUTHORIZATION_URL"
>AUTHORIZATION_URL</a><br /> <a target="mainFrame" href="scapi-module.html#PROXY"
>PROXY</a><br /> <a target="mainFrame" href="scapi-module.html#REQUEST_TOKEN_URL"
>REQUEST_TOKEN_URL</a><br /> <a target="mainFrame" href="scapi-module.html#USE_PROXY"
>USE_PROXY</a><br /> <div class="private">
<a target="mainFrame" href="scapi-module.html#logger"
>logger</a><br /> </div>
<hr />
<span class="options">[<a href="javascript:void(0);" class="privatelink"
onclick="toggle_private();">hide&nbsp;private</a>]</span>
<script type="text/javascript">
<!--
// Private objects are initially displayed (because if
// javascript is turned off then we want them to be
// visible); but by default, we want to hide them. So hide
// them unless we have a cookie that says to show them.
checkCookie();
// -->
</script>
</body>
</html>

View file

@ -0,0 +1,46 @@
<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>authentication</title>
<link rel="stylesheet" href="epydoc.css" type="text/css" />
<script type="text/javascript" src="epydoc.js"></script>
</head>
<body bgcolor="white" text="black" link="blue" vlink="#204080"
alink="#204080">
<h1 class="toc">Module authentication</h1>
<hr />
<h2 class="toc">Classes</h2>
<div class="private">
<a target="mainFrame" href="scapi.authentication.BasicAuthenticator-class.html"
>BasicAuthenticator</a><br /> </div>
<div class="private">
<a target="mainFrame" href="scapi.authentication.OAuthAuthenticator-class.html"
>OAuthAuthenticator</a><br /> </div>
<div class="private">
<a target="mainFrame" href="scapi.authentication.OAuthSignatureMethod_HMAC_SHA1-class.html"
>OAuthSignatureMethod_HMAC_SHA1</a><br /> </div>
<h2 class="toc">Variables</h2>
<div class="private">
<a target="mainFrame" href="scapi.authentication-module.html#USE_DOUBLE_ESCAPE_HACK"
>USE_DOUBLE_ESCAPE_HACK</a><br /> </div>
<div class="private">
<a target="mainFrame" href="scapi.authentication-module.html#logger"
>logger</a><br /> </div>
<hr />
<span class="options">[<a href="javascript:void(0);" class="privatelink"
onclick="toggle_private();">hide&nbsp;private</a>]</span>
<script type="text/javascript">
<!--
// Private objects are initially displayed (because if
// javascript is turned off then we want them to be
// visible); but by default, we want to hide them. So hide
// them unless we have a cookie that says to show them.
checkCookie();
// -->
</script>
</body>
</html>

View file

@ -0,0 +1,29 @@
<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>config</title>
<link rel="stylesheet" href="epydoc.css" type="text/css" />
<script type="text/javascript" src="epydoc.js"></script>
</head>
<body bgcolor="white" text="black" link="blue" vlink="#204080"
alink="#204080">
<h1 class="toc">Module config</h1>
<hr />
<hr />
<span class="options">[<a href="javascript:void(0);" class="privatelink"
onclick="toggle_private();">hide&nbsp;private</a>]</span>
<script type="text/javascript">
<!--
// Private objects are initially displayed (because if
// javascript is turned off then we want them to be
// visible); but by default, we want to hide them. So hide
// them unless we have a cookie that says to show them.
checkCookie();
// -->
</script>
</body>
</html>

View file

@ -0,0 +1,40 @@
<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>json</title>
<link rel="stylesheet" href="epydoc.css" type="text/css" />
<script type="text/javascript" src="epydoc.js"></script>
</head>
<body bgcolor="white" text="black" link="blue" vlink="#204080"
alink="#204080">
<h1 class="toc">Module json</h1>
<hr />
<h2 class="toc">Classes</h2>
<a target="mainFrame" href="scapi.json.JsonReader-class.html"
>JsonReader</a><br /> <a target="mainFrame" href="scapi.json.JsonWriter-class.html"
>JsonWriter</a><br /> <a target="mainFrame" href="scapi.json.ReadException-class.html"
>ReadException</a><br /> <a target="mainFrame" href="scapi.json.WriteException-class.html"
>WriteException</a><br /> <div class="private">
<a target="mainFrame" href="scapi.json._StringGenerator-class.html"
>_StringGenerator</a><br /> </div>
<h2 class="toc">Functions</h2>
<a target="mainFrame" href="scapi.json-module.html#read"
>read</a><br /> <a target="mainFrame" href="scapi.json-module.html#write"
>write</a><br /><hr />
<span class="options">[<a href="javascript:void(0);" class="privatelink"
onclick="toggle_private();">hide&nbsp;private</a>]</span>
<script type="text/javascript">
<!--
// Private objects are initially displayed (because if
// javascript is turned off then we want them to be
// visible); but by default, we want to hide them. So hide
// them unless we have a cookie that says to show them.
checkCookie();
// -->
</script>
</body>
</html>

View file

@ -0,0 +1,29 @@
<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>multidict</title>
<link rel="stylesheet" href="epydoc.css" type="text/css" />
<script type="text/javascript" src="epydoc.js"></script>
</head>
<body bgcolor="white" text="black" link="blue" vlink="#204080"
alink="#204080">
<h1 class="toc">Module multidict</h1>
<hr />
<hr />
<span class="options">[<a href="javascript:void(0);" class="privatelink"
onclick="toggle_private();">hide&nbsp;private</a>]</span>
<script type="text/javascript">
<!--
// Private objects are initially displayed (because if
// javascript is turned off then we want them to be
// visible); but by default, we want to hide them. So hide
// them unless we have a cookie that says to show them.
checkCookie();
// -->
</script>
</body>
</html>

View file

@ -0,0 +1,29 @@
<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>tests</title>
<link rel="stylesheet" href="epydoc.css" type="text/css" />
<script type="text/javascript" src="epydoc.js"></script>
</head>
<body bgcolor="white" text="black" link="blue" vlink="#204080"
alink="#204080">
<h1 class="toc">Module tests</h1>
<hr />
<hr />
<span class="options">[<a href="javascript:void(0);" class="privatelink"
onclick="toggle_private();">hide&nbsp;private</a>]</span>
<script type="text/javascript">
<!--
// Private objects are initially displayed (because if
// javascript is turned off then we want them to be
// visible); but by default, we want to hide them. So hide
// them unless we have a cookie that says to show them.
checkCookie();
// -->
</script>
</body>
</html>

View file

@ -0,0 +1,34 @@
<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>scapi_tests</title>
<link rel="stylesheet" href="epydoc.css" type="text/css" />
<script type="text/javascript" src="epydoc.js"></script>
</head>
<body bgcolor="white" text="black" link="blue" vlink="#204080"
alink="#204080">
<h1 class="toc">Module scapi_tests</h1>
<hr />
<h2 class="toc">Classes</h2>
<a target="mainFrame" href="scapi.tests.scapi_tests.SCAPITests-class.html"
>SCAPITests</a><br /> <h2 class="toc">Variables</h2>
<a target="mainFrame" href="scapi.tests.scapi_tests-module.html#api_logger"
>api_logger</a><br /> <a target="mainFrame" href="scapi.tests.scapi_tests-module.html#logger"
>logger</a><br /><hr />
<span class="options">[<a href="javascript:void(0);" class="privatelink"
onclick="toggle_private();">hide&nbsp;private</a>]</span>
<script type="text/javascript">
<!--
// Private objects are initially displayed (because if
// javascript is turned off then we want them to be
// visible); but by default, we want to hide them. So hide
// them unless we have a cookie that says to show them.
checkCookie();
// -->
</script>
</body>
</html>

View file

@ -0,0 +1,68 @@
<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>test_connect</title>
<link rel="stylesheet" href="epydoc.css" type="text/css" />
<script type="text/javascript" src="epydoc.js"></script>
</head>
<body bgcolor="white" text="black" link="blue" vlink="#204080"
alink="#204080">
<h1 class="toc">Module test_connect</h1>
<hr />
<h2 class="toc">Functions</h2>
<a target="mainFrame" href="scapi.tests.test_connect-module.html#load_config"
>load_config</a><br /> <a target="mainFrame" href="scapi.tests.test_connect-module.html#setup"
>setup</a><br /> <a target="mainFrame" href="scapi.tests.test_connect-module.html#test_access_token_acquisition"
>test_access_token_acquisition</a><br /> <a target="mainFrame" href="scapi.tests.test_connect-module.html#test_connect"
>test_connect</a><br /> <a target="mainFrame" href="scapi.tests.test_connect-module.html#test_contact_add_and_removal"
>test_contact_add_and_removal</a><br /> <a target="mainFrame" href="scapi.tests.test_connect-module.html#test_contact_list"
>test_contact_list</a><br /> <a target="mainFrame" href="scapi.tests.test_connect-module.html#test_events"
>test_events</a><br /> <a target="mainFrame" href="scapi.tests.test_connect-module.html#test_favorites"
>test_favorites</a><br /> <a target="mainFrame" href="scapi.tests.test_connect-module.html#test_large_list"
>test_large_list</a><br /> <a target="mainFrame" href="scapi.tests.test_connect-module.html#test_load_config"
>test_load_config</a><br /> <a target="mainFrame" href="scapi.tests.test_connect-module.html#test_me_having_stress"
>test_me_having_stress</a><br /> <a target="mainFrame" href="scapi.tests.test_connect-module.html#test_non_global_api"
>test_non_global_api</a><br /> <a target="mainFrame" href="scapi.tests.test_connect-module.html#test_permissions"
>test_permissions</a><br /> <a target="mainFrame" href="scapi.tests.test_connect-module.html#test_playlists"
>test_playlists</a><br /> <a target="mainFrame" href="scapi.tests.test_connect-module.html#test_scoped_track_creation"
>test_scoped_track_creation</a><br /> <a target="mainFrame" href="scapi.tests.test_connect-module.html#test_setting_comments"
>test_setting_comments</a><br /> <a target="mainFrame" href="scapi.tests.test_connect-module.html#test_setting_comments_the_way_shawn_says_its_correct"
>test_setting_comments_the_way_shawn_says_its_correct</a><br /> <a target="mainFrame" href="scapi.tests.test_connect-module.html#test_setting_permissions"
>test_setting_permissions</a><br /> <a target="mainFrame" href="scapi.tests.test_connect-module.html#test_track_creation"
>test_track_creation</a><br /> <a target="mainFrame" href="scapi.tests.test_connect-module.html#test_track_update"
>test_track_update</a><br /> <a target="mainFrame" href="scapi.tests.test_connect-module.html#test_upload"
>test_upload</a><br /> <h2 class="toc">Variables</h2>
<a target="mainFrame" href="scapi.tests.test_connect-module.html#API_HOST"
>API_HOST</a><br /> <a target="mainFrame" href="scapi.tests.test_connect-module.html#CONFIG_NAME"
>CONFIG_NAME</a><br /> <a target="mainFrame" href="scapi.tests.test_connect-module.html#CONNECTOR"
>CONNECTOR</a><br /> <a target="mainFrame" href="scapi.tests.test_connect-module.html#CONSUMER"
>CONSUMER</a><br /> <a target="mainFrame" href="scapi.tests.test_connect-module.html#CONSUMER_SECRET"
>CONSUMER_SECRET</a><br /> <a target="mainFrame" href="scapi.tests.test_connect-module.html#PASSWORD"
>PASSWORD</a><br /> <a target="mainFrame" href="scapi.tests.test_connect-module.html#ROOT"
>ROOT</a><br /> <a target="mainFrame" href="scapi.tests.test_connect-module.html#RUN_INTERACTIVE_TESTS"
>RUN_INTERACTIVE_TESTS</a><br /> <a target="mainFrame" href="scapi.tests.test_connect-module.html#SECRET"
>SECRET</a><br /> <a target="mainFrame" href="scapi.tests.test_connect-module.html#TOKEN"
>TOKEN</a><br /> <a target="mainFrame" href="scapi.tests.test_connect-module.html#USER"
>USER</a><br /> <a target="mainFrame" href="scapi.tests.test_connect-module.html#USE_OAUTH"
>USE_OAUTH</a><br /> <div class="private">
<a target="mainFrame" href="scapi.tests.test_connect-module.html#_logger"
>_logger</a><br /> </div>
<a target="mainFrame" href="scapi.tests.test_connect-module.html#logger"
>logger</a><br /><hr />
<span class="options">[<a href="javascript:void(0);" class="privatelink"
onclick="toggle_private();">hide&nbsp;private</a>]</span>
<script type="text/javascript">
<!--
// Private objects are initially displayed (because if
// javascript is turned off then we want them to be
// visible); but by default, we want to hide them. So hide
// them unless we have a cookie that says to show them.
checkCookie();
// -->
</script>
</body>
</html>

View file

@ -0,0 +1,41 @@
<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>test_oauth</title>
<link rel="stylesheet" href="epydoc.css" type="text/css" />
<script type="text/javascript" src="epydoc.js"></script>
</head>
<body bgcolor="white" text="black" link="blue" vlink="#204080"
alink="#204080">
<h1 class="toc">Module test_oauth</h1>
<hr />
<h2 class="toc">Functions</h2>
<a target="mainFrame" href="scapi.tests.test_oauth-module.html#test_base64_connect"
>test_base64_connect</a><br /> <a target="mainFrame" href="scapi.tests.test_oauth-module.html#test_oauth_connect"
>test_oauth_connect</a><br /> <h2 class="toc">Variables</h2>
<a target="mainFrame" href="scapi.tests.test_oauth-module.html#CONSUMER"
>CONSUMER</a><br /> <a target="mainFrame" href="scapi.tests.test_oauth-module.html#CONSUMER_SECRET"
>CONSUMER_SECRET</a><br /> <a target="mainFrame" href="scapi.tests.test_oauth-module.html#SECRET"
>SECRET</a><br /> <a target="mainFrame" href="scapi.tests.test_oauth-module.html#TOKEN"
>TOKEN</a><br /> <div class="private">
<a target="mainFrame" href="scapi.tests.test_oauth-module.html#_logger"
>_logger</a><br /> </div>
<a target="mainFrame" href="scapi.tests.test_oauth-module.html#logger"
>logger</a><br /><hr />
<span class="options">[<a href="javascript:void(0);" class="privatelink"
onclick="toggle_private();">hide&nbsp;private</a>]</span>
<script type="text/javascript">
<!--
// Private objects are initially displayed (because if
// javascript is turned off then we want them to be
// visible); but by default, we want to hide them. So hide
// them unless we have a cookie that says to show them.
checkCookie();
// -->
</script>
</body>
</html>

View file

@ -0,0 +1,37 @@
<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>util</title>
<link rel="stylesheet" href="epydoc.css" type="text/css" />
<script type="text/javascript" src="epydoc.js"></script>
</head>
<body bgcolor="white" text="black" link="blue" vlink="#204080"
alink="#204080">
<h1 class="toc">Module util</h1>
<hr />
<h2 class="toc">Classes</h2>
<div class="private">
<a target="mainFrame" href="scapi.util.MultiDict-class.html"
>MultiDict</a><br /> </div>
<h2 class="toc">Functions</h2>
<div class="private">
<a target="mainFrame" href="scapi.util-module.html#escape"
>escape</a><br /> </div>
<hr />
<span class="options">[<a href="javascript:void(0);" class="privatelink"
onclick="toggle_private();">hide&nbsp;private</a>]</span>
<script type="text/javascript">
<!--
// Private objects are initially displayed (because if
// javascript is turned off then we want them to be
// visible); but by default, we want to hide them. So hide
// them unless we have a cookie that says to show them.
checkCookie();
// -->
</script>
</body>
</html>

View file

@ -0,0 +1,46 @@
<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>Table of Contents</title>
<link rel="stylesheet" href="epydoc.css" type="text/css" />
<script type="text/javascript" src="epydoc.js"></script>
</head>
<body bgcolor="white" text="black" link="blue" vlink="#204080"
alink="#204080">
<h1 class="toc">Table&nbsp;of&nbsp;Contents</h1>
<hr />
<a target="moduleFrame" href="toc-everything.html">Everything</a>
<br />
<h2 class="toc">Modules</h2>
<a target="moduleFrame" href="toc-scapi-module.html"
onclick="setFrame('toc-scapi-module.html','scapi-module.html');" >scapi</a><br /> <div class="private">
<a target="moduleFrame" href="toc-scapi.authentication-module.html"
onclick="setFrame('toc-scapi.authentication-module.html','scapi.authentication-module.html');" >scapi.authentication</a><br /> </div>
<a target="moduleFrame" href="toc-scapi.config-module.html"
onclick="setFrame('toc-scapi.config-module.html','scapi.config-module.html');" >scapi.config</a><br /> <a target="moduleFrame" href="toc-scapi.json-module.html"
onclick="setFrame('toc-scapi.json-module.html','scapi.json-module.html');" >scapi.json</a><br /> <a target="moduleFrame" href="toc-scapi.multidict-module.html"
onclick="setFrame('toc-scapi.multidict-module.html','scapi.multidict-module.html');" >scapi.multidict</a><br /> <a target="moduleFrame" href="toc-scapi.tests-module.html"
onclick="setFrame('toc-scapi.tests-module.html','scapi.tests-module.html');" >scapi.tests</a><br /> <a target="moduleFrame" href="toc-scapi.tests.scapi_tests-module.html"
onclick="setFrame('toc-scapi.tests.scapi_tests-module.html','scapi.tests.scapi_tests-module.html');" >scapi.tests.scapi_tests</a><br /> <a target="moduleFrame" href="toc-scapi.tests.test_connect-module.html"
onclick="setFrame('toc-scapi.tests.test_connect-module.html','scapi.tests.test_connect-module.html');" >scapi.tests.test_connect</a><br /> <a target="moduleFrame" href="toc-scapi.tests.test_oauth-module.html"
onclick="setFrame('toc-scapi.tests.test_oauth-module.html','scapi.tests.test_oauth-module.html');" >scapi.tests.test_oauth</a><br /> <div class="private">
<a target="moduleFrame" href="toc-scapi.util-module.html"
onclick="setFrame('toc-scapi.util-module.html','scapi.util-module.html');" >scapi.util</a><br /> </div>
<hr />
<span class="options">[<a href="javascript:void(0);" class="privatelink"
onclick="toggle_private();">hide&nbsp;private</a>]</span>
<script type="text/javascript">
<!--
// Private objects are initially displayed (because if
// javascript is turned off then we want them to be
// visible); but by default, we want to hide them. So hide
// them unless we have a cookie that says to show them.
checkCookie();
// -->
</script>
</body>
</html>