1# Licensed under the LGPL: https://www.gnu.org/licenses/old-licenses/lgpl-2.1.en.html
2# For details: https://github.com/pylint-dev/astroid/blob/main/LICENSE
3# Copyright (c) https://github.com/pylint-dev/astroid/blob/main/CONTRIBUTORS.txt
4
5from astroid import nodes
6from astroid.brain.helpers import register_module_extender
7from astroid.builder import AstroidBuilder
8from astroid.manager import AstroidManager
9
10
11def mechanize_transform() -> nodes.Module:
12 return AstroidBuilder(AstroidManager()).string_build(
13 """class Browser(object):
14 def __getattr__(self, name):
15 return None
16
17 def __getitem__(self, name):
18 return None
19
20 def __setitem__(self, name, val):
21 return None
22
23 def back(self, n=1):
24 return None
25
26 def clear_history(self):
27 return None
28
29 def click(self, *args, **kwds):
30 return None
31
32 def click_link(self, link=None, **kwds):
33 return None
34
35 def close(self):
36 return None
37
38 def encoding(self):
39 return None
40
41 def find_link(
42 self,
43 text=None,
44 text_regex=None,
45 name=None,
46 name_regex=None,
47 url=None,
48 url_regex=None,
49 tag=None,
50 predicate=None,
51 nr=0,
52 ):
53 return None
54
55 def follow_link(self, link=None, **kwds):
56 return None
57
58 def forms(self):
59 return None
60
61 def geturl(self):
62 return None
63
64 def global_form(self):
65 return None
66
67 def links(self, **kwds):
68 return None
69
70 def open_local_file(self, filename):
71 return None
72
73 def open(self, url, data=None, timeout=None):
74 return None
75
76 def open_novisit(self, url, data=None, timeout=None):
77 return None
78
79 def open_local_file(self, filename):
80 return None
81
82 def reload(self):
83 return None
84
85 def response(self):
86 return None
87
88 def select_form(self, name=None, predicate=None, nr=None, **attrs):
89 return None
90
91 def set_cookie(self, cookie_string):
92 return None
93
94 def set_handle_referer(self, handle):
95 return None
96
97 def set_header(self, header, value=None):
98 return None
99
100 def set_html(self, html, url="http://example.com/"):
101 return None
102
103 def set_response(self, response):
104 return None
105
106 def set_simple_cookie(self, name, value, domain, path="/"):
107 return None
108
109 def submit(self, *args, **kwds):
110 return None
111
112 def title(self):
113 return None
114
115 def viewing_html(self):
116 return None
117
118 def visit_response(self, response, request=None):
119 return None
120"""
121 )
122
123
124def register(manager: AstroidManager) -> None:
125 register_module_extender(manager, "mechanize", mechanize_transform)