initial commit
This commit is contained in:
commit
04fc8e9ab4
|
@ -0,0 +1,22 @@
|
||||||
|
#!/usr/bin/env python # 3
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
|
||||||
|
from gefavic.getfavicon import main as getfavicon
|
||||||
|
|
||||||
|
|
||||||
|
__title__ = "gefavic"
|
||||||
|
__version__ = "0.0.1"
|
||||||
|
__author__ = "eri!"
|
||||||
|
__author_email__ = "eri@c3d2.de"
|
||||||
|
__license__ = "LGPL3"
|
||||||
|
__copyright__ = "Copyright 2020 me"
|
||||||
|
__description__ = "favicon requester"
|
||||||
|
__url__ = "https://gitea.c3d2.de/eri/gefavic"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
def run(options):
|
||||||
|
getfavicon(options)
|
||||||
|
|
|
@ -0,0 +1,10 @@
|
||||||
|
#!/usr/bin/env python # 3
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
import gefavic.cli
|
||||||
|
|
||||||
|
|
||||||
|
__name__ == "__main__" and gefavic.cli.main()
|
||||||
|
|
|
@ -0,0 +1,48 @@
|
||||||
|
#!/usr/bin/env python # 3
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
import sys
|
||||||
|
from argparse import ArgumentParser
|
||||||
|
|
||||||
|
import gefavic
|
||||||
|
|
||||||
|
|
||||||
|
### Arguments
|
||||||
|
|
||||||
|
def add_global_arguments(parser):
|
||||||
|
parser.add_argument(
|
||||||
|
"--version",
|
||||||
|
action='version',
|
||||||
|
version=gefavic.__version__,
|
||||||
|
help="Show tool version."
|
||||||
|
)
|
||||||
|
parser.add_argument(
|
||||||
|
"url",
|
||||||
|
metavar="URL",
|
||||||
|
nargs="?",
|
||||||
|
help="URL from where the favicon will be requested."
|
||||||
|
)
|
||||||
|
return parser
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### Main
|
||||||
|
|
||||||
|
def global_parser():
|
||||||
|
parser = add_global_arguments(ArgumentParser(
|
||||||
|
description="favicon requester",
|
||||||
|
add_help=True,
|
||||||
|
))
|
||||||
|
return parser
|
||||||
|
|
||||||
|
def main():
|
||||||
|
parser = global_parser()
|
||||||
|
(options, args) = parser.parse_known_args(sys.argv[1:])
|
||||||
|
#print(options, args)
|
||||||
|
kwargs = vars(options)
|
||||||
|
gefavic.run(options)
|
||||||
|
sys.exit(0)
|
||||||
|
|
|
@ -0,0 +1,22 @@
|
||||||
|
#!/usr/bin/env python3
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
from html.parser import HTMLParser
|
||||||
|
|
||||||
|
class favfinder(HTMLParser):
|
||||||
|
attrs = []
|
||||||
|
def handle_starttag(self, tag, attrs):
|
||||||
|
if tag == 'link':
|
||||||
|
for attr in attrs:
|
||||||
|
if 'rel' in attr and attr[1].find('icon') > 0:
|
||||||
|
self.attrs = attrs
|
||||||
|
|
||||||
|
def gethtml(url):
|
||||||
|
return "<html xmlns=\"http://www.w3.org/1999/xhtml\"><head><link rel=\"stylesheet\" type=\"text/css\" href=\"../static/style.css\"><link rel=\"shortcut icon\" type=\"image/png\" href=\"../static/py.png\"></head><body></body></html>"
|
||||||
|
|
||||||
|
|
||||||
|
def main(options):
|
||||||
|
ff = favfinder()
|
||||||
|
response = gethtml(options.url)
|
||||||
|
ff.feed(response)
|
||||||
|
print(ff.attrs)
|
|
@ -0,0 +1,22 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# parameters
|
||||||
|
build_dir=build
|
||||||
|
python_exe=python3
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# create
|
||||||
|
mkdir -p ${build_dir}
|
||||||
|
virtualenv -p ${python_exe} ${build_dir}
|
||||||
|
|
||||||
|
# activate
|
||||||
|
source ${build_dir}/bin/activate
|
||||||
|
|
||||||
|
# setup
|
||||||
|
pip install -r requirements.txt
|
||||||
|
pip install -e .
|
||||||
|
|
||||||
|
# cleanup
|
||||||
|
deactivate
|
||||||
|
echo "run '${build_dir}/bin/activate' to get into env and 'deactivate' to close it."
|
|
@ -0,0 +1,46 @@
|
||||||
|
#!/usr/bin/python # 3
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
from re import sub, finditer
|
||||||
|
|
||||||
|
from setuptools import setup
|
||||||
|
from setuptools import find_packages
|
||||||
|
|
||||||
|
|
||||||
|
def find_description():
|
||||||
|
with open("README.md") as file:
|
||||||
|
return file.read()
|
||||||
|
|
||||||
|
|
||||||
|
def find_requirements():
|
||||||
|
with open("requirements.txt") as file:
|
||||||
|
return [line.strip() for line in file.readlines()]
|
||||||
|
|
||||||
|
|
||||||
|
def find_meta_data():
|
||||||
|
with open("gefavic/__init__.py") as file:
|
||||||
|
return {
|
||||||
|
sub(r'^title$', "name", match.group(1)): match.group(2)
|
||||||
|
for match in finditer(r'__([^\n]+)__\s*=\s*"([^\n]+)"', file.read())
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
setup(
|
||||||
|
long_description=find_description(),
|
||||||
|
packages=find_packages(),
|
||||||
|
install_requires=find_requirements(),
|
||||||
|
entry_points={"console_scripts": ["gefavic = gefavic.cli:main"]},
|
||||||
|
classifiers=[
|
||||||
|
"Environment :: Console",
|
||||||
|
"Intended Audience :: System Administrators",
|
||||||
|
"License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)",
|
||||||
|
"Natural Language :: English",
|
||||||
|
"Operating System :: POSIX",
|
||||||
|
"Programming Language :: Python :: 3",
|
||||||
|
"Programming Language :: Python :: 3.5",
|
||||||
|
"Programming Language :: Python :: 3.6",
|
||||||
|
],
|
||||||
|
**find_meta_data()
|
||||||
|
)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue