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
|
# SPDX-License-Identifier: AGPL-3.0-or-later
"""
Miscellaneous data that were found useful
"""
# This file is part of Haketilo.
#
# Copyright (C) 2021 jahoti <jahoti@tilde.team>
# Copyright (C) 2021 Wojtek Kosior <koszko@koszko.org>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <https://www.gnu.org/licenses/>.
#
#
# I, Wojtek Kosior, thereby promise not to sue for violation of this
# file's license. Although I request that you do not make use this code
# in a proprietary program, I am not going to enforce this in court.
from pathlib import Path
here = Path(__file__).resolve().parent
default_firefox_binary = '/usr/lib/icecat/icecat'
# The browser might be loading some globally-installed add-ons by default. They
# could interfere with the tests, so we'll disable all of them.
default_clean_profile_dir = here / 'default_profile' / 'icecat_empty'
default_proxy_host = '127.0.0.1'
default_proxy_port = 1337
default_cert_dir = here / 'certs'
# Use user-specified values instead where available
try:
with open('testing.conf') as f:
option = f.readline()
while ' ' in option:
key, value = option[:-1].split(' ', maxsplit=1)
if key == 'BINARY':
default_firefox_binary = value
elif key == 'TEST_PROFILE':
default_clean_profile_dir = Path(value)
elif key == 'TEST_PORT':
default_proxy_port = int(value)
elif key == 'CERT_DIR':
default_cert_dir = Path(value)
else:
raise KeyError(key)
option = f.readline()
except FileNotFoundError:
# There may be no defaults overridden; that's OK!
pass
mime_types = {
"7z": "application/x-7z-compressed", "oga": "audio/ogg",
"abw": "application/x-abiword", "ogv": "video/ogg",
"arc": "application/x-freearc", "ogx": "application/ogg",
"bin": "application/octet-stream", "opus": "audio/opus",
"bz": "application/x-bzip", "otf": "font/otf",
"bz2": "application/x-bzip2", "pdf": "application/pdf",
"css": "text/css", "png": "image/png",
"csv": "text/csv", "sh": "application/x-sh",
"gif": "image/gif", "svg": "image/svg+xml",
"gz": "application/gzip", "tar": "application/x-tar",
"htm": "text/html", "ts": "video/mp2t",
"html": "text/html", "ttf": "font/ttf",
"ico": "image/vnd.microsoft.icon", "txt": "text/plain",
"js": "text/javascript", "wav": "audio/wav",
"jpeg": "image/jpeg", "weba": "audio/webm",
"jpg": "image/jpeg", "webm": "video/webm",
"json": "application/json", "woff": "font/woff",
"mjs": "text/javascript", "woff2": "font/woff2",
"mp3": "audio/mpeg", "xhtml": "application/xhtml+xml",
"mp4": "video/mp4", "zip": "application/zip",
"mpeg": "video/mpeg",
"odp": "application/vnd.oasis.opendocument.presentation",
"ods": "application/vnd.oasis.opendocument.spreadsheet",
"odt": "application/vnd.oasis.opendocument.text",
"xml": "application/xml" # text/xml if readable from casual users
}
|