Repository: vacanza/python-holidays

Issue:
fix quality assurance failures



Discussion:
## Pull Request Test Coverage Report for [Build 1050](https://coveralls.io/builds/38306883)

* **0** of **0**   changed or added relevant lines in **0** files are covered.
* No unchanged relevant lines lost coverage.
* Overall coverage remained the same at **100.0%**

---



|  Totals | [![Coverage Status](https://coveralls.io/builds/38306883/badge)](https://coveralls.io/builds/38306883) |
| :-- | --: |
| Change from base [Build 1045](https://coveralls.io/builds/38155289): |  0.0% |
| Covered Lines: | 1 |
| Relevant Lines: | 1 |

---
##### 💛  - [Coveralls](https://coveralls.io)

## Pull Request Test Coverage Report for [Build 1051](https://coveralls.io/builds/38306892)

* **0** of **0**   changed or added relevant lines in **0** files are covered.
* No unchanged relevant lines lost coverage.
* Overall coverage remained the same at **100.0%**

---



|  Totals | [![Coverage Status](https://coveralls.io/builds/38306892/badge)](https://coveralls.io/builds/38306892) |
| :-- | --: |
| Change from base [Build 1045](https://coveralls.io/builds/38155289): |  0.0% |
| Covered Lines: | 1 |
| Relevant Lines: | 1 |

---
##### 💛  - [Coveralls](https://coveralls.io)

## Pull Request Test Coverage Report for [Build 693226016](https://coveralls.io/builds/38306885)

* **4** of **4**   **(100.0%)**  changed or added relevant lines in **1** file are covered.
* No unchanged relevant lines lost coverage.
* Overall coverage decreased (**-1.3%**) to **98.666%**

---



|  Totals | [![Coverage Status](https://coveralls.io/builds/38306885/badge)](https://coveralls.io/builds/38306885) |
| :-- | --: |
| Change from base [Build 1045](https://coveralls.io/builds/38155289): |  -1.3% |
| Covered Lines: | 4791 |
| Relevant Lines: | 4792 |

---
##### 💛  - [Coveralls](https://coveralls.io)

## Pull Request Test Coverage Report for [Build 1051](https://coveralls.io/builds/38306892)

* **0** of **0**   changed or added relevant lines in **0** files are covered.
* No unchanged relevant lines lost coverage.
* Overall coverage remained the same at **100.0%**

---



|  Totals | [![Coverage Status](https://coveralls.io/builds/38306892/badge)](https://coveralls.io/builds/38306892) |
| :-- | --: |
| Change from base [Build 1045](https://coveralls.io/builds/38155289): |  0.0% |
| Covered Lines: | 1 |
| Relevant Lines: | 1 |

---
##### 💛  - [Coveralls](https://coveralls.io)


Resolving patch:
diff --git a/holidays/countries/jamaica.py b/holidays/countries/jamaica.py
--- a/holidays/countries/jamaica.py
+++ b/holidays/countries/jamaica.py
@@ -24,7 +24,7 @@ class Jamaica(HolidayBase):
     # https://en.wikipedia.org/wiki/Public_holidays_in_Jamaica
 
     def __init__(self, **kwargs):
-        self.country = 'JM'
+        self.country = "JM"
         HolidayBase.__init__(self, **kwargs)
 
     def _populate(self, year):
@@ -33,7 +33,7 @@ def _populate(self, year):
         name = "New Year's Day"
         _date = date(year, JAN, 1)
         if self.observed and _date.weekday() == SUN:
-            self[_date + rd(weekday=MO(+1))] = name + ' (Observed)'
+            self[_date + rd(weekday=MO(+1))] = name + " (Observed)"
         else:
             self[_date] = name
 
@@ -47,7 +47,7 @@ def _populate(self, year):
         name = "Labour Day"
         _date = date(year, MAY, 23)
         if self.observed and _date.weekday() == SUN:
-            self[_date + rd(weekday=MO)] = name + ' (Observed)'
+            self[_date + rd(weekday=MO)] = name + " (Observed)"
         else:
             self[_date] = name
 
@@ -58,7 +58,7 @@ def _populate(self, year):
         name = "Emancipation Day"
         _date = date(year, AUG, 1)
         if self.observed and _date.weekday() == SUN:
-            self[_date + rd(weekday=MO)] = name + ' (Observed)'
+            self[_date + rd(weekday=MO)] = name + " (Observed)"
         else:
             self[_date] = name
 
diff --git a/holidays/countries/south_africa.py b/holidays/countries/south_africa.py
--- a/holidays/countries/south_africa.py
+++ b/holidays/countries/south_africa.py
@@ -100,7 +100,12 @@ def _populate(self, year):
         # As of 1995/1/1, whenever a public holiday falls on a Sunday,
         # it rolls over to the following Monday
         for k, v in list(self.items()):
-            if self.observed and year > 1994 and k.weekday() == SUN and k.year == year:
+            if (
+                self.observed
+                and year > 1994
+                and k.weekday() == SUN
+                and k.year == year
+            ):
                 add_days = 1
                 while self.get(k + rd(days=add_days)) is not None:
                     add_days += 1
diff --git a/setup.py b/setup.py
--- a/setup.py
+++ b/setup.py
@@ -10,58 +10,7 @@
 #  Website: https://github.com/dr-prodigy/python-holidays
 #  License: MIT (see LICENSE file)
 
-import codecs
-import re
 
-try:
-    from setuptools import setup
-except ImportError:
-    from distutils.core import setup
+from setuptools import setup
 
-
-with codecs.open("holidays/__init__.py", "r", "utf-8") as fd:
-    version = re.search(
-        r'^__version__\s*=\s*[\'"]([^\'"]*)[\'"]', fd.read(), re.MULTILINE
-    ).group(1)
-
-if not version:
-    raise RuntimeError("Cannot find version information")
-
-setup(
-    name="holidays",
-    version=version,
-    author="ryanss",
-    author_email="ryanssdev@icloud.com",
-    maintainer="dr-prodigy",
-    maintainer_email="maurizio.montel@gmail.com",
-    url="https://github.com/dr-prodigy/python-holidays",
-    packages=["holidays", "holidays/countries"],
-    license="MIT",
-    description="Generate and work with holidays in Python",
-    long_description=codecs.open("README.rst", encoding="utf-8").read(),
-    install_requires=[
-        "python-dateutil",
-        "six",
-        "convertdate>=2.3.0",
-        "korean_lunar_calendar",
-        "hijri_converter",
-    ],
-    platforms="any",
-    classifiers=[
-        "Development Status :: 4 - Beta",
-        "Intended Audience :: Developers",
-        "License :: OSI Approved :: MIT License",
-        "Operating System :: OS Independent",
-        "Programming Language :: Python",
-        "Programming Language :: Python :: 3",
-        "Programming Language :: Python :: 3.6",
-        "Programming Language :: Python :: 3.7",
-        "Programming Language :: Python :: 3.8",
-        "Programming Language :: Python :: 3.9",
-        "Programming Language :: Python :: Implementation :: CPython",
-        "Programming Language :: Python :: Implementation :: PyPy",
-        "Topic :: Office/Business :: Scheduling",
-        "Topic :: Software Development :: Libraries :: Python Modules",
-        "Topic :: Software Development :: Localization",
-    ],
-)
+setup()


Test patch: