Format: application/x-python-code
1 o
2
3 E'h�4 � @ s� d dl mZ d dlZd dlZd dlZd dlmZmZ d dlmZ d dl m
4 Z
5 d dlmZ d dl
6 Z
7 d dlZddlmZ dd lmZmZ dd
8 lmZ e�e�Zi d d�dd�d
9 d�dd�dd�dd�dd�dd�dd�dd�dd�dd �d!d"�d#d$�d%d&�d'd(�Zd�d2d3�Zd�d6d7�Zd�d9d:�Zd�d;d<�Zd�d=d>�Zd�dDdE�Z F d�d�dKdL�Z e
10 j!dFdM�d�dNdO��Z"d�dPdQ�Z#e"�$� d�dRdS��Ze"�$� e
11 j%dTdUdFdVdW�e
12 j%dXdYdZd[d\�e
13 j%d]d^d_e
14 �&g d`��da�e
15 j%dbdce
16 �&g dd��dedf�e
17 j%dgdhe'didf�e
18 j%djdkdldm�e
19 j%dndodFdpdqdr�e
20 j%dsdtdudm�e
21 j%dvdwdxe
22 �&g dy��da�e
23 j%dzd{dd|d\�e
24 j%d}d~ddm�e
25 j%d�d�dFd�d\�d�d�d���������������Z(e"�$� e
26 j%dTdUdFd�dW�e
27 j%dXdYdZd[d\�e
28 j%d]d^d_e
29 �&g d`��da�e
30 j%dbdce
31 �&g d���d��e
32 j%d�d�e
33 �&g d���d��e
34 j%d�d�e
35 �&g d���d��e
36 j%d�d�e
37 �&g d���d��e
38 j%d�d�e
39 �&g d���d��e
40 j%d�d�e
41 �&g d���d��e
42 j%dgdhe'didf�e
43 j%djdkdldm�e
44 j%dndodFdpdqdr�e
45 j%dsdtdudm�e
46 j%dzd{dd|d\�e
47 j%d}d~ddm�e
48 j%d�d�dFd�d\�d�d�d�������������������Z)e"�$� e
49 j%dTdUdFd�dW�e
50 j%dXdYdZd[d\�e
51 j%d]d^d_e
52 �&g d`��da�e
53 j%dbdce
54 �&g d���d�df�e
55 j%d�d�e
56 �&d�d�g�d��e
57 j%dnd�e
58 �&g d���d��e
59 j%d�d�e
60 �&d�d�g�d��e
61 j%dgdhe'didf�e
62 j%djdkdldm�e
63 j%d}d~ddm�e
64 j%d�d�dFd�d\�d�d�d��������������Z*e"�$� e
65 j%dTdUdFd�dW�e
66 j%dXdYdZd[d\�e
67 j%d]d^d_e
68 �&g d`��da�e
69 j%dbdce
70 �&g dd��dedf�e
71 j%dgdhe'didf�e
72 j%djdkdldm�e
73 j%d}d~ddm�e
74 j%d�d�dFd�d\�d�d�d�����������Z+ed�k�r�e"d�d�� dS dS )�� )�annotationsN)�ThreadPoolExecutor�as_completed)�datetime)�Path)�unquote� )�DDGS)�_expand_proxy_tb_alias�
75 json_dumps)�__version__�black�red� �green� �yellow� �blue� �magenta� �cyan� �bright_black� �
76 bright_red� �bright_green�
77 �
78 bright_yellow� �bright_blue� �bright_magenta�
79 �bright_cyan� �white� �bright_white�keywords�str�data�list[dict[str, str]]�
80 function_name�filename�
81 str | None�return�Nonec C s� |r
82 |� d�r
83 |�dd�nd |f\}}|r|n|� d| � dt�� d��}|dkr4t|� d|� �|� d S |dkrDt|� d|� �|� d S d S )N)z.csvz.json�.r �_�
84 %Y%m%d_%H%M%S�csv�json)�endswith�rsplitr �now� _save_csv�
85 _save_json)r+ r- r/ r0 �ext� r? �KC:\Users\shubh\Videos\agent\nova\Lib\site-packages\duckduckgo_search/cli.py�
86 _save_data( s &"�rA �jsonfile�
87 str | Pathc C sB t | ddd��}|�t|�� W d � d S 1 sw Y d S )N�w�utf-8)�encoding)�open�writer )rB r- �filer? r? r@ r= 1 s "�r= �csvfilec C sz t | dddd��+}|r+|d �� }tj||tjd�}|�� |�|� W d � d S W d � d S 1 s6w Y d S )NrD � rE )�newlinerF r )�
88 fieldnames�quoting)rG �keysr7 �
89 DictWriter�
90 QUOTE_MINIMAL�writeheader� writerows)rJ r- rI �headers�writerr? r? r@ r<