ソースを参照

chore: clean repo

pull/262/head
Jérôme Deuchnord 2年前
committed by Jérôme Deuchnord
コミット
507df14d1f
19個のファイルの変更146行の追加727行の削除
  1. +0
    -7
      .coveragerc
  2. +6
    -0
      .github/ISSUE_TEMPLATE/config.yml
  3. +0
    -20
      .github/ISSUE_TEMPLATE/event-type-proposal.md
  4. +0
    -20
      .github/ISSUE_TEMPLATE/feature_request.md
  5. +60
    -0
      .github/ISSUE_TEMPLATE/feature_request.yml
  6. +1
    -2
      .github/dependabot.yml
  7. +0
    -581
      .pylintrc
  8. +0
    -0
      .scripts/tests-e2e.sh
  9. +0
    -2
      MANIFEST.in
  10. +0
    -21
      Pipfile
  11. +1
    -1
      kosmorro/__main__.py
  12. +50
    -39
      kosmorro/locales/messages.pot
  13. +12
    -1
      poetry.lock
  14. +1
    -0
      pyproject.toml
  15. +0
    -12
      setup.cfg
  16. +0
    -0
      setup.py
  17. +11
    -12
      tests/general.py
  18. +2
    -4
      tests/output.py
  19. +2
    -5
      tests/position.py

+ 0
- 7
.coveragerc ファイルの表示

