Your IP : 216.73.216.196
B
�ˀX� � @ sT d dl mZmZ d dlmZ d dlmZ d dlmZ d dl m
Z
G dd� de�ZdS ) � )�matchers�serializers)�BetamaxAdapter)�Cassette)�
Configuration)�Optionsc @ sv e Zd ZdZdi fdd�Zdd� Zdd� Zed d
� �Ze dd� �Z
ed
d� �Zedd� �Zdd� Z
dd� Zdd� ZdS )�Betamaxa This object contains the main API of the request-vcr library.
This object is entirely a context manager so all you have to do is:
.. code::
s = requests.Session()
with Betamax(s) as vcr:
vcr.use_cassette('example')
r = s.get('https://httpbin.org/get')
Or more concisely, you can do:
.. code::
s = requests.Session()
with Betamax(s).use_cassette('example') as vcr:
r = s.get('https://httpbin.org/get')
This object allows for the user to specify the cassette library directory
and default cassette options.
.. code::
s = requests.Session()
with Betamax(s, cassette_library_dir='tests/cassettes') as vcr:
vcr.use_cassette('example')
r = s.get('https://httpbin.org/get')
with Betamax(s, default_cassette_options={
're_record_interval': 1000
}) as vcr:
vcr.use_cassette('example')
r = s.get('https://httpbin.org/get')
Nc C sJ || _ |j�� | _t| jd�| _t� | _| jj� |p6i � |rF|| j_
d S )N)Zold_adapters)�sessionZadapters�copy�
http_adaptersr �betamax_adapterr �config�default_cassette_options�update�cassette_library_dir)�selfr r r � r �A/opt/alt/python37/lib/python3.7/site-packages/betamax/recorder.py�__init__0 s
zBetamax.__init__c C s | � � | S )N)�start)r r r r � __enter__C s zBetamax.__enter__c G s | � � t|�rdS d S )NF)�stop�any)r Zex_argsr r r �__exit__G s zBetamax.__exit__c C s t � S )aA Help to configure the library as a whole.
.. code::
with Betamax.configure() as config:
config.cassette_library_dir = 'tests/cassettes/'
config.default_cassette_options['match_options'] = [
'method', 'uri', 'headers'
]
)r r r r r � configureP s zBetamax.configurec C s | j jS )zwReturn the cassette that is currently in use.
:returns: :class:`Cassette <betamax.cassette.Cassette>`
)r �cassette)r r r r �current_cassette^ s zBetamax.current_cassettec C s | � t j| j<