@@ -18,7 +18,6 @@ COPY _kosmorro/ _kosmorro/ | |||
COPY kosmorro . | |||
# Compile the translations | |||
RUN pip install Babel | |||
COPY setup.py setup.py | |||
COPY setup.cfg setup.cfg | |||
COPY README.md README.md | |||
@@ -27,7 +26,7 @@ RUN python setup.py compile_catalog | |||
# Clean the image | |||
RUN rm setup.py setup.cfg README.md && \ | |||
rm _kosmorro/locales/messages.pot _kosmorro/locales/*/LC_MESSAGES/messages.po && \ | |||
pip uninstall --yes Babel pipenv | |||
pip uninstall --yes pipenv | |||
USER kosmorro | |||
@@ -8,7 +8,7 @@ tests: | |||
echo; \ | |||
fi | |||
pipenv run python3 -m pytest tests/*.py | |||
LANG=C pipenv run python3 -m pytest tests/*.py | |||
.PHONY: build | |||
build: manpage | |||
@@ -4,7 +4,6 @@ url = "https://pypi.org/simple" | |||
verify_ssl = true | |||
[dev-packages] | |||
babel = "*" | |||
black = "*" | |||
pytest = "*" | |||
aurornis = "*" | |||
@@ -14,6 +13,7 @@ tabulate = "*" | |||
termcolor = "*" | |||
kosmorrolib = ">=1.0.0,<2.0.0" | |||
python-dateutil = "*" | |||
babel = ">=2.9.0,<3.0.0" | |||
[requires] | |||
python_version = "3" | |||
@@ -1,7 +1,7 @@ | |||
{ | |||
"_meta": { | |||
"hash": { | |||
"sha256": "3ff7290b32da63ca9585dbe947830ae1d1e4692f0ca9a0faeaa3601d7f9c4b8b" | |||
"sha256": "7c87215e821ad4c88dadc31960030f52957e2eaa41d451bfa3a53feb91b8d856" | |||
}, | |||
"pipfile-spec": 6, | |||
"requires": { | |||
@@ -16,6 +16,14 @@ | |||
] | |||
}, | |||
"default": { | |||
"babel": { | |||
"hashes": [ | |||
"sha256:ab49e12b91d937cd11f0b67cb259a57ab4ad2b59ac7a3b41d6c06c0ac5b0def9", | |||
"sha256:bc0c176f9f6a994582230df350aa6e05ba2ebe4b3ac317eab29d9be5d2768da0" | |||
], | |||
"index": "pypi", | |||
"version": "==2.9.1" | |||
}, | |||
"certifi": { | |||
"hashes": [ | |||
"sha256:78884e7c1d4b00ce3cea67b44566851c4343c120abd683433ce934a68ea58872", | |||
@@ -69,6 +77,13 @@ | |||
"index": "pypi", | |||
"version": "==2.8.2" | |||
}, | |||
"pytz": { | |||
"hashes": [ | |||
"sha256:3672058bc3453457b622aab7a1c3bfd5ab0bdae451512f6cf25f64ed37f5b87c", | |||
"sha256:acad2d8b20a1af07d4e4c9d2e9285c5ed9104354062f275f3fcd88dcef4f1326" | |||
], | |||
"version": "==2021.3" | |||
}, | |||
"sgp4": { | |||
"hashes": [ | |||
"sha256:05f22b4fd91861ee2e0e03a528c1aef11a8b263a60ab5f723d32cdb65dac3eaa", | |||
@@ -155,14 +170,6 @@ | |||
"index": "pypi", | |||
"version": "==1.2.0" | |||
}, | |||
"babel": { | |||
"hashes": [ | |||
"sha256:ab49e12b91d937cd11f0b67cb259a57ab4ad2b59ac7a3b41d6c06c0ac5b0def9", | |||
"sha256:bc0c176f9f6a994582230df350aa6e05ba2ebe4b3ac317eab29d9be5d2768da0" | |||
], | |||
"index": "pypi", | |||
"version": "==2.9.1" | |||
}, | |||
"black": { | |||
"hashes": [ | |||
"sha256:07e5c049442d7ca1a2fc273c79d1aecbbf1bc858f62e8184abe1ad175c4f7cc2", | |||
@@ -263,13 +270,6 @@ | |||
"index": "pypi", | |||
"version": "==7.0.1" | |||
}, | |||
"pytz": { | |||
"hashes": [ | |||
"sha256:3672058bc3453457b622aab7a1c3bfd5ab0bdae451512f6cf25f64ed37f5b87c", | |||
"sha256:acad2d8b20a1af07d4e4c9d2e9285c5ed9104354062f275f3fcd88dcef4f1326" | |||
], | |||
"version": "==2021.3" | |||
}, | |||
"tomli": { | |||
"hashes": [ | |||
"sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc", | |||
@@ -25,7 +25,7 @@ import subprocess | |||
import shutil | |||
from pathlib import Path | |||
import kosmorrolib | |||
from babel.dates import format_date, format_time | |||
from tabulate import tabulate | |||
from termcolor import colored | |||
@@ -70,7 +70,7 @@ class Dumper(ABC): | |||
self.show_graph = show_graph | |||
def get_date_as_string(self, capitalized: bool = False) -> str: | |||
date = self.date.strftime(FULL_DATE_FORMAT) | |||
date = format_date(self.date, "full") | |||
if capitalized: | |||
return "".join([date[0].upper(), date[1:]]) | |||
@@ -181,35 +181,21 @@ class TextDumper(Dumper): | |||
name = self.style(object_name, "th") | |||
if ephemeris.rise_time is not None: | |||
time_fmt = ( | |||
TIME_FORMAT | |||
if ephemeris.rise_time.day == self.date.day | |||
else SHORT_DATETIME_FORMAT | |||
) | |||
planet_rise = ephemeris.rise_time.strftime(time_fmt) | |||
else: | |||
planet_rise = "-" | |||
if ephemeris.culmination_time is not None: | |||
time_fmt = ( | |||
TIME_FORMAT | |||
if ephemeris.culmination_time.day == self.date.day | |||
else SHORT_DATETIME_FORMAT | |||
) | |||
planet_culmination = ephemeris.culmination_time.strftime(time_fmt) | |||
else: | |||
planet_culmination = "-" | |||
if ephemeris.set_time is not None: | |||
time_fmt = ( | |||
TIME_FORMAT | |||
if ephemeris.set_time.day == self.date.day | |||
else SHORT_DATETIME_FORMAT | |||
) | |||
planet_set = ephemeris.set_time.strftime(time_fmt) | |||
else: | |||
planet_set = "-" | |||
planet_rise = ( | |||
"-" | |||
if ephemeris.rise_time is None | |||
else format_time(ephemeris.rise_time, "short") | |||
) | |||
planet_culmination = ( | |||
"-" | |||
if ephemeris.culmination_time is None | |||
else format_time(ephemeris.culmination_time, "short") | |||
) | |||
planet_set = ( | |||
"-" | |||
if ephemeris.set_time is None | |||
else format_time(ephemeris.set_time, "short") | |||
) | |||
data.append([name, planet_rise, planet_culmination, planet_set]) | |||
@@ -234,14 +220,9 @@ class TextDumper(Dumper): | |||
if description is None: | |||
continue | |||
time_fmt = ( | |||
TIME_FORMAT | |||
if event.start_time.day == self.date.day | |||
else SHORT_DATETIME_FORMAT | |||
) | |||
data.append( | |||
[ | |||
self.style(event.start_time.strftime(time_fmt), "th"), | |||
self.style(format_time(event.start_time, "short"), "th"), | |||
description, | |||
] | |||
) | |||
@@ -262,8 +243,8 @@ class TextDumper(Dumper): | |||
"{next_moon_phase} on {next_moon_phase_date} at {next_moon_phase_time}" | |||
).format( | |||
next_moon_phase=_(strings.from_moon_phase(moon_phase.get_next_phase())), | |||
next_moon_phase_date=moon_phase.next_phase_date.strftime(FULL_DATE_FORMAT), | |||
next_moon_phase_time=moon_phase.next_phase_date.strftime(TIME_FORMAT), | |||
next_moon_phase_date=format_date(moon_phase.next_phase_date, "full"), | |||
next_moon_phase_time=format_time(moon_phase.next_phase_date, "short"), | |||
) | |||
return "\n".join([current_moon_phase, new_moon_phase]) | |||
@@ -384,35 +365,21 @@ class _LatexDumper(Dumper): | |||
if self.ephemerides is not None: | |||
for ephemeris in self.ephemerides: | |||
if ephemeris.rise_time is not None: | |||
time_fmt = ( | |||
TIME_FORMAT | |||
if ephemeris.rise_time.day == self.date.day | |||
else SHORT_DATETIME_FORMAT | |||
) | |||
aster_rise = ephemeris.rise_time.strftime(time_fmt) | |||
else: | |||
aster_rise = "-" | |||
if ephemeris.culmination_time is not None: | |||
time_fmt = ( | |||
TIME_FORMAT | |||
if ephemeris.culmination_time.day == self.date.day | |||
else SHORT_DATETIME_FORMAT | |||
) | |||
aster_culmination = ephemeris.culmination_time.strftime(time_fmt) | |||
else: | |||
aster_culmination = "-" | |||
if ephemeris.set_time is not None: | |||
time_fmt = ( | |||
TIME_FORMAT | |||
if ephemeris.set_time.day == self.date.day | |||
else SHORT_DATETIME_FORMAT | |||
) | |||
aster_set = ephemeris.set_time.strftime(time_fmt) | |||
else: | |||
aster_set = "-" | |||
aster_rise = ( | |||
"-" | |||
if ephemeris.rise_time is None | |||
else format_time(ephemeris.rise_time, "short") | |||
) | |||
aster_culmination = ( | |||
"-" | |||
if ephemeris.culmination_time is None | |||
else format_time(ephemeris.culmination_time, "short") | |||
) | |||
aster_set = ( | |||
"-" | |||
if ephemeris.set_time is None | |||
else format_time(ephemeris.set_time, "short") | |||
) | |||
if not self.show_graph: | |||
object_name = strings.from_object(ephemeris.object.identifier) | |||
@@ -476,7 +443,7 @@ class _LatexDumper(Dumper): | |||
continue | |||
latex.append( | |||
r"\event{%s}{%s}" % (event.start_time.strftime(TIME_FORMAT), event_name) | |||
r"\event{%s}{%s}" % (format_time(event.start_time, "short"), event_name) | |||
) | |||
return "".join(latex) | |||
@@ -17,6 +17,7 @@ | |||
# along with this program. If not, see <https://www.gnu.org/licenses/>. | |||
from datetime import date | |||
from babel.dates import format_date | |||
from _kosmorro.i18n.utils import _, SHORT_DATE_FORMAT | |||
@@ -34,8 +35,8 @@ class OutOfRangeDateError(RuntimeError): | |||
self.msg = _( | |||
"The date must be between {minimum_date} and {maximum_date}" | |||
).format( | |||
minimum_date=min_date.strftime(SHORT_DATE_FORMAT), | |||
maximum_date=max_date.strftime(SHORT_DATE_FORMAT), | |||
minimum_date=format_date(min_date, "long"), | |||
maximum_date=format_date(max_date, "long"), | |||
) | |||
@@ -8,7 +8,7 @@ msgid "" | |||
msgstr "" | |||
"Project-Id-Version: PROJECT VERSION\n" | |||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" | |||
"POT-Creation-Date: 2022-02-16 13:58+0100\n" | |||
"POT-Creation-Date: 2022-03-07 16:45+0100\n" | |||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" | |||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" | |||
"Language-Team: LANGUAGE <LL@li.org>\n" | |||
@@ -39,64 +39,64 @@ msgstr "" | |||
msgid "Note: All the hours are given in the UTC{offset} timezone." | |||
msgstr "" | |||
#: _kosmorro/dumper.py:219 _kosmorro/dumper.py:352 | |||
#: _kosmorro/dumper.py:205 _kosmorro/dumper.py:333 | |||
msgid "Object" | |||
msgstr "" | |||
#: _kosmorro/dumper.py:220 _kosmorro/dumper.py:353 | |||
#: _kosmorro/dumper.py:206 _kosmorro/dumper.py:334 | |||
msgid "Rise time" | |||
msgstr "" | |||
#: _kosmorro/dumper.py:221 _kosmorro/dumper.py:355 | |||
#: _kosmorro/dumper.py:207 _kosmorro/dumper.py:336 | |||
msgid "Culmination time" | |||
msgstr "" | |||
#: _kosmorro/dumper.py:222 _kosmorro/dumper.py:357 | |||
#: _kosmorro/dumper.py:208 _kosmorro/dumper.py:338 | |||
msgid "Set time" | |||
msgstr "" | |||
#: _kosmorro/dumper.py:253 | |||
#: _kosmorro/dumper.py:234 | |||
msgid "Moon phase is unavailable for this date." | |||
msgstr "" | |||
#: _kosmorro/dumper.py:257 _kosmorro/dumper.py:361 | |||
#: _kosmorro/dumper.py:238 _kosmorro/dumper.py:342 | |||
msgid "Moon phase:" | |||
msgstr "" | |||
#: _kosmorro/dumper.py:261 | |||
#: _kosmorro/dumper.py:242 | |||
msgid "{next_moon_phase} on {next_moon_phase_date} at {next_moon_phase_time}" | |||
msgstr "" | |||
#: _kosmorro/dumper.py:325 | |||
#: _kosmorro/dumper.py:306 | |||
msgid "Overview of your sky" | |||
msgstr "" | |||
#: _kosmorro/dumper.py:333 | |||
#: _kosmorro/dumper.py:314 | |||
msgid "" | |||
"This document summarizes the ephemerides and the events of {date}. It " | |||
"aims to help you to prepare your observation session. All the hours are " | |||
"given in {timezone}." | |||
msgstr "" | |||
#: _kosmorro/dumper.py:343 | |||
#: _kosmorro/dumper.py:324 | |||
msgid "" | |||
"Don't forget to check the weather forecast before you go out with your " | |||
"equipment." | |||
msgstr "" | |||
#: _kosmorro/dumper.py:350 | |||
#: _kosmorro/dumper.py:331 | |||
msgid "Ephemerides of the day" | |||
msgstr "" | |||
#: _kosmorro/dumper.py:359 | |||
#: _kosmorro/dumper.py:340 | |||
msgid "hours" | |||
msgstr "" | |||
#: _kosmorro/dumper.py:366 | |||
#: _kosmorro/dumper.py:347 | |||
msgid "Expected events" | |||
msgstr "" | |||
#: _kosmorro/dumper.py:520 | |||
#: _kosmorro/dumper.py:487 | |||
msgid "" | |||
"Building PDF was not possible, because some dependencies are not " | |||
"installed.\n" | |||
@@ -104,7 +104,7 @@ msgid "" | |||
"pdf/ for more information." | |||
msgstr "" | |||
#: _kosmorro/dumper.py:573 | |||
#: _kosmorro/dumper.py:540 | |||
#, python-format | |||
msgid "" | |||
"An error occurred during the compilation of the PDF.\n" | |||
@@ -112,102 +112,102 @@ msgid "" | |||
"share the content of the log file at /tmp/kosmorro-%s.log" | |||
msgstr "" | |||
#: _kosmorro/exceptions.py:34 | |||
#: _kosmorro/exceptions.py:35 | |||
msgid "The date must be between {minimum_date} and {maximum_date}" | |||
msgstr "" | |||
#: _kosmorro/main.py:62 | |||
#: _kosmorro/main.py:63 | |||
msgid "" | |||
"Save the planet and paper!\n" | |||
"Consider printing your PDF document only if really necessary, and use the" | |||
" other side of the sheet." | |||
msgstr "" | |||
#: _kosmorro/main.py:71 | |||
#: _kosmorro/main.py:72 | |||
msgid "" | |||
"PDF output will not contain the ephemerides, because you didn't provide " | |||
"the observation coordinates." | |||
msgstr "" | |||
#: _kosmorro/main.py:116 | |||
#: _kosmorro/main.py:117 | |||
msgid "The file could not be saved in \"{path}\": {error}" | |||
msgstr "" | |||
#: _kosmorro/main.py:130 | |||
#: _kosmorro/main.py:131 | |||
msgid "Please provide a file path to export in this format (--output)." | |||
msgstr "" | |||
#: _kosmorro/main.py:163 | |||
msgid "Moon phase can only be displayed between {min_date} and {max_date}" | |||
#: _kosmorro/main.py:164 | |||
msgid "Moon phase can only be computed between {min_date} and {max_date}" | |||
msgstr "" | |||
#: _kosmorro/main.py:202 | |||
#: _kosmorro/main.py:203 | |||
msgid "Running on Python {python_version} with Kosmorrolib v{kosmorrolib_version}" | |||
msgstr "" | |||
#: _kosmorro/main.py:215 | |||
#: _kosmorro/main.py:216 | |||
msgid "" | |||
"Compute the ephemerides and the events for a given date and a given " | |||
"position on Earth." | |||
msgstr "" | |||
#: _kosmorro/main.py:218 | |||
#: _kosmorro/main.py:219 | |||
msgid "" | |||
"By default, only the events will be computed for today.\n" | |||
"To compute also the ephemerides, latitude and longitude arguments are " | |||
"needed." | |||
msgstr "" | |||
#: _kosmorro/main.py:231 | |||
#: _kosmorro/main.py:232 | |||
msgid "Show the program version" | |||
msgstr "" | |||
#: _kosmorro/main.py:239 | |||
#: _kosmorro/main.py:240 | |||
msgid "The format to output the information to" | |||
msgstr "" | |||
#: _kosmorro/main.py:246 | |||
#: _kosmorro/main.py:247 | |||
msgid "" | |||
"The observer's latitude on Earth. Can also be set in the " | |||
"KOSMORRO_LATITUDE environment variable." | |||
msgstr "" | |||
#: _kosmorro/main.py:256 | |||
#: _kosmorro/main.py:257 | |||
msgid "" | |||
"The observer's longitude on Earth. Can also be set in the " | |||
"KOSMORRO_LONGITUDE environment variable." | |||
msgstr "" | |||
#: _kosmorro/main.py:266 | |||
#: _kosmorro/main.py:267 | |||
msgid "" | |||
"The date for which the ephemerides must be calculated. Can be in the " | |||
"YYYY-MM-DD format or an interval in the \"[+-]YyMmDd\" format (with Y, M," | |||
" and D numbers). Defaults to current date." | |||
msgstr "" | |||
#: _kosmorro/main.py:277 | |||
#: _kosmorro/main.py:278 | |||
msgid "" | |||
"The timezone to display the hours in (e.g. 2 for UTC+2 or -3 for UTC-3). " | |||
"Can also be set in the KOSMORRO_TIMEZONE environment variable." | |||
msgstr "" | |||
#: _kosmorro/main.py:286 | |||
#: _kosmorro/main.py:287 | |||
msgid "Disable the colors in the console." | |||
msgstr "" | |||
#: _kosmorro/main.py:293 | |||
#: _kosmorro/main.py:294 | |||
msgid "" | |||
"A file to export the output to. If not given, the standard output is " | |||
"used. This argument is needed for PDF format." | |||
msgstr "" | |||
#: _kosmorro/main.py:302 | |||
#: _kosmorro/main.py:303 | |||
msgid "" | |||
"Do not generate a graph to represent the rise and set times in the PDF " | |||
"format." | |||
msgstr "" | |||
#: _kosmorro/main.py:310 | |||
#: _kosmorro/main.py:311 | |||
msgid "Show debugging messages" | |||
msgstr "" | |||
@@ -19,6 +19,7 @@ | |||
import argparse | |||
import sys | |||
from babel.dates import format_date | |||
from kosmorrolib import Position, get_ephemerides, get_events, get_moon_phase | |||
from kosmorrolib.__version__ import __version__ as kosmorrolib_version | |||
from kosmorrolib.exceptions import OutOfRangeDateError | |||
@@ -161,10 +162,10 @@ def get_information( | |||
print( | |||
colored( | |||
_( | |||
"Moon phase can only be displayed between {min_date} and {max_date}" | |||
"Moon phase can only be computed between {min_date} and {max_date}" | |||
).format( | |||
min_date=error.min_date.strftime(SHORT_DATE_FORMAT), | |||
max_date=error.max_date.strftime(SHORT_DATE_FORMAT), | |||
min_date=format_date(error.min_date, "long"), | |||
max_date=format_date(error.max_date, "long"), | |||
), | |||
"yellow", | |||
) | |||
@@ -218,7 +219,7 @@ def get_args(output_formats: [str]): | |||
epilog=_( | |||
"By default, only the events will be computed for today.\n" | |||
"To compute also the ephemerides, latitude and longitude arguments are needed." | |||
).format(date=today.strftime(dumper.FULL_DATE_FORMAT)), | |||
), | |||
) | |||
parser.add_argument( | |||
@@ -47,6 +47,7 @@ setup( | |||
"tabulate", | |||
"termcolor", | |||
"python-dateutil", | |||
"babel", | |||
], | |||
classifiers=[ | |||
"Development Status :: 3 - Alpha", | |||
@@ -10,13 +10,13 @@ def test_with_date(): | |||
assert ( | |||
result.stdout | |||
== """Monday January 27, 2020 | |||
== """Monday, January 27, 2020 | |||
Moon phase: New Moon | |||
First Quarter on Sunday February 02, 2020 at 01:41 | |||
First Quarter on Sunday, February 2, 2020 at 1:41 AM | |||
Expected events: | |||
20:00 Venus and Neptune are in conjunction | |||
8:00 PM Venus and Neptune are in conjunction | |||
Note: All the hours are given in UTC. | |||
""" | |||
@@ -48,5 +48,5 @@ def test_with_out_of_range_dates(): | |||
assert not result.is_successful() | |||
assert ( | |||
result.stdout | |||
== "Moon phase can only be displayed between Aug 09, 1899 and Sep 26, 2053\n" | |||
== "Moon phase can only be computed between August 9, 1899 and September 26, 2053\n" | |||
) |
@@ -8,6 +8,7 @@ from .utils import ( | |||
NEXT_MOON_PHASE_PATTERN, | |||
) | |||
from datetime import date | |||
from babel.dates import format_date | |||
def test_run_without_argument(): | |||
@@ -15,9 +16,10 @@ def test_run_without_argument(): | |||
assert result.is_successful() | |||
stdout = result.stdout.split("\n") | |||
print(stdout) | |||
# It always starts with the current date, an empty line and the current and next Moon date: | |||
assert stdout[0] == date.today().strftime("%A %B %d, %Y") | |||
assert stdout[0] == format_date(date.today(), "full") | |||
assert stdout[1] == "" | |||
assert CURRENT_MOON_PHASE_PATTERN.match(stdout[2]) | |||
assert NEXT_MOON_PHASE_PATTERN.match(stdout[3]) | |||
@@ -10,26 +10,26 @@ def check_command_return(result): | |||
assert result.is_successful() | |||
assert ( | |||
result.stdout | |||
== """Monday January 27, 2020 | |||
== """Monday, January 27, 2020 | |||
Object Rise time Culmination time Set time | |||
-------- ----------- ------------------ ---------- | |||
Sun 07:31 12:01 16:30 | |||
Moon 09:06 14:09 19:13 | |||
Mercury 08:10 12:49 17:28 | |||
Venus 09:01 14:35 20:10 | |||
Mars 04:19 08:23 12:28 | |||
Jupiter 06:15 10:18 14:21 | |||
Saturn 06:56 11:09 15:22 | |||
Uranus 10:21 17:25 00:33 | |||
Neptune 09:01 14:36 20:10 | |||
Pluto 06:57 11:04 15:11 | |||
Sun 7:31 AM 12:01 PM 4:30 PM | |||
Moon 9:06 AM 2:09 PM 7:13 PM | |||
Mercury 8:10 AM 12:49 PM 5:28 PM | |||
Venus 9:01 AM 2:35 PM 8:10 PM | |||
Mars 4:19 AM 8:23 AM 12:28 PM | |||
Jupiter 6:15 AM 10:18 AM 2:21 PM | |||
Saturn 6:56 AM 11:09 AM 3:22 PM | |||
Uranus 10:21 AM 5:25 PM 12:33 AM | |||
Neptune 9:01 AM 2:36 PM 8:10 PM | |||
Pluto 6:57 AM 11:04 AM 3:11 PM | |||
Moon phase: New Moon | |||
First Quarter on Sunday February 02, 2020 at 01:41 | |||
First Quarter on Sunday, February 2, 2020 at 1:41 AM | |||
Expected events: | |||
20:00 Venus and Neptune are in conjunction | |||
8:00 PM Venus and Neptune are in conjunction | |||
Note: All the hours are given in UTC. | |||
""" | |||
@@ -10,13 +10,13 @@ def check_command_return_t_plus_one(result): | |||
assert result.is_successful() | |||
assert ( | |||
result.stdout | |||
== """Monday January 27, 2020 | |||
== """Monday, January 27, 2020 | |||
Moon phase: New Moon | |||
First Quarter on Sunday February 02, 2020 at 02:41 | |||
First Quarter on Sunday, February 2, 2020 at 2:41 AM | |||
Expected events: | |||
21:00 Venus and Neptune are in conjunction | |||
9:00 PM Venus and Neptune are in conjunction | |||
Note: All the hours are given in the UTC+1 timezone. | |||
""" | |||
@@ -27,13 +27,13 @@ def check_command_return_t_minus_one(result): | |||
assert result.is_successful() | |||
assert ( | |||
result.stdout | |||
== """Monday January 27, 2020 | |||
== """Monday, January 27, 2020 | |||
Moon phase: New Moon | |||
First Quarter on Sunday February 02, 2020 at 00:41 | |||
First Quarter on Sunday, February 2, 2020 at 12:41 AM | |||
Expected events: | |||
19:00 Venus and Neptune are in conjunction | |||
7:00 PM Venus and Neptune are in conjunction | |||
Note: All the hours are given in the UTC-1 timezone. | |||
""" | |||
@@ -24,10 +24,10 @@ NEXT_MOON_PHASE_PATTERN = re.compile( | |||
r"(Full Moon)|(Waning Gibbous)|" | |||
r"(Last Quarter)|(Waning Crescent)" | |||
r") " | |||
r"on ((Monday)|(Tuesday)|(Wednesday)|(Thursday)|(Friday)|(Saturday)|(Sunday)) " | |||
r"on ((Monday)|(Tuesday)|(Wednesday)|(Thursday)|(Friday)|(Saturday)|(Sunday)), " | |||
r"((January)|(February)|(March)|(April)|(May)|(June)|" | |||
r"(July)|(August)|(September)|(October)|(November)|(December)) " | |||
r"[0-9]{2}, [0-9]{4} at [0-9]{2}:[0-9]{2}$" | |||
r"[0-9]{1,2}, [0-9]{4} at [0-9]{2}:[0-9]{2} [AP]M$" | |||
) | |||