@@ -1,7 +0,0 @@
[run]
branch = true
source =
kosmorrolib
omit =
kosmorrolib/main.py
test/*

+ 6
- 0
.github/ISSUE_TEMPLATE/config.yml ファイルの表示

@@ -0,0 +1,6 @@
blank_issue_enabled: true

contact_links:
- name: Event type
description: Suggest an event type that is not supported yet
url: https://github.com/Kosmorro/lib/issues/new/choose

+ 0
- 20
.github/ISSUE_TEMPLATE/event-type-proposal.md ファイルの表示

@@ -1,20 +0,0 @@
---
name: Event type proposal
about: Suggest a type of event you'd like to see implemented in Kosmorro
title: ''
labels: "enhancement, \U0001F320 events"
assignees: ''

---

**Event type**:
**Involved objects (check the boxes)**:
- [ ] Sun
- [ ] Earth's moon
- [ ] Planets

**Definition of the event:**

<!-- Replace this comment with the official definition of the event type, with a link to its source. -->

**Other useful information** (implementation proposal, etc):

+ 0
- 20
.github/ISSUE_TEMPLATE/feature_request.md ファイルの表示

@@ -1,20 +0,0 @@
---
name: Feature request
about: Suggest an idea for this project
title: ''
labels: enhancement
assignees: ''

---

**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

**Describe the solution you'd like**
A clear and concise description of what you want to happen.

**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.

**Additional context**
Add any other context or screenshots about the feature request here.

+ 60
- 0
.github/ISSUE_TEMPLATE/feature_request.yml ファイルの表示

@@ -0,0 +1,60 @@
name: Feature request
description: Suggest a new feature for Kosmorro
labels:
- enhancement

body:
- type: checkboxes
id: terms
attributes:
label: I have searched for an opened issue and didn't find my bug
description: |
Before continuing, please verify that your bug is not already known, i.e.:

- there is an issue that describe your bug;
- the issue is not closed.

If you have found a closed issue that describes the same bug as yours, please don't comment inside and open a new issue instead.
Even though it may look the same, your bug might be totally different :smile:

options:
- label: I confirm I didn't find any issue regarding my bug
required: true

- type: textarea
id: description
validations:
required: true
attributes:
label: Feature description
description: |
Describe the feature you would like to see in Kosmorro.

- type: textarea
id: context
validations:
required: false
attributes:
label: Suggestion context
description: |
If you have some context to share about your suggestion, feel free to describe here.
For instance, a frustration.

- type: textarea
id: alternatives
validations:
required: false
attributes:
label: Considered alternatives
description: |
Did you find any alternative solution that meet your need?
It can be a workaround in Kosmorro usage, or even the use of another software with or in replacement.

- type: textarea
id: additional-info
validations:
required: false
attributes:
label: Additional information
description: |
Anything else to say?

+ 1
- 2
.github/dependabot.yml ファイルの表示

@@ -5,8 +5,7 @@ updates:
directory: "/"
schedule:
interval: daily
time: "04:00"
open-pull-requests-limit: 10
open-pull-requests-limit: 5
target-branch: master
reviewers:
- Deuchnord


+ 0
- 581
.pylintrc ファイルの表示

@@ -1,581 +0,0 @@
[MASTER]

# A comma-separated list of package or module names from where C extensions may
# be loaded. Extensions are loading into the active Python interpreter and may
# run arbitrary code.
extension-pkg-whitelist=

# Add files or directories to the blacklist. They should be base names, not
# paths.
ignore=CVS

# Add files or directories matching the regex patterns to the blacklist. The
# regex matches against base names, not paths.
ignore-patterns=

# Python code to execute, usually for sys.path manipulation such as
# pygtk.require().
#init-hook=

# Use multiple processes to speed up Pylint. Specifying 0 will auto-detect the
# number of processors available to use.
jobs=1

# Control the amount of potential inferred values when inferring a single
# object. This can help the performance when dealing with large functions or
# complex, nested conditions.
limit-inference-results=100

# List of plugins (as comma separated values of python modules names) to load,
# usually to register additional checkers.
load-plugins=pylintfileheader

file-header=#!/usr/bin/env python3\n\n# Kosmorro - Compute The Next Ephemerides\n# Copyright \(C\) 2019 Jérôme Deuchnord <jerome@deuchnord.fr>\n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or \(at your option\) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program. If not, see <https://www.gnu.org/licenses/>.\n

# Pickle collected data for later comparisons.
persistent=yes

# Specify a configuration file.
#rcfile=

# When enabled, pylint would attempt to guess common misconfiguration and emit
# user-friendly hints instead of false-positive error messages.
suggestion-mode=yes

# Allow loading of arbitrary C extensions. Extensions are imported into the
# active Python interpreter and may run arbitrary code.
unsafe-load-any-extension=no


[MESSAGES CONTROL]

# Only show warnings with the listed confidence levels. Leave empty to show
# all. Valid levels: HIGH, INFERENCE, INFERENCE_FAILURE, UNDEFINED.
confidence=

# Disable the message, report, category or checker with the given id(s). You
# can either give multiple identifiers separated by comma (,) or put this
# option multiple times (only on the command line, not in the configuration
# file where it should appear only once). You can also use "--disable=all" to
# disable everything first and then reenable specific checks. For example, if
# you want to run only the similarities checker, you can use "--disable=all
# --enable=similarities". If you want to run only the classes checker, but have
# no Warning level messages displayed, use "--disable=all --enable=classes
# --disable=W".
disable=print-statement,
parameter-unpacking,
unpacking-in-except,
old-raise-syntax,
backtick,
long-suffix,
old-ne-operator,
old-octal-literal,
import-star-module-level,
non-ascii-bytes-literal,
raw-checker-failed,
bad-inline-option,
locally-disabled,
file-ignored,
suppressed-message,
useless-suppression,
deprecated-pragma,
use-symbolic-message-instead,
apply-builtin,
basestring-builtin,
buffer-builtin,
cmp-builtin,
coerce-builtin,
execfile-builtin,
file-builtin,
long-builtin,
raw_input-builtin,
reduce-builtin,
standarderror-builtin,
unicode-builtin,
xrange-builtin,
coerce-method,
delslice-method,
getslice-method,
setslice-method,
no-absolute-import,
old-division,
dict-iter-method,
dict-view-method,
next-method-called,
metaclass-assignment,
indexing-exception,
raising-string,
reload-builtin,
oct-method,
hex-method,
nonzero-method,
cmp-method,
input-builtin,
round-builtin,
intern-builtin,
unichr-builtin,
map-builtin-not-iterating,
zip-builtin-not-iterating,
range-builtin-not-iterating,
filter-builtin-not-iterating,
using-cmp-argument,
eq-without-hash,
div-method,
idiv-method,
rdiv-method,
exception-message-attribute,
invalid-str-codec,
sys-max-int,
bad-python3-import,
deprecated-string-function,
deprecated-str-translate-call,
deprecated-itertools-function,
deprecated-types-field,
next-method-defined,
dict-items-not-iterating,
dict-keys-not-iterating,
dict-values-not-iterating,
deprecated-operator-function,
deprecated-urllib-function,
xreadlines-attribute,
deprecated-sys-function,
exception-escape,
comprehension-escape,
missing-docstring,
too-many-locals,
too-many-branches,
too-few-public-methods,
protected-access,
unnecessary-comprehension,
too-many-arguments,
unsubscriptable-object,
too-many-return-statements

# Enable the message, report, category or checker with the given id(s). You can
# either give multiple identifier separated by comma (,) or put this option
# multiple time (only on the command line, not in the configuration file where
# it should appear only once). See also the "--disable" option for examples.
enable=c-extension-no-member


[REPORTS]

# Python expression which should return a note less than 10 (10 is the highest
# note). You have access to the variables errors warning, statement which
# respectively contain the number of errors / warnings messages and the total
# number of statements analyzed. This is used by the global evaluation report
# (RP0004).
evaluation=10.0 - ((float(5 * error + warning + refactor + convention) / statement) * 10)

# Template used to display messages. This is a python new-style format string
# used to format the message information. See doc for all details.
#msg-template=

# Set the output format. Available formats are text, parseable, colorized, json
# and msvs (visual studio). You can also give a reporter class, e.g.
# mypackage.mymodule.MyReporterClass.
output-format=text

# Tells whether to display a full report or only the messages.
reports=no

# Activate the evaluation score.
score=yes


[REFACTORING]

# Maximum number of nested blocks for function / method body
max-nested-blocks=5

# Complete name of functions that never returns. When checking for
# inconsistent-return-statements if a never returning function is called then
# it will be considered as an explicit return statement and no message will be
# printed.
never-returning-functions=sys.exit


[BASIC]

# Naming style matching correct argument names.
argument-naming-style=snake_case

# Regular expression matching correct argument names. Overrides argument-
# naming-style.
#argument-rgx=

# Naming style matching correct attribute names.
attr-naming-style=snake_case

# Regular expression matching correct attribute names. Overrides attr-naming-
# style.
#attr-rgx=

# Bad variable names which should always be refused, separated by a comma.
bad-names=foo,
bar,
baz,
toto,
tutu,
tata

# Naming style matching correct class attribute names.
class-attribute-naming-style=any

# Regular expression matching correct class attribute names. Overrides class-
# attribute-naming-style.
#class-attribute-rgx=

# Naming style matching correct class names.
class-naming-style=PascalCase

# Regular expression matching correct class names. Overrides class-naming-
# style.
#class-rgx=

# Naming style matching correct constant names.
const-naming-style=UPPER_CASE

# Regular expression matching correct constant names. Overrides const-naming-
# style.
#const-rgx=

# Minimum line length for functions/classes that require docstrings, shorter
# ones are exempt.
docstring-min-length=-1

# Naming style matching correct function names.
function-naming-style=snake_case

# Regular expression matching correct function names. Overrides function-
# naming-style.
#function-rgx=

# Good variable names which should always be accepted, separated by a comma.
good-names=i,
j,
k,
ex,
Run,
_

# Include a hint for the correct naming format with invalid-name.
include-naming-hint=no

# Naming style matching correct inline iteration names.
inlinevar-naming-style=any

# Regular expression matching correct inline iteration names. Overrides
# inlinevar-naming-style.
#inlinevar-rgx=

# Naming style matching correct method names.
method-naming-style=snake_case

# Regular expression matching correct method names. Overrides method-naming-
# style.
#method-rgx=

# Naming style matching correct module names.
module-naming-style=snake_case

# Regular expression matching correct module names. Overrides module-naming-
# style.
#module-rgx=

# Colon-delimited sets of names that determine each other's naming style when
# the name regexes allow several styles.
name-group=

# Regular expression which should only match function or class names that do
# not require a docstring.
no-docstring-rgx=^_

# List of decorators that produce properties, such as abc.abstractproperty. Add
# to this list to register other decorators that produce valid properties.
# These decorators are taken in consideration only for invalid-name.
property-classes=abc.abstractproperty

# Naming style matching correct variable names.
variable-naming-style=snake_case

# Regular expression matching correct variable names. Overrides variable-
# naming-style.
#variable-rgx=


[FORMAT]

# Expected format of line ending, e.g. empty (any line ending), LF or CRLF.
expected-line-ending-format=

# Regexp for a line that is allowed to be longer than the limit.
ignore-long-lines=^\s*(# )?<?https?://\S+>?$

# Number of spaces of indent required inside a hanging or continued line.
indent-after-paren=4

# String used as indentation unit. This is usually " " (4 spaces) or "\t" (1
# tab).
indent-string=' '

# Maximum number of characters on a single line.
max-line-length=120

# Maximum number of lines in a module.
max-module-lines=1000

# List of optional constructs for which whitespace checking is disabled. `dict-
# separator` is used to allow tabulation in dicts, etc.: {1 : 1,\n222: 2}.
# `trailing-comma` allows a space between comma and closing bracket: (a, ).
# `empty-line` allows space-only lines.
no-space-check=trailing-comma,
dict-separator

# Allow the body of a class to be on the same line as the declaration if body
# contains single statement.
single-line-class-stmt=no

# Allow the body of an if to be on the same line as the test if there is no
# else.
single-line-if-stmt=no


[LOGGING]

# Format style used to check logging format string. `old` means using %
# formatting, while `new` is for `{}` formatting.
logging-format-style=old

# Logging modules to check that the string format arguments are in logging
# function parameter format.
logging-modules=logging


[MISCELLANEOUS]

# List of note tags to take in consideration, separated by a comma.
notes=FIXME,
XXX,
TODO


[SIMILARITIES]

# Ignore comments when computing similarities.
ignore-comments=yes

# Ignore docstrings when computing similarities.
ignore-docstrings=yes

# Ignore imports when computing similarities.
ignore-imports=no

# Minimum lines number of a similarity.
min-similarity-lines=4


[SPELLING]

# Limits count of emitted suggestions for spelling mistakes.
max-spelling-suggestions=4

# Spelling dictionary name. Available dictionaries: none. To make it working
# install python-enchant package..
spelling-dict=

# List of comma separated words that should not be checked.
spelling-ignore-words=

# A path to a file that contains private dictionary; one word per line.
spelling-private-dict-file=

# Tells whether to store unknown words to indicated private dictionary in
# --spelling-private-dict-file option instead of raising a message.
spelling-store-unknown-words=no


[STRING]

# This flag controls whether the implicit-str-concat-in-sequence should
# generate a warning on implicit string concatenation in sequences defined over
# several lines.
check-str-concat-over-line-jumps=no


[TYPECHECK]

# List of decorators that produce context managers, such as
# contextlib.contextmanager. Add to this list to register other decorators that
# produce valid context managers.
contextmanager-decorators=contextlib.contextmanager

# List of members which are set dynamically and missed by pylint inference
# system, and so shouldn't trigger E1101 when accessed. Python regular
# expressions are accepted.
generated-members=

# Tells whether missing members accessed in mixin class should be ignored. A
# mixin class is detected if its name ends with "mixin" (case insensitive).
ignore-mixin-members=yes

# Tells whether to warn about missing members when the owner of the attribute
# is inferred to be None.
ignore-none=yes

# This flag controls whether pylint should warn about no-member and similar
# checks whenever an opaque object is returned when inferring. The inference
# can return multiple potential results while evaluating a Python object, but
# some branches might not be evaluated, which results in partial inference. In
# that case, it might be useful to still emit no-member and other checks for
# the rest of the inferred objects.
ignore-on-opaque-inference=yes

# List of class names for which member attributes should not be checked (useful
# for classes with dynamically set attributes). This supports the use of
# qualified names.
ignored-classes=optparse.Values,thread._local,_thread._local

# List of module names for which member attributes should not be checked
# (useful for modules/projects where namespaces are manipulated during runtime
# and thus existing member attributes cannot be deduced by static analysis. It
# supports qualified module names, as well as Unix pattern matching.
ignored-modules=

# Show a hint with possible names when a member name was not found. The aspect
# of finding the hint is based on edit distance.
missing-member-hint=yes

# The minimum edit distance a name should have in order to be considered a
# similar match for a missing member name.
missing-member-hint-distance=1

# The total number of similar names that should be taken in consideration when
# showing a hint for a missing member.
missing-member-max-choices=1


[VARIABLES]

# List of additional names supposed to be defined in builtins. Remember that
# you should avoid defining new builtins when possible.
additional-builtins=

# Tells whether unused global variables should be treated as a violation.
allow-global-unused-variables=yes

# List of strings which can identify a callback function by name. A callback
# name must start or end with one of those strings.
callbacks=cb_,
_cb

# A regular expression matching the name of dummy variables (i.e. expected to
# not be used).
dummy-variables-rgx=_+$|(_[a-zA-Z0-9_]*[a-zA-Z0-9]+?$)|dummy|^ignored_|^unused_

# Argument names that match this expression will be ignored. Default to name
# with leading underscore.
ignored-argument-names=_.*|^ignored_|^unused_

# Tells whether we should check for unused import in __init__ files.
init-import=no

# List of qualified module names which can have objects that can redefine
# builtins.
redefining-builtins-modules=six.moves,past.builtins,future.builtins,builtins,io


[CLASSES]

# List of method names used to declare (i.e. assign) instance attributes.
defining-attr-methods=__init__,
__new__,
setUp

# List of member names, which should be excluded from the protected access
# warning.
exclude-protected=_asdict,
_fields,
_replace,
_source,
_make

# List of valid names for the first argument in a class method.
valid-classmethod-first-arg=cls

# List of valid names for the first argument in a metaclass class method.
valid-metaclass-classmethod-first-arg=cls


[DESIGN]

# Maximum number of arguments for function / method.
max-args=5

# Maximum number of attributes for a class (see R0902).
max-attributes=7

# Maximum number of boolean expressions in an if statement.
max-bool-expr=5

# Maximum number of branch for function / method body.
max-branches=12

# Maximum number of locals for function / method body.
max-locals=15

# Maximum number of parents for a class (see R0901).
max-parents=7

# Maximum number of public methods for a class (see R0904).
max-public-methods=20

# Maximum number of return / yield for function / method body.
max-returns=6

# Maximum number of statements in function / method body.
max-statements=50

# Minimum number of public methods for a class (see R0903).
min-public-methods=2


[IMPORTS]

# Allow wildcard imports from modules that define __all__.
allow-wildcard-with-all=no

# Analyse import fallback blocks. This can be used to support both Python 2 and
# 3 compatible code, which means that the block might have code that exists
# only in one or another interpreter, leading to false positives when analysed.
analyse-fallback-blocks=no

# Deprecated modules which should not be used, separated by a comma.
deprecated-modules=optparse,tkinter.tix

# Create a graph of external dependencies in the given file (report RP0402 must
# not be disabled).
ext-import-graph=

# Create a graph of every (i.e. internal and external) dependencies in the
# given file (report RP0402 must not be disabled).
import-graph=

# Create a graph of internal dependencies in the given file (report RP0402 must
# not be disabled).
int-import-graph=

# Force import order to recognize a module as part of the standard
# compatibility libraries.
known-standard-library=

# Force import order to recognize a module as part of a third party library.
known-third-party=enchant


[EXCEPTIONS]

# Exceptions that will emit a warning when being caught. Defaults to
# "BaseException, Exception".
overgeneral-exceptions=BaseException,
Exception

+ 0
- 0
.scripts/tests-e2e.sh ファイルの表示


+ 0
- 2
MANIFEST.in ファイルの表示

@@ -1,2 +0,0 @@
recursive-include _kosmorro/locales *
recursive-include _kosmorro/assets *

+ 0
- 21
Pipfile ファイルの表示

@@ -1,21 +0,0 @@
[[source]]
name = "pypi"
url = "https://pypi.org/simple"
verify_ssl = true

[dev-packages]
babel = "*"
black = "*"

[packages]
tabulate = "*"
termcolor = "*"
kosmorrolib = ">=1.0.0,<2.0.0"
python-dateutil = "*"
openlocationcode = ">=1.0.0,<2.0.0"

[requires]
python_version = "3"

[pipenv]
allow_prereleases = true

+ 1
- 1
kosmorro/__main__.py ファイルの表示

@@ -279,7 +279,7 @@ def get_args(output_formats: [str]):
type=str,
default=None,
help=_(
'The observer\'s position on Earth, in the "{latitude},{longitude}" format.'
'The observer\'s position on Earth, in the "{latitude},{longitude}" format. '
"Can also be set in the KOSMORRO_POSITION environment variable."
),
)


+ 50
- 39
kosmorro/locales/messages.pot ファイルの表示

@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2022-03-20 11:00+0100\n"
"POT-Creation-Date: 2022-03-24 20: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"
@@ -17,98 +17,94 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.9.1\n"

#: kosmorro/__main__.py:61
#: kosmorro/__main__.py:76
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:70
#: kosmorro/__main__.py:85
msgid ""
"PDF output will not contain the ephemerides, because you didn't provide "
"the observation coordinates."
msgstr ""

#: kosmorro/__main__.py:115
#: kosmorro/__main__.py:137
msgid "The file could not be saved in \"{path}\": {error}"
msgstr ""

#: kosmorro/__main__.py:129
#: kosmorro/__main__.py:151
msgid "Please provide a file path to export in this format (--output)."
msgstr ""

#: kosmorro/__main__.py:162
#: kosmorro/__main__.py:184
msgid "Moon phase can only be computed between {min_date} and {max_date}"
msgstr ""

#: kosmorro/__main__.py:201
#: kosmorro/__main__.py:234
msgid "Running on Python {python_version} with Kosmorrolib v{kosmorrolib_version}"
msgstr ""

#: kosmorro/__main__.py:214
#: kosmorro/__main__.py:247
msgid ""
"Compute the ephemerides and the events for a given date and a given "
"position on Earth."
msgstr ""

#: kosmorro/__main__.py:217
#: kosmorro/__main__.py:250
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:230
#: kosmorro/__main__.py:263
msgid "Show the program version"
msgstr ""

#: kosmorro/__main__.py:238
msgid "The format to output the information to"
msgstr ""

#: kosmorro/__main__.py:245
#: kosmorro/__main__.py:271
msgid ""
"The observer's latitude on Earth. Can also be set in the "
"KOSMORRO_LATITUDE environment variable."
"The format to output the information to. If not provided, the output "
"format will be inferred from the file extension of the output file."
msgstr ""

#: kosmorro/__main__.py:255
#: kosmorro/__main__.py:281
msgid ""
"The observer's longitude on Earth. Can also be set in the "
"KOSMORRO_LONGITUDE environment variable."
"The observer's position on Earth, in the \"{latitude},{longitude}\" "
"format. Can also be set in the KOSMORRO_POSITION environment variable."
msgstr ""

#: kosmorro/__main__.py:265
#: kosmorro/__main__.py:291
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:276
#: kosmorro/__main__.py:302
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:285
#: kosmorro/__main__.py:311
msgid "Disable the colors in the console."
msgstr ""

#: kosmorro/__main__.py:292
#: kosmorro/__main__.py:318
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:301
#: kosmorro/__main__.py:327
msgid ""
"Do not generate a graph to represent the rise and set times in the PDF "
"format."
msgstr ""

#: kosmorro/__main__.py:309
#: kosmorro/__main__.py:335
msgid "Show debugging messages"
msgstr ""

@@ -134,19 +130,19 @@ msgstr ""
msgid "Note: All the hours are given in the UTC{offset} timezone."
msgstr ""

#: kosmorro/dumper.py:205 kosmorro/dumper.py:333
#: kosmorro/dumper.py:205 kosmorro/dumper.py:339
msgid "Object"
msgstr ""

#: kosmorro/dumper.py:206 kosmorro/dumper.py:334
#: kosmorro/dumper.py:206 kosmorro/dumper.py:340
msgid "Rise time"
msgstr ""

#: kosmorro/dumper.py:207 kosmorro/dumper.py:336
#: kosmorro/dumper.py:207 kosmorro/dumper.py:342
msgid "Culmination time"
msgstr ""

#: kosmorro/dumper.py:208 kosmorro/dumper.py:338
#: kosmorro/dumper.py:208 kosmorro/dumper.py:344
msgid "Set time"
msgstr ""

@@ -154,7 +150,7 @@ msgstr ""
msgid "Moon phase is unavailable for this date."
msgstr ""

#: kosmorro/dumper.py:238 kosmorro/dumper.py:342
#: kosmorro/dumper.py:238 kosmorro/dumper.py:348
msgid "Moon phase:"
msgstr ""

@@ -162,36 +158,36 @@ msgstr ""
msgid "{next_moon_phase} on {next_moon_phase_date} at {next_moon_phase_time}"
msgstr ""

#: kosmorro/dumper.py:306
#: kosmorro/dumper.py:312
msgid "Overview of your sky"
msgstr ""

#: kosmorro/dumper.py:314
#: kosmorro/dumper.py:320
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:324
#: kosmorro/dumper.py:330
msgid ""
"Don't forget to check the weather forecast before you go out with your "
"equipment."
msgstr ""

#: kosmorro/dumper.py:331
#: kosmorro/dumper.py:337
msgid "Ephemerides of the day"
msgstr ""

#: kosmorro/dumper.py:340
#: kosmorro/dumper.py:346
msgid "hours"
msgstr ""

#: kosmorro/dumper.py:347
#: kosmorro/dumper.py:353
msgid "Expected events"
msgstr ""

#: kosmorro/dumper.py:487
#: kosmorro/dumper.py:493
msgid ""
"Building PDF was not possible, because some dependencies are not "
"installed.\n"
@@ -199,7 +195,7 @@ msgid ""
"pdf/ for more information."
msgstr ""

#: kosmorro/dumper.py:540
#: kosmorro/dumper.py:542
#, python-format
msgid ""
"An error occurred during the compilation of the PDF.\n"
@@ -211,6 +207,21 @@ msgstr ""
msgid "The date must be between {minimum_date} and {maximum_date}"
msgstr ""

#: kosmorro/exceptions.py:48
msgid ""
"Invalid output format: {output_format}. Output file must end with: "
"{accepted_extensions}"
msgstr ""

#: kosmorro/geolocation.py:14
#, python-format
msgid "The given position (%s) is not valid."
msgstr ""

#: kosmorro/geolocation.py:29
msgid "The given Plus Code seems to be a short code, please provide a full code."
msgstr ""

#: kosmorro/i18n/strings.py:11
#, python-format
msgid "%s is in opposition"


+ 12
- 1
poetry.lock ファイルの表示

@@ -155,6 +155,14 @@ category = "main"
optional = false
python-versions = ">=3.7,<3.11"

[[package]]
name = "openlocationcode"
version = "1.0.1"
description = "Python library for Open Location Code (Plus Codes)"
category = "main"
optional = false
python-versions = "*"

[[package]]
name = "packaging"
version = "21.3"
@@ -361,7 +369,7 @@ testing = ["pytest (>=6)", "pytest-checkdocs (>=2.4)", "pytest-flake8", "pytest-
[metadata]
lock-version = "1.1"
python-versions = ">=3.7,<3.11"
content-hash = "351d9199cffd4c1ad1b234c67a8f463b54d724b24215745584cb4555cf13283c"
content-hash = "5acdc2ed4308157d945caaba6a73f934ad62fe2eef397cb88d885453878bb7d7"

[metadata.files]
atomicwrites = [
@@ -468,6 +476,9 @@ numpy = [
{file = "numpy-1.21.5-pp37-pypy37_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:a7c4b701ca418cd39e28ec3b496e6388fe06de83f5f0cb74794fa31cfa384c02"},
{file = "numpy-1.21.5.zip", hash = "sha256:6a5928bc6241264dce5ed509e66f33676fc97f464e7a919edc672fb5532221ee"},
]
openlocationcode = [
{file = "openlocationcode-1.0.1.tar.gz", hash = "sha256:6fc0108a8214b65d74964105bd69645a8a7529237f0de6aadcfa83cc3373b359"},
]
packaging = [
{file = "packaging-21.3-py3-none-any.whl", hash = "sha256:ef103e05f519cdc783ae24ea4e2e0f508a9c99b2d4969652eed6a2e1ea5bd522"},
{file = "packaging-21.3.tar.gz", hash = "sha256:dd47c42927d89ab911e606518907cc2d3a1f38bbd026385970643f9c5b8ecfeb"},


+ 1
- 0
pyproject.toml ファイルの表示

@@ -22,6 +22,7 @@ kosmorrolib = "^1.0"
python-dateutil = "^2.8"
Babel = "^2.9"
importlib-metadata = "^4.11"
openlocationcode = "^1.0"

[tool.poetry.dev-dependencies]
black = "^22.1"


+ 0
- 12
setup.cfg ファイルの表示

@@ -1,12 +0,0 @@
[extract_message]
charset = utf-8
keywords = _ ngettext
width = 120
output_file = kosmorro/locales/messages.pot
omit_header = true
copyright_holder = Jérôme Deuchnord
input_paths=kosmorro

[compile_catalog]
domain = messages
directory = kosmorro/locales

+ 0
- 0
setup.py ファイルの表示


+ 11
- 12
tests/general.py ファイルの表示

@@ -44,10 +44,9 @@ def test_help_message():

assert (
result.stdout
== """usage: kosmorro [-h] [--version] [--format {text,json,pdf}]
[--latitude LATITUDE] [--longitude LONGITUDE] [--date DATE]
[--timezone TIMEZONE] [--no-colors] [--output OUTPUT]
[--no-graph] [--debug]
== """usage: kosmorro [-h] [--version] [--format {txt,json,pdf,tex}]
[--position POSITION] [--date DATE] [--timezone TIMEZONE]
[--no-colors] [--output OUTPUT] [--no-graph] [--debug]

Compute the ephemerides and the events for a given date and a given position
on Earth.
@@ -55,14 +54,14 @@ on Earth.
%s:
-h, --help show this help message and exit
--version, -v Show the program version
--format {text,json,pdf}, -f {text,json,pdf}
The format to output the information to
--latitude LATITUDE, -lat LATITUDE
The observer's latitude on Earth. Can also be set in
the KOSMORRO_LATITUDE environment variable.
--longitude LONGITUDE, -lon LONGITUDE
The observer's longitude on Earth. Can also be set in
the KOSMORRO_LONGITUDE environment variable.
--format {txt,json,pdf,tex}, -f {txt,json,pdf,tex}
The format to output the information to. If not
provided, the output format will be inferred from the
file extension of the output file.
--position POSITION, -p POSITION
The observer's position on Earth, in the
"{latitude},{longitude}" format. Can also be set in
the KOSMORRO_POSITION environment variable.
--date DATE, -d DATE 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).


+ 2
- 4
tests/output.py ファイルの表示

@@ -11,8 +11,7 @@ from sys import platform

def test_json_output():
result = execute(
KOSMORRO
+ ["--latitude=50.5876", "--longitude=3.0624", "-d2020-01-27", "--format=json"]
KOSMORRO + ["--position=50.5876,3.0624", "-d2020-01-27", "--format=json"]
)
assert result.is_successful()
assert (
@@ -162,8 +161,7 @@ def test_pdf_output():
result = execute(
KOSMORRO
+ [
"--latitude=50.5876",
"--longitude=3.0624",
"--position=50.5876,3.0624",
"-d2020-01-27",
"--format=pdf",
f"--output={tmp_dir}/document.pdf",


+ 2
- 5
tests/position.py ファイルの表示

@@ -37,9 +37,7 @@ Note: All the hours are given in UTC.


def test_with_position():
result = execute(
KOSMORRO + ["--latitude=50.5876", "--longitude=3.0624", "-d2020-01-27"]
)
result = execute(KOSMORRO + ["--position=50.5876,3.0624", "-d2020-01-27"])
check_command_return(result)


@@ -48,8 +46,7 @@ def test_with_position_env_vars():
execute(
KOSMORRO + ["-d2020-01-27"],
environment={
"KOSMORRO_LATITUDE": "50.5876",
"KOSMORRO_LONGITUDE": "3.0624",
"KOSMORRO_POSITION": "50.5876,3.0624",
},
)
)

読み込み中…
キャンセル
保存