1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
|
%global _empty_manifest_terminate_build 0
Name: python-pyderman
Version: 3.3.2
Release: 1
Summary: Installs the latest Chrome/Firefox/Opera/PhantomJS/Edge web drivers automatically.
License: MIT
URL: https://github.com/shadowmoose/pyderman
Source0: https://mirrors.nju.edu.cn/pypi/web/packages/a5/a8/2230287f36a9bfcbcfdacf59731b4d66475340d3180b078c6953774e9595/pyderman-3.3.2.tar.gz
BuildArch: noarch
Requires: python3-black
Requires: python3-flake8
Requires: python3-isort
Requires: python3-mypy
Requires: python3-pre-commit
Requires: python3-setuptools
Requires: python3-twine
Requires: python3-types-setuptools
Requires: python3-wheel
%description
# Pyderman (Selenium Web Driver Installer)
[](https://github.com/shadowmoose/pyderman/actions?query=workflow%3AUbuntu) [](https://github.com/shadowmoose/pyderman/actions?query=workflow%3AMacOS) [](https://github.com/shadowmoose/pyderman/actions?query=workflow%3AWindows) [](https://github.com/shadowmoose/pyderman/actions/workflows/test-macOS-sur.yml)
This is a fast, simple, dependency-free package that can automatically find & download any version of
the _Google Chrome (chromeDriver), Firefox (geckoDriver), PhantomJS, Opera (operaDriver), and Edge (edgeDriver)_ web drivers.
This project was built to allow developers to seamlessly include selenium support on the user-side, without requiring any manual configuration on their part. It will automatically locate the correct driver binary for the platform & version you choose, as well as setting the os-specific permissions after downloading.
It is [tested daily](https://github.com/shadowmoose/pyderman/actions) on Windows/Linux/macOS against Python versions 3.7+.
## Installation
To install the library, run:
```bash
pip install pyderman
```
## Usage
After installed, call it in your code like so:
```python
import pyderman as driver
path = driver.install(browser=driver.firefox)
print(f"Installed geckodriver driver to path: {path}")
```
There are options for the output directory, disabling printout, running chmod on the downloaded executable,
automatic overwriting, executable file name, and version number.
All parameters are optional, and the default values are listed below.
This example downloads the Chrome Driver instead, by changing `browser` like so:
```python
import pyderman as dr
path = dr.install(browser=dr.chrome, file_directory='./lib/', verbose=True, chmod=True, overwrite=False, version=None, filename=None, return_info=False)
print(f"Installed chromedriver to path: {path}")
```
The download is very fast, and will skip downloading if the file already exists. This behavior can be toggled with `overwrite`.
## Notes
### Note on MS Edge
Microsoft has switched Edge to use a flavor of Chrome behind the scenes. As of October 2019, Pyderman will download this MS Chromium Driver. Their driver is experimental, so make sure you know what you're doing if you use this driver. If you require stability, it is recommended you specify a version instead of using the "latest".
### Note on macOS
Some versions of macOS have certificate issues with Python. Typically, in recent versions of Python, it will prompt you to install these when you install Python. Since Python needs these installed in order to make https requests, you may need to install these first. Depending on your project, it may also be possible to include a library to automatically import these certificates. Please visit [this link](https://timonweb.com/tutorials/fixing-certificate_verify_failed-error-when-trying-requests_html-out-on-mac/) to learn more.
### Note on Big Sur
Apple broke a ton of compatibility moving to Big Sur, and now many of the web drivers do not have working builds within the new architecture. This project will only halfheartedly attempt to keep any drivers working on Big Sur architecture until all the available drivers have stable release patterns for the platform.
## Why's it called 'Pyderman'?
Because it installs _web_-drivers. [Get it?](https://youtu.be/4o29VoxtsFk)
%package -n python3-pyderman
Summary: Installs the latest Chrome/Firefox/Opera/PhantomJS/Edge web drivers automatically.
Provides: python-pyderman
BuildRequires: python3-devel
BuildRequires: python3-setuptools
BuildRequires: python3-pip
%description -n python3-pyderman
# Pyderman (Selenium Web Driver Installer)
[](https://github.com/shadowmoose/pyderman/actions?query=workflow%3AUbuntu) [](https://github.com/shadowmoose/pyderman/actions?query=workflow%3AMacOS) [](https://github.com/shadowmoose/pyderman/actions?query=workflow%3AWindows) [](https://github.com/shadowmoose/pyderman/actions/workflows/test-macOS-sur.yml)
This is a fast, simple, dependency-free package that can automatically find & download any version of
the _Google Chrome (chromeDriver), Firefox (geckoDriver), PhantomJS, Opera (operaDriver), and Edge (edgeDriver)_ web drivers.
This project was built to allow developers to seamlessly include selenium support on the user-side, without requiring any manual configuration on their part. It will automatically locate the correct driver binary for the platform & version you choose, as well as setting the os-specific permissions after downloading.
It is [tested daily](https://github.com/shadowmoose/pyderman/actions) on Windows/Linux/macOS against Python versions 3.7+.
## Installation
To install the library, run:
```bash
pip install pyderman
```
## Usage
After installed, call it in your code like so:
```python
import pyderman as driver
path = driver.install(browser=driver.firefox)
print(f"Installed geckodriver driver to path: {path}")
```
There are options for the output directory, disabling printout, running chmod on the downloaded executable,
automatic overwriting, executable file name, and version number.
All parameters are optional, and the default values are listed below.
This example downloads the Chrome Driver instead, by changing `browser` like so:
```python
import pyderman as dr
path = dr.install(browser=dr.chrome, file_directory='./lib/', verbose=True, chmod=True, overwrite=False, version=None, filename=None, return_info=False)
print(f"Installed chromedriver to path: {path}")
```
The download is very fast, and will skip downloading if the file already exists. This behavior can be toggled with `overwrite`.
## Notes
### Note on MS Edge
Microsoft has switched Edge to use a flavor of Chrome behind the scenes. As of October 2019, Pyderman will download this MS Chromium Driver. Their driver is experimental, so make sure you know what you're doing if you use this driver. If you require stability, it is recommended you specify a version instead of using the "latest".
### Note on macOS
Some versions of macOS have certificate issues with Python. Typically, in recent versions of Python, it will prompt you to install these when you install Python. Since Python needs these installed in order to make https requests, you may need to install these first. Depending on your project, it may also be possible to include a library to automatically import these certificates. Please visit [this link](https://timonweb.com/tutorials/fixing-certificate_verify_failed-error-when-trying-requests_html-out-on-mac/) to learn more.
### Note on Big Sur
Apple broke a ton of compatibility moving to Big Sur, and now many of the web drivers do not have working builds within the new architecture. This project will only halfheartedly attempt to keep any drivers working on Big Sur architecture until all the available drivers have stable release patterns for the platform.
## Why's it called 'Pyderman'?
Because it installs _web_-drivers. [Get it?](https://youtu.be/4o29VoxtsFk)
%package help
Summary: Development documents and examples for pyderman
Provides: python3-pyderman-doc
%description help
# Pyderman (Selenium Web Driver Installer)
[](https://github.com/shadowmoose/pyderman/actions?query=workflow%3AUbuntu) [](https://github.com/shadowmoose/pyderman/actions?query=workflow%3AMacOS) [](https://github.com/shadowmoose/pyderman/actions?query=workflow%3AWindows) [](https://github.com/shadowmoose/pyderman/actions/workflows/test-macOS-sur.yml)
This is a fast, simple, dependency-free package that can automatically find & download any version of
the _Google Chrome (chromeDriver), Firefox (geckoDriver), PhantomJS, Opera (operaDriver), and Edge (edgeDriver)_ web drivers.
This project was built to allow developers to seamlessly include selenium support on the user-side, without requiring any manual configuration on their part. It will automatically locate the correct driver binary for the platform & version you choose, as well as setting the os-specific permissions after downloading.
It is [tested daily](https://github.com/shadowmoose/pyderman/actions) on Windows/Linux/macOS against Python versions 3.7+.
## Installation
To install the library, run:
```bash
pip install pyderman
```
## Usage
After installed, call it in your code like so:
```python
import pyderman as driver
path = driver.install(browser=driver.firefox)
print(f"Installed geckodriver driver to path: {path}")
```
There are options for the output directory, disabling printout, running chmod on the downloaded executable,
automatic overwriting, executable file name, and version number.
All parameters are optional, and the default values are listed below.
This example downloads the Chrome Driver instead, by changing `browser` like so:
```python
import pyderman as dr
path = dr.install(browser=dr.chrome, file_directory='./lib/', verbose=True, chmod=True, overwrite=False, version=None, filename=None, return_info=False)
print(f"Installed chromedriver to path: {path}")
```
The download is very fast, and will skip downloading if the file already exists. This behavior can be toggled with `overwrite`.
## Notes
### Note on MS Edge
Microsoft has switched Edge to use a flavor of Chrome behind the scenes. As of October 2019, Pyderman will download this MS Chromium Driver. Their driver is experimental, so make sure you know what you're doing if you use this driver. If you require stability, it is recommended you specify a version instead of using the "latest".
### Note on macOS
Some versions of macOS have certificate issues with Python. Typically, in recent versions of Python, it will prompt you to install these when you install Python. Since Python needs these installed in order to make https requests, you may need to install these first. Depending on your project, it may also be possible to include a library to automatically import these certificates. Please visit [this link](https://timonweb.com/tutorials/fixing-certificate_verify_failed-error-when-trying-requests_html-out-on-mac/) to learn more.
### Note on Big Sur
Apple broke a ton of compatibility moving to Big Sur, and now many of the web drivers do not have working builds within the new architecture. This project will only halfheartedly attempt to keep any drivers working on Big Sur architecture until all the available drivers have stable release patterns for the platform.
## Why's it called 'Pyderman'?
Because it installs _web_-drivers. [Get it?](https://youtu.be/4o29VoxtsFk)
%prep
%autosetup -n pyderman-3.3.2
%build
%py3_build
%install
%py3_install
install -d -m755 %{buildroot}/%{_pkgdocdir}
if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi
if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi
if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi
if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi
pushd %{buildroot}
if [ -d usr/lib ]; then
find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst
fi
if [ -d usr/lib64 ]; then
find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst
fi
if [ -d usr/bin ]; then
find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst
fi
if [ -d usr/sbin ]; then
find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst
fi
touch doclist.lst
if [ -d usr/share/man ]; then
find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst
fi
popd
mv %{buildroot}/filelist.lst .
mv %{buildroot}/doclist.lst .
%files -n python3-pyderman -f filelist.lst
%dir %{python3_sitelib}/*
%files help -f doclist.lst
%{_docdir}/*
%changelog
* Fri May 05 2023 Python_Bot <Python_Bot@openeuler.org> - 3.3.2-1
- Package Spec generated
|