
pyshorteners
A simple URL shortening API wrapper Python library.
Installing
pip install pyshorteners
Generic expander added. It's useful when it's necessary to expand any kind of shortened url without checking the source service, even if the url is not shortened. Helps to check valid url's too.
Hi there, I wanted to shorten a magnet link that starts with magnet:? but the clean_url method is adding http or https before the link. So, I added a cleanUrl argument that defines whether to clean the URL or not.
I checked all the supported sites by pyshorteners and only Tinyurl.com & is.gd allows link without http or https. So, I added the cleanUrl argument in those sites only.
By default, cleanUrl is True so it won't break any existing projects.😇
wontfixThis can be fixed with a simple sed -i -e '$a\' tests/test_shorteners.py however, git does not detect the file as changed, so I have two commits, one adding a newline, and one removing a newline.
I wanted to add one of my preferred URL Shorteners: The Null Pointer. It's open source so there are many instances of it dotted around the web, like at: https://0x0.st/ and https://ttm.sh/, so I made it work with any instance.
This PR is for Hacktoberfest. If there's any problems, let me know :smile:
I have added the implementation of cutt.ly service. It too gives us the analytics of the link that e shortened such as No of Clicks, No of Visits from Social Networking Sites etc. I have implemented the "short" method. If the author asks to proceed I will implement the analytics function too. Thanks in Advance !
-------------------
You can view the `3.7.3 milestone`_ on GitLab for more details.
Bugs Fixed
~~~~~~~~~~
- Fix imports of ``typing`` in python 3.5.0 / 3.5.1 (See also `GitLab!294`_,
`GitLab498`_)
- Fix ``flake8 --statistics`` (See also `GitLab!295`_, `GitLab499`_)
- Gracefully ignore ``flake8-per-file-ignores`` plugin if installed (See also
`GitLab!297`_, `GitLab495`_)
- Improve error message for malformed ``per-file-ignores`` (See also
`GitLab!298`_, `GitLab489`_)
.. all links
.. _3.7.3 milestone:
https://gitlab.com/pycqa/flake8/milestones/26
.. issue links
.. _GitLab489:
https://gitlab.com/pycqa/flake8/issues/489
.. _GitLab495:
https://gitlab.com/pycqa/flake8/issues/495
.. _GitLab498:
https://gitlab.com/pycqa/flake8/issues/498
.. _GitLab499:
https://gitlab.com/pycqa/flake8/issues/499
.. merge request links
.. _GitLab!294:
https://gitlab.com/pycqa/flake8/merge_requests/294
.. _GitLab!295:
https://gitlab.com/pycqa/flake8/merge_requests/295
.. _GitLab!297:
https://gitlab.com/pycqa/flake8/merge_requests/297
.. _GitLab!298:
https://gitlab.com/pycqa/flake8/merge_requests/298
-------------------
You can view the `3.7.2 milestone`_ on GitLab for more details.
Bugs Fixed
~~~~~~~~~~
- Fix broken ``flake8 --diff`` (regressed in 3.7.0) (See also `GitLab!292`_,
`GitLab490`_)
- Fix typo in plugin exception reporting (See also `GitLab!275`_,
`GitLab491`_)
- Fix ``AttributeError`` while attempting to use the legacy api (regressed in
3.7.0) (See also `GitLab!293`_, `GitLab497`_)
.. all links
.. _3.7.2 milestone:
https://gitlab.com/pycqa/flake8/milestones/25
.. issue links
.. _GitLab490:
https://gitlab.com/pycqa/flake8/issues/490
.. _GitLab491:
https://gitlab.com/pycqa/flake8/issues/491
.. _GitLab497:
https://gitlab.com/pycqa/flake8/issues/497
.. merge request links
.. _GitLab!292:
https://gitlab.com/pycqa/flake8/merge_requests/292
.. _GitLab!275:
https://gitlab.com/pycqa/flake8/merge_requests/275
.. _GitLab!293:
https://gitlab.com/pycqa/flake8/merge_requests/293
=========================
Features
--------
- `3094 <https://github.com/pytest-dev/pytest/issues/3094>`_: `Class xunit-style <https://docs.pytest.org/en/latest/xunit_setup.html>`__ functions and methods
now obey the scope of *autouse* fixtures.
This fixes a number of surprising issues like ``setup_method`` being called before session-scoped
autouse fixtures (see `517 <https://github.com/pytest-dev/pytest/issues/517>`__ for an example).
- `4627 <https://github.com/pytest-dev/pytest/issues/4627>`_: Display a message at the end of the test session when running under Python 2.7 and 3.4 that pytest 5.0 will no longer
support those Python versions.
- `4660 <https://github.com/pytest-dev/pytest/issues/4660>`_: The number of *selected* tests now are also displayed when the ``-k`` or ``-m`` flags are used.
- `4688 <https://github.com/pytest-dev/pytest/issues/4688>`_: ``pytest_report_teststatus`` hook now can also receive a ``config`` parameter.
- `4691 <https://github.com/pytest-dev/pytest/issues/4691>`_: ``pytest_terminal_summary`` hook now can also receive a ``config`` parameter.
Bug Fixes
---------
- `3547 <https://github.com/pytest-dev/pytest/issues/3547>`_: ``--junitxml`` can emit XML compatible with Jenkins xUnit.
``junit_family`` INI option accepts ``legacy|xunit1``, which produces old style output, and ``xunit2`` that conforms more strictly to https://github.com/jenkinsci/xunit-plugin/blob/xunit-2.3.2/src/main/resources/org/jenkinsci/plugins/xunit/types/model/xsd/junit-10.xsd
- `4280 <https://github.com/pytest-dev/pytest/issues/4280>`_: Improve quitting from pdb, especially with ``--trace``.
Using ``q[quit]`` after ``pdb.set_trace()`` will quit pytest also.
- `4402 <https://github.com/pytest-dev/pytest/issues/4402>`_: Warning summary now groups warnings by message instead of by test id.
This makes the output more compact and better conveys the general idea of how much code is
actually generating warnings, instead of how many tests call that code.
- `4536 <https://github.com/pytest-dev/pytest/issues/4536>`_: ``monkeypatch.delattr`` handles class descriptors like ``staticmethod``/``classmethod``.
- `4649 <https://github.com/pytest-dev/pytest/issues/4649>`_: Restore marks being considered keywords for keyword expressions.
- `4653 <https://github.com/pytest-dev/pytest/issues/4653>`_: ``tmp_path`` fixture and other related ones provides resolved path (a.k.a real path)
- `4667 <https://github.com/pytest-dev/pytest/issues/4667>`_: ``pytest_terminal_summary`` uses result from ``pytest_report_teststatus`` hook, rather than hardcoded strings.
- `4669 <https://github.com/pytest-dev/pytest/issues/4669>`_: Correctly handle ``unittest.SkipTest`` exception containing non-ascii characters on Python 2.
- `4680 <https://github.com/pytest-dev/pytest/issues/4680>`_: Ensure the ``tmpdir`` and the ``tmp_path`` fixtures are the same folder.
- `4681 <https://github.com/pytest-dev/pytest/issues/4681>`_: Ensure ``tmp_path`` is always a real path.
Trivial/Internal Changes
------------------------
- `4643 <https://github.com/pytest-dev/pytest/issues/4643>`_: Use ``a.item()`` instead of the deprecated ``np.asscalar(a)`` in ``pytest.approx``.
``np.asscalar`` has been `deprecated <https://github.com/numpy/numpy/blob/master/doc/release/1.16.0-notes.rstnew-deprecations>`__ in ``numpy 1.16.``.
- `4657 <https://github.com/pytest-dev/pytest/issues/4657>`_: Copy saferepr from pylib
=========================
Bug Fixes
---------
- `2256 <https://github.com/pytest-dev/pytest/issues/2256>`_: Show full repr with ``assert a==b`` and ``-vv``.
- `3456 <https://github.com/pytest-dev/pytest/issues/3456>`_: Extend Doctest-modules to ignore mock objects.
- `4617 <https://github.com/pytest-dev/pytest/issues/4617>`_: Fixed ``pytest.warns`` bug when context manager is reused (e.g. multiple parametrization).
- `4631 <https://github.com/pytest-dev/pytest/issues/4631>`_: Don't rewrite assertion when ``__getattr__`` is broken
Improved Documentation
----------------------
- `3375 <https://github.com/pytest-dev/pytest/issues/3375>`_: Document that using ``setup.cfg`` may crash other tools or cause hard to track down problems because it uses a different parser than ``pytest.ini`` or ``tox.ini`` files.
Trivial/Internal Changes
------------------------
- `4602 <https://github.com/pytest-dev/pytest/issues/4602>`_: Uninstall ``hypothesis`` in regen tox env.
------
- Fixed generated wrapper when using `responses.activate` in Python 3.6+
when decorated functions use parameter and/or return annotations.
=========================
Removals
--------
- `3737 <https://github.com/pytest-dev/pytest/issues/3737>`_: **RemovedInPytest4Warnings are now errors by default.**
Following our plan to remove deprecated features with as little disruption as
possible, all warnings of type ``RemovedInPytest4Warnings`` now generate errors
instead of warning messages.
**The affected features will be effectively removed in pytest 4.1**, so please consult the
`Deprecations and Removals <https://docs.pytest.org/en/latest/deprecations.html>`__
section in the docs for directions on how to update existing code.
In the pytest ``4.0.X`` series, it is possible to change the errors back into warnings as a stop
gap measure by adding this to your ``pytest.ini`` file:
.. code-block:: ini
[pytest]
filterwarnings =
ignore::pytest.RemovedInPytest4Warning
But this will stop working when pytest ``4.1`` is released.
**If you have concerns** about the removal of a specific feature, please add a
comment to `4348 <https://github.com/pytest-dev/pytest/issues/4348>`__.
- `4358 <https://github.com/pytest-dev/pytest/issues/4358>`_: Remove the ``::()`` notation to denote a test class instance in node ids.
Previously, node ids that contain test instances would use ``::()`` to denote the instance like this::
test_foo.py::Test::()::test_bar
The extra ``::()`` was puzzling to most users and has been removed, so that the test id becomes now::
test_foo.py::Test::test_bar
This change could not accompany a deprecation period as is usual when user-facing functionality changes because
it was not really possible to detect when the functionality was being used explicitly.
The extra ``::()`` might have been removed in some places internally already,
which then led to confusion in places where it was expected, e.g. with
``--deselect`` (`4127 <https://github.com/pytest-dev/pytest/issues/4127>`_).
Test class instances are also not listed with ``--collect-only`` anymore.
Features
--------
- `4270 <https://github.com/pytest-dev/pytest/issues/4270>`_: The ``cache_dir`` option uses ``$TOX_ENV_DIR`` as prefix (if set in the environment).
This uses a different cache per tox environment by default.
Bug Fixes
---------
- `3554 <https://github.com/pytest-dev/pytest/issues/3554>`_: Fix ``CallInfo.__repr__`` for when the call is not finished yet.
=========================
Bug Fixes
---------
- `4174 <https://github.com/pytest-dev/pytest/issues/4174>`_: Fix "ValueError: Plugin already registered" with conftest plugins via symlink.
- `4181 <https://github.com/pytest-dev/pytest/issues/4181>`_: Handle race condition between creation and deletion of temporary folders.
- `4221 <https://github.com/pytest-dev/pytest/issues/4221>`_: Fix bug where the warning summary at the end of the test session was not showing the test where the warning was originated.
- `4243 <https://github.com/pytest-dev/pytest/issues/4243>`_: Fix regression when ``stacklevel`` for warnings was passed as positional argument on python2.
Improved Documentation
----------------------
- `3851 <https://github.com/pytest-dev/pytest/issues/3851>`_: Add reference to ``empty_parameter_set_mark`` ini option in documentation of ``pytest.mark.parametrize``
Trivial/Internal Changes
------------------------
- `4028 <https://github.com/pytest-dev/pytest/issues/4028>`_: Revert patching of ``sys.breakpointhook`` since it appears to do nothing.
- `4233 <https://github.com/pytest-dev/pytest/issues/4233>`_: Apply an import sorter (``reorder-python-imports``) to the codebase.
- `4248 <https://github.com/pytest-dev/pytest/issues/4248>`_: Remove use of unnecessary compat shim, six.binary_type
=========================
Bug Fixes
---------
- `3473 <https://github.com/pytest-dev/pytest/issues/3473>`_: Raise immediately if ``approx()`` is given an expected value of a type it doesn't understand (e.g. strings, nested dicts, etc.).
- `3712 <https://github.com/pytest-dev/pytest/issues/3712>`_: Correctly represent the dimensions of an numpy array when calling ``repr()`` on ``approx()``.
- `3742 <https://github.com/pytest-dev/pytest/issues/3742>`_: Fix incompatibility with third party plugins during collection, which produced the error ``object has no attribute '_collectfile'``.
- `3745 <https://github.com/pytest-dev/pytest/issues/3745>`_: Display the absolute path if ``cache_dir`` is not relative to the ``rootdir`` instead of failing.
- `3747 <https://github.com/pytest-dev/pytest/issues/3747>`_: Fix compatibility problem with plugins and the warning code issued by fixture functions when they are called directly.
- `3748 <https://github.com/pytest-dev/pytest/issues/3748>`_: Fix infinite recursion in ``pytest.approx`` with arrays in ``numpy<1.13``.
- `3757 <https://github.com/pytest-dev/pytest/issues/3757>`_: Pin pathlib2 to ``>=2.2.0`` as we require ``__fspath__`` support.
- `3763 <https://github.com/pytest-dev/pytest/issues/3763>`_: Fix ``TypeError`` when the assertion message is ``bytes`` in python 3.
=========================
Bug Fixes
---------
- `3473 <https://github.com/pytest-dev/pytest/issues/3473>`_: Raise immediately if ``approx()`` is given an expected value of a type it doesn't understand (e.g. strings, nested dicts, etc.).
- `3712 <https://github.com/pytest-dev/pytest/issues/3712>`_: Correctly represent the dimensions of an numpy array when calling ``repr()`` on ``approx()``.
- `3742 <https://github.com/pytest-dev/pytest/issues/3742>`_: Fix incompatibility with third party plugins during collection, which produced the error ``object has no attribute '_collectfile'``.
- `3745 <https://github.com/pytest-dev/pytest/issues/3745>`_: Display the absolute path if ``cache_dir`` is not relative to the ``rootdir`` instead of failing.
- `3747 <https://github.com/pytest-dev/pytest/issues/3747>`_: Fix compatibility problem with plugins and the warning code issued by fixture functions when they are called directly.
- `3748 <https://github.com/pytest-dev/pytest/issues/3748>`_: Fix infinite recursion in ``pytest.approx`` with arrays in ``numpy<1.13``.
- `3757 <https://github.com/pytest-dev/pytest/issues/3757>`_: Pin pathlib2 to ``>=2.2.0`` as we require ``__fspath__`` support.
- `3763 <https://github.com/pytest-dev/pytest/issues/3763>`_: Fix ``TypeError`` when the assertion message is ``bytes`` in python 3.
Major release which breaks backwards compatibility. Please refer to the official documentation on how to use it
Source code(tar.gz)Breaking changes on the shorteners classes
A simple telegram voting bot based on the python-telegram-bot api. *To make it more easy to use, I might make a C++ code in the future so you don't ha
SOLSEA NFT Explorer Using Streamlit to build a simple UI on top of the Solana AP
PaddleOCR2Pytorch 简介 ”真·白嫖“PaddleOCR 注意 PytorchOCR由PaddleOCR-2.0rc1+动态图版本移植。 特性 高质量推理模型,准确的识别效果 超轻量ptocr_mobile移动端系列 通用ptocr_server系列 支持中英文数字组合识别、竖排文本
Spotify Top Lists This is a simple script that will get the current top lists of a user from the Spotify API and display them in a Flask app. Requirem
Text-Scanner-OCR A Telelgram Bot to Extract Text from an Image Configs Vars API_KEY: Your API_KEY from OCR Space GROUP: Your Group Username without '@
Discondelete Discondelete, is a Discord self-bot to delete dm's or purge all messages from a guild. Report Bug · Request Feature Table of Contents Abo
Please Do Not Throw Sausage Pizza Away - Side Scrolling Up The OSI Stack
Amanda-A next gen powerful telegram group manager bot for manage your groups and have fun with other cool modules.
Discord.py · Código @client.event async def on_ready(): print('He iniciado sessión en: {0.user}'.format(client)) @client.event async def on_messa
Mutiny Async ready API wrapper for Revolt API written in Python. Installation Python 3.9 or higher is required To install the library, you can just ru
GG-Dorking GG Dorking is a python tool to generate GitHub and Google dorking links for pentesters and bug bounty hunters. It will help you to find imp
OpenZeppelin Cairo Contracts A library for secure smart contract development written in Cairo for StarkNet, a decentralized ZK Rollup. ⚠️ WARNING! ⚠️
Yes, it's true! Inspired by a similar repository from @RealPeha, but implemented using a webhook on AWS Lambda and API Gateway, so it's serverless! If
Asoul-bot A qq bot based on nonebot and go-cqhttp 你可以将bot部署在本地,也可以加入bot测试群:784280070(全体禁言) 你可以通过临时会话的方式向bot发送指令,输入help获取帮助菜单 本地部署请参考:https://zhuanlan.
DevOps-Tooling A repo containing toolings and software useful for a DevOps Engineer (or if you're setting up your Mac from the beginning) Currently se
vk-music-import Программа для переноса плейлистов из Spotify и текстовых треклистов в VK Музыку. Преимущества: Позволяет быстро импортировать плейлист
SimpleChatApi API for chatting that can work on its own or work with Invision Community and Chatbox+. You are also welcome to create frontend for this
Unrequester This python code unrequests all your follow requests on Instagram, using selenium. Everything's step-by-step and understanding it is like
gdrive-tools A python based all-in-one tool for Google Drive Uses For Gdrive-Tools ✓ generate SA ✓ Add the SA and Add them to TD automatically ✓ Gener
YaourtBot A discord simple bot by Lopinosaurus Before using this code : ・Move env file to .env ・Change the channel ID on line 38 of bot.py to your #pi