| @@ -1,7 +0,0 @@ | |||||
| [run] | |||||
| branch = true | |||||
| source = | |||||
| kosmorrolib | |||||
| omit = | |||||
| kosmorrolib/main.py | |||||
| test/* | |||||
| @@ -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 | |||||
| @@ -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): | |||||
| @@ -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. | |||||
| @@ -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? | |||||
| @@ -5,8 +5,7 @@ updates: | |||||
| directory: "/" | directory: "/" | ||||
| schedule: | schedule: | ||||
| interval: daily | interval: daily | ||||
| time: "04:00" | |||||
| open-pull-requests-limit: 10 | |||||
| open-pull-requests-limit: 5 | |||||
| target-branch: master | target-branch: master | ||||
| reviewers: | reviewers: | ||||
| - Deuchnord | - Deuchnord | ||||
| @@ -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 | |||||
| @@ -1,2 +0,0 @@ | |||||
| recursive-include _kosmorro/locales * | |||||
| recursive-include _kosmorro/assets * | |||||
| @@ -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 | |||||
| @@ -279,7 +279,7 @@ def get_args(output_formats: [str]): | |||||
| type=str, | type=str, | ||||
| default=None, | default=None, | ||||
| help=_( | 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." | "Can also be set in the KOSMORRO_POSITION environment variable." | ||||
| ), | ), | ||||
| ) | ) | ||||
| @@ -8,7 +8,7 @@ msgid "" | |||||
| msgstr "" | msgstr "" | ||||
| "Project-Id-Version: PROJECT VERSION\n" | "Project-Id-Version: PROJECT VERSION\n" | ||||
| "Report-Msgid-Bugs-To: EMAIL@ADDRESS\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" | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" | ||||
| "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" | "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" | ||||
| "Language-Team: LANGUAGE <LL@li.org>\n" | "Language-Team: LANGUAGE <LL@li.org>\n" | ||||
| @@ -17,98 +17,94 @@ msgstr "" | |||||
| "Content-Transfer-Encoding: 8bit\n" | "Content-Transfer-Encoding: 8bit\n" | ||||
| "Generated-By: Babel 2.9.1\n" | "Generated-By: Babel 2.9.1\n" | ||||
| #: kosmorro/__main__.py:61 | |||||
| #: kosmorro/__main__.py:76 | |||||
| msgid "" | msgid "" | ||||
| "Save the planet and paper!\n" | "Save the planet and paper!\n" | ||||
| "Consider printing your PDF document only if really necessary, and use the" | "Consider printing your PDF document only if really necessary, and use the" | ||||
| " other side of the sheet." | " other side of the sheet." | ||||
| msgstr "" | msgstr "" | ||||
| #: kosmorro/__main__.py:70 | |||||
| #: kosmorro/__main__.py:85 | |||||
| msgid "" | msgid "" | ||||
| "PDF output will not contain the ephemerides, because you didn't provide " | "PDF output will not contain the ephemerides, because you didn't provide " | ||||
| "the observation coordinates." | "the observation coordinates." | ||||
| msgstr "" | msgstr "" | ||||
| #: kosmorro/__main__.py:115 | |||||
| #: kosmorro/__main__.py:137 | |||||
| msgid "The file could not be saved in \"{path}\": {error}" | msgid "The file could not be saved in \"{path}\": {error}" | ||||
| msgstr "" | msgstr "" | ||||
| #: kosmorro/__main__.py:129 | |||||
| #: kosmorro/__main__.py:151 | |||||
| msgid "Please provide a file path to export in this format (--output)." | msgid "Please provide a file path to export in this format (--output)." | ||||
| msgstr "" | msgstr "" | ||||
| #: kosmorro/__main__.py:162 | |||||
| #: kosmorro/__main__.py:184 | |||||
| msgid "Moon phase can only be computed between {min_date} and {max_date}" | msgid "Moon phase can only be computed between {min_date} and {max_date}" | ||||
| msgstr "" | msgstr "" | ||||
| #: kosmorro/__main__.py:201 | |||||
| #: kosmorro/__main__.py:234 | |||||
| msgid "Running on Python {python_version} with Kosmorrolib v{kosmorrolib_version}" | msgid "Running on Python {python_version} with Kosmorrolib v{kosmorrolib_version}" | ||||
| msgstr "" | msgstr "" | ||||
| #: kosmorro/__main__.py:214 | |||||
| #: kosmorro/__main__.py:247 | |||||
| msgid "" | msgid "" | ||||
| "Compute the ephemerides and the events for a given date and a given " | "Compute the ephemerides and the events for a given date and a given " | ||||
| "position on Earth." | "position on Earth." | ||||
| msgstr "" | msgstr "" | ||||
| #: kosmorro/__main__.py:217 | |||||
| #: kosmorro/__main__.py:250 | |||||
| msgid "" | msgid "" | ||||
| "By default, only the events will be computed for today.\n" | "By default, only the events will be computed for today.\n" | ||||
| "To compute also the ephemerides, latitude and longitude arguments are " | "To compute also the ephemerides, latitude and longitude arguments are " | ||||
| "needed." | "needed." | ||||
| msgstr "" | msgstr "" | ||||
| #: kosmorro/__main__.py:230 | |||||
| #: kosmorro/__main__.py:263 | |||||
| msgid "Show the program version" | msgid "Show the program version" | ||||
| msgstr "" | msgstr "" | ||||
| #: kosmorro/__main__.py:238 | |||||
| msgid "The format to output the information to" | |||||
| msgstr "" | |||||
| #: kosmorro/__main__.py:245 | |||||
| #: kosmorro/__main__.py:271 | |||||
| msgid "" | 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 "" | msgstr "" | ||||
| #: kosmorro/__main__.py:255 | |||||
| #: kosmorro/__main__.py:281 | |||||
| msgid "" | 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 "" | msgstr "" | ||||
| #: kosmorro/__main__.py:265 | |||||
| #: kosmorro/__main__.py:291 | |||||
| msgid "" | msgid "" | ||||
| "The date for which the ephemerides must be calculated. Can be in the " | "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," | "YYYY-MM-DD format or an interval in the \"[+-]YyMmDd\" format (with Y, M," | ||||
| " and D numbers). Defaults to current date." | " and D numbers). Defaults to current date." | ||||
| msgstr "" | msgstr "" | ||||
| #: kosmorro/__main__.py:276 | |||||
| #: kosmorro/__main__.py:302 | |||||
| msgid "" | msgid "" | ||||
| "The timezone to display the hours in (e.g. 2 for UTC+2 or -3 for UTC-3). " | "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." | "Can also be set in the KOSMORRO_TIMEZONE environment variable." | ||||
| msgstr "" | msgstr "" | ||||
| #: kosmorro/__main__.py:285 | |||||
| #: kosmorro/__main__.py:311 | |||||
| msgid "Disable the colors in the console." | msgid "Disable the colors in the console." | ||||
| msgstr "" | msgstr "" | ||||
| #: kosmorro/__main__.py:292 | |||||
| #: kosmorro/__main__.py:318 | |||||
| msgid "" | msgid "" | ||||
| "A file to export the output to. If not given, the standard output is " | "A file to export the output to. If not given, the standard output is " | ||||
| "used. This argument is needed for PDF format." | "used. This argument is needed for PDF format." | ||||
| msgstr "" | msgstr "" | ||||
| #: kosmorro/__main__.py:301 | |||||
| #: kosmorro/__main__.py:327 | |||||
| msgid "" | msgid "" | ||||
| "Do not generate a graph to represent the rise and set times in the PDF " | "Do not generate a graph to represent the rise and set times in the PDF " | ||||
| "format." | "format." | ||||
| msgstr "" | msgstr "" | ||||
| #: kosmorro/__main__.py:309 | |||||
| #: kosmorro/__main__.py:335 | |||||
| msgid "Show debugging messages" | msgid "Show debugging messages" | ||||
| msgstr "" | msgstr "" | ||||
| @@ -134,19 +130,19 @@ msgstr "" | |||||
| msgid "Note: All the hours are given in the UTC{offset} timezone." | msgid "Note: All the hours are given in the UTC{offset} timezone." | ||||
| msgstr "" | msgstr "" | ||||
| #: kosmorro/dumper.py:205 kosmorro/dumper.py:333 | |||||
| #: kosmorro/dumper.py:205 kosmorro/dumper.py:339 | |||||
| msgid "Object" | msgid "Object" | ||||
| msgstr "" | msgstr "" | ||||
| #: kosmorro/dumper.py:206 kosmorro/dumper.py:334 | |||||
| #: kosmorro/dumper.py:206 kosmorro/dumper.py:340 | |||||
| msgid "Rise time" | msgid "Rise time" | ||||
| msgstr "" | msgstr "" | ||||
| #: kosmorro/dumper.py:207 kosmorro/dumper.py:336 | |||||
| #: kosmorro/dumper.py:207 kosmorro/dumper.py:342 | |||||
| msgid "Culmination time" | msgid "Culmination time" | ||||
| msgstr "" | msgstr "" | ||||
| #: kosmorro/dumper.py:208 kosmorro/dumper.py:338 | |||||
| #: kosmorro/dumper.py:208 kosmorro/dumper.py:344 | |||||
| msgid "Set time" | msgid "Set time" | ||||
| msgstr "" | msgstr "" | ||||
| @@ -154,7 +150,7 @@ msgstr "" | |||||
| msgid "Moon phase is unavailable for this date." | msgid "Moon phase is unavailable for this date." | ||||
| msgstr "" | msgstr "" | ||||
| #: kosmorro/dumper.py:238 kosmorro/dumper.py:342 | |||||
| #: kosmorro/dumper.py:238 kosmorro/dumper.py:348 | |||||
| msgid "Moon phase:" | msgid "Moon phase:" | ||||
| msgstr "" | msgstr "" | ||||
| @@ -162,36 +158,36 @@ msgstr "" | |||||
| msgid "{next_moon_phase} on {next_moon_phase_date} at {next_moon_phase_time}" | msgid "{next_moon_phase} on {next_moon_phase_date} at {next_moon_phase_time}" | ||||
| msgstr "" | msgstr "" | ||||
| #: kosmorro/dumper.py:306 | |||||
| #: kosmorro/dumper.py:312 | |||||
| msgid "Overview of your sky" | msgid "Overview of your sky" | ||||
| msgstr "" | msgstr "" | ||||
| #: kosmorro/dumper.py:314 | |||||
| #: kosmorro/dumper.py:320 | |||||
| msgid "" | msgid "" | ||||
| "This document summarizes the ephemerides and the events of {date}. It " | "This document summarizes the ephemerides and the events of {date}. It " | ||||
| "aims to help you to prepare your observation session. All the hours are " | "aims to help you to prepare your observation session. All the hours are " | ||||
| "given in {timezone}." | "given in {timezone}." | ||||
| msgstr "" | msgstr "" | ||||
| #: kosmorro/dumper.py:324 | |||||
| #: kosmorro/dumper.py:330 | |||||
| msgid "" | msgid "" | ||||
| "Don't forget to check the weather forecast before you go out with your " | "Don't forget to check the weather forecast before you go out with your " | ||||
| "equipment." | "equipment." | ||||
| msgstr "" | msgstr "" | ||||
| #: kosmorro/dumper.py:331 | |||||
| #: kosmorro/dumper.py:337 | |||||
| msgid "Ephemerides of the day" | msgid "Ephemerides of the day" | ||||
| msgstr "" | msgstr "" | ||||
| #: kosmorro/dumper.py:340 | |||||
| #: kosmorro/dumper.py:346 | |||||
| msgid "hours" | msgid "hours" | ||||
| msgstr "" | msgstr "" | ||||
| #: kosmorro/dumper.py:347 | |||||
| #: kosmorro/dumper.py:353 | |||||
| msgid "Expected events" | msgid "Expected events" | ||||
| msgstr "" | msgstr "" | ||||
| #: kosmorro/dumper.py:487 | |||||
| #: kosmorro/dumper.py:493 | |||||
| msgid "" | msgid "" | ||||
| "Building PDF was not possible, because some dependencies are not " | "Building PDF was not possible, because some dependencies are not " | ||||
| "installed.\n" | "installed.\n" | ||||
| @@ -199,7 +195,7 @@ msgid "" | |||||
| "pdf/ for more information." | "pdf/ for more information." | ||||
| msgstr "" | msgstr "" | ||||
| #: kosmorro/dumper.py:540 | |||||
| #: kosmorro/dumper.py:542 | |||||
| #, python-format | #, python-format | ||||
| msgid "" | msgid "" | ||||
| "An error occurred during the compilation of the PDF.\n" | "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}" | msgid "The date must be between {minimum_date} and {maximum_date}" | ||||
| msgstr "" | 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 | #: kosmorro/i18n/strings.py:11 | ||||
| #, python-format | #, python-format | ||||
| msgid "%s is in opposition" | msgid "%s is in opposition" | ||||
| @@ -155,6 +155,14 @@ category = "main" | |||||
| optional = false | optional = false | ||||
| python-versions = ">=3.7,<3.11" | 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]] | [[package]] | ||||
| name = "packaging" | name = "packaging" | ||||
| version = "21.3" | version = "21.3" | ||||
| @@ -361,7 +369,7 @@ testing = ["pytest (>=6)", "pytest-checkdocs (>=2.4)", "pytest-flake8", "pytest- | |||||
| [metadata] | [metadata] | ||||
| lock-version = "1.1" | lock-version = "1.1" | ||||
| python-versions = ">=3.7,<3.11" | python-versions = ">=3.7,<3.11" | ||||
| content-hash = "351d9199cffd4c1ad1b234c67a8f463b54d724b24215745584cb4555cf13283c" | |||||
| content-hash = "5acdc2ed4308157d945caaba6a73f934ad62fe2eef397cb88d885453878bb7d7" | |||||
| [metadata.files] | [metadata.files] | ||||
| atomicwrites = [ | 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-pp37-pypy37_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:a7c4b701ca418cd39e28ec3b496e6388fe06de83f5f0cb74794fa31cfa384c02"}, | ||||
| {file = "numpy-1.21.5.zip", hash = "sha256:6a5928bc6241264dce5ed509e66f33676fc97f464e7a919edc672fb5532221ee"}, | {file = "numpy-1.21.5.zip", hash = "sha256:6a5928bc6241264dce5ed509e66f33676fc97f464e7a919edc672fb5532221ee"}, | ||||
| ] | ] | ||||
| openlocationcode = [ | |||||
| {file = "openlocationcode-1.0.1.tar.gz", hash = "sha256:6fc0108a8214b65d74964105bd69645a8a7529237f0de6aadcfa83cc3373b359"}, | |||||
| ] | |||||
| packaging = [ | packaging = [ | ||||
| {file = "packaging-21.3-py3-none-any.whl", hash = "sha256:ef103e05f519cdc783ae24ea4e2e0f508a9c99b2d4969652eed6a2e1ea5bd522"}, | {file = "packaging-21.3-py3-none-any.whl", hash = "sha256:ef103e05f519cdc783ae24ea4e2e0f508a9c99b2d4969652eed6a2e1ea5bd522"}, | ||||
| {file = "packaging-21.3.tar.gz", hash = "sha256:dd47c42927d89ab911e606518907cc2d3a1f38bbd026385970643f9c5b8ecfeb"}, | {file = "packaging-21.3.tar.gz", hash = "sha256:dd47c42927d89ab911e606518907cc2d3a1f38bbd026385970643f9c5b8ecfeb"}, | ||||
| @@ -22,6 +22,7 @@ kosmorrolib = "^1.0" | |||||
| python-dateutil = "^2.8" | python-dateutil = "^2.8" | ||||
| Babel = "^2.9" | Babel = "^2.9" | ||||
| importlib-metadata = "^4.11" | importlib-metadata = "^4.11" | ||||
| openlocationcode = "^1.0" | |||||
| [tool.poetry.dev-dependencies] | [tool.poetry.dev-dependencies] | ||||
| black = "^22.1" | black = "^22.1" | ||||
| @@ -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 | |||||
| @@ -44,10 +44,9 @@ def test_help_message(): | |||||
| assert ( | assert ( | ||||
| result.stdout | 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 | Compute the ephemerides and the events for a given date and a given position | ||||
| on Earth. | on Earth. | ||||
| @@ -55,14 +54,14 @@ on Earth. | |||||
| %s: | %s: | ||||
| -h, --help show this help message and exit | -h, --help show this help message and exit | ||||
| --version, -v Show the program version | --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. | --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 | Can be in the YYYY-MM-DD format or an interval in the | ||||
| "[+-]YyMmDd" format (with Y, M, and D numbers). | "[+-]YyMmDd" format (with Y, M, and D numbers). | ||||
| @@ -11,8 +11,7 @@ from sys import platform | |||||
| def test_json_output(): | def test_json_output(): | ||||
| result = execute( | 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 result.is_successful() | ||||
| assert ( | assert ( | ||||
| @@ -162,8 +161,7 @@ def test_pdf_output(): | |||||
| result = execute( | result = execute( | ||||
| KOSMORRO | KOSMORRO | ||||
| + [ | + [ | ||||
| "--latitude=50.5876", | |||||
| "--longitude=3.0624", | |||||
| "--position=50.5876,3.0624", | |||||
| "-d2020-01-27", | "-d2020-01-27", | ||||
| "--format=pdf", | "--format=pdf", | ||||
| f"--output={tmp_dir}/document.pdf", | f"--output={tmp_dir}/document.pdf", | ||||
| @@ -37,9 +37,7 @@ Note: All the hours are given in UTC. | |||||
| def test_with_position(): | 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) | check_command_return(result) | ||||
| @@ -48,8 +46,7 @@ def test_with_position_env_vars(): | |||||
| execute( | execute( | ||||
| KOSMORRO + ["-d2020-01-27"], | KOSMORRO + ["-d2020-01-27"], | ||||
| environment={ | environment={ | ||||
| "KOSMORRO_LATITUDE": "50.5876", | |||||
| "KOSMORRO_LONGITUDE": "3.0624", | |||||
| "KOSMORRO_POSITION": "50.5876,3.0624", | |||||
| }, | }, | ||||
| ) | ) | ||||
| ) | ) | ||||