2018-07-10 11:48:38 +00:00
|
|
|
# -*- coding: utf-8 -*-
|
|
|
|
|
|
|
|
from __future__ import unicode_literals
|
|
|
|
|
|
|
|
from ...attrs import LIKE_NUM
|
|
|
|
|
💫 Tidy up and auto-format .py files (#2983)
<!--- Provide a general summary of your changes in the title. -->
## Description
- [x] Use [`black`](https://github.com/ambv/black) to auto-format all `.py` files.
- [x] Update flake8 config to exclude very large files (lemmatization tables etc.)
- [x] Update code to be compatible with flake8 rules
- [x] Fix various small bugs, inconsistencies and messy stuff in the language data
- [x] Update docs to explain new code style (`black`, `flake8`, when to use `# fmt: off` and `# fmt: on` and what `# noqa` means)
Once #2932 is merged, which auto-formats and tidies up the CLI, we'll be able to run `flake8 spacy` actually get meaningful results.
At the moment, the code style and linting isn't applied automatically, but I'm hoping that the new [GitHub Actions](https://github.com/features/actions) will let us auto-format pull requests and post comments with relevant linting information.
### Types of change
enhancement, code style
## Checklist
<!--- Before you submit the PR, go over this checklist and make sure you can
tick off all the boxes. [] -> [x] -->
- [x] I have submitted the spaCy Contributor Agreement.
- [x] I ran the tests, and all new and existing tests passed.
- [x] My changes don't require a change to the documentation, or if they do, I've added all required information.
2018-11-30 16:03:03 +00:00
|
|
|
_num_words = [
|
|
|
|
"μηδέν",
|
|
|
|
"ένας",
|
|
|
|
"δυο",
|
|
|
|
"δυό",
|
|
|
|
"τρεις",
|
|
|
|
"τέσσερις",
|
|
|
|
"πέντε",
|
|
|
|
"έξι",
|
|
|
|
"εφτά",
|
|
|
|
"επτά",
|
|
|
|
"οκτώ",
|
|
|
|
"οχτώ",
|
|
|
|
"εννιά",
|
|
|
|
"εννέα",
|
|
|
|
"δέκα",
|
|
|
|
"έντεκα",
|
|
|
|
"ένδεκα",
|
|
|
|
"δώδεκα",
|
|
|
|
"δεκατρείς",
|
|
|
|
"δεκατέσσερις",
|
|
|
|
"δεκαπέντε",
|
|
|
|
"δεκαέξι",
|
|
|
|
"δεκαεπτά",
|
|
|
|
"δεκαοχτώ",
|
|
|
|
"δεκαεννέα",
|
|
|
|
"δεκαεννεα",
|
|
|
|
"είκοσι",
|
|
|
|
"τριάντα",
|
|
|
|
"σαράντα",
|
|
|
|
"πενήντα",
|
|
|
|
"εξήντα",
|
|
|
|
"εβδομήντα",
|
|
|
|
"ογδόντα",
|
|
|
|
"ενενήντα",
|
|
|
|
"εκατό",
|
|
|
|
"διακόσιοι",
|
|
|
|
"διακόσοι",
|
|
|
|
"τριακόσιοι",
|
|
|
|
"τριακόσοι",
|
|
|
|
"τετρακόσιοι",
|
|
|
|
"τετρακόσοι",
|
|
|
|
"πεντακόσιοι",
|
|
|
|
"πεντακόσοι",
|
|
|
|
"εξακόσιοι",
|
|
|
|
"εξακόσοι",
|
|
|
|
"εφτακόσιοι",
|
|
|
|
"εφτακόσοι",
|
|
|
|
"επτακόσιοι",
|
|
|
|
"επτακόσοι",
|
|
|
|
"οχτακόσιοι",
|
|
|
|
"οχτακόσοι",
|
|
|
|
"οκτακόσιοι",
|
|
|
|
"οκτακόσοι",
|
|
|
|
"εννιακόσιοι",
|
|
|
|
"χίλιοι",
|
|
|
|
"χιλιάδα",
|
|
|
|
"εκατομμύριο",
|
|
|
|
"δισεκατομμύριο",
|
|
|
|
"τρισεκατομμύριο",
|
|
|
|
"τετράκις",
|
|
|
|
"πεντάκις",
|
|
|
|
"εξάκις",
|
|
|
|
"επτάκις",
|
|
|
|
"οκτάκις",
|
|
|
|
"εννεάκις",
|
|
|
|
"ένα",
|
|
|
|
"δύο",
|
|
|
|
"τρία",
|
|
|
|
"τέσσερα",
|
|
|
|
"δις",
|
|
|
|
"χιλιάδες",
|
|
|
|
]
|
2018-07-10 11:48:38 +00:00
|
|
|
|
|
|
|
|
|
|
|
def like_num(text):
|
💫 Tidy up and auto-format .py files (#2983)
<!--- Provide a general summary of your changes in the title. -->
## Description
- [x] Use [`black`](https://github.com/ambv/black) to auto-format all `.py` files.
- [x] Update flake8 config to exclude very large files (lemmatization tables etc.)
- [x] Update code to be compatible with flake8 rules
- [x] Fix various small bugs, inconsistencies and messy stuff in the language data
- [x] Update docs to explain new code style (`black`, `flake8`, when to use `# fmt: off` and `# fmt: on` and what `# noqa` means)
Once #2932 is merged, which auto-formats and tidies up the CLI, we'll be able to run `flake8 spacy` actually get meaningful results.
At the moment, the code style and linting isn't applied automatically, but I'm hoping that the new [GitHub Actions](https://github.com/features/actions) will let us auto-format pull requests and post comments with relevant linting information.
### Types of change
enhancement, code style
## Checklist
<!--- Before you submit the PR, go over this checklist and make sure you can
tick off all the boxes. [] -> [x] -->
- [x] I have submitted the spaCy Contributor Agreement.
- [x] I ran the tests, and all new and existing tests passed.
- [x] My changes don't require a change to the documentation, or if they do, I've added all required information.
2018-11-30 16:03:03 +00:00
|
|
|
if text.startswith(("+", "-", "±", "~")):
|
2018-10-01 08:49:14 +00:00
|
|
|
text = text[1:]
|
💫 Tidy up and auto-format .py files (#2983)
<!--- Provide a general summary of your changes in the title. -->
## Description
- [x] Use [`black`](https://github.com/ambv/black) to auto-format all `.py` files.
- [x] Update flake8 config to exclude very large files (lemmatization tables etc.)
- [x] Update code to be compatible with flake8 rules
- [x] Fix various small bugs, inconsistencies and messy stuff in the language data
- [x] Update docs to explain new code style (`black`, `flake8`, when to use `# fmt: off` and `# fmt: on` and what `# noqa` means)
Once #2932 is merged, which auto-formats and tidies up the CLI, we'll be able to run `flake8 spacy` actually get meaningful results.
At the moment, the code style and linting isn't applied automatically, but I'm hoping that the new [GitHub Actions](https://github.com/features/actions) will let us auto-format pull requests and post comments with relevant linting information.
### Types of change
enhancement, code style
## Checklist
<!--- Before you submit the PR, go over this checklist and make sure you can
tick off all the boxes. [] -> [x] -->
- [x] I have submitted the spaCy Contributor Agreement.
- [x] I ran the tests, and all new and existing tests passed.
- [x] My changes don't require a change to the documentation, or if they do, I've added all required information.
2018-11-30 16:03:03 +00:00
|
|
|
text = text.replace(",", "").replace(".", "")
|
2018-07-10 11:48:38 +00:00
|
|
|
if text.isdigit():
|
|
|
|
return True
|
💫 Tidy up and auto-format .py files (#2983)
<!--- Provide a general summary of your changes in the title. -->
## Description
- [x] Use [`black`](https://github.com/ambv/black) to auto-format all `.py` files.
- [x] Update flake8 config to exclude very large files (lemmatization tables etc.)
- [x] Update code to be compatible with flake8 rules
- [x] Fix various small bugs, inconsistencies and messy stuff in the language data
- [x] Update docs to explain new code style (`black`, `flake8`, when to use `# fmt: off` and `# fmt: on` and what `# noqa` means)
Once #2932 is merged, which auto-formats and tidies up the CLI, we'll be able to run `flake8 spacy` actually get meaningful results.
At the moment, the code style and linting isn't applied automatically, but I'm hoping that the new [GitHub Actions](https://github.com/features/actions) will let us auto-format pull requests and post comments with relevant linting information.
### Types of change
enhancement, code style
## Checklist
<!--- Before you submit the PR, go over this checklist and make sure you can
tick off all the boxes. [] -> [x] -->
- [x] I have submitted the spaCy Contributor Agreement.
- [x] I ran the tests, and all new and existing tests passed.
- [x] My changes don't require a change to the documentation, or if they do, I've added all required information.
2018-11-30 16:03:03 +00:00
|
|
|
if text.count("/") == 1:
|
|
|
|
num, denom = text.split("/")
|
2018-07-10 11:48:38 +00:00
|
|
|
if num.isdigit() and denom.isdigit():
|
|
|
|
return True
|
💫 Tidy up and auto-format .py files (#2983)
<!--- Provide a general summary of your changes in the title. -->
## Description
- [x] Use [`black`](https://github.com/ambv/black) to auto-format all `.py` files.
- [x] Update flake8 config to exclude very large files (lemmatization tables etc.)
- [x] Update code to be compatible with flake8 rules
- [x] Fix various small bugs, inconsistencies and messy stuff in the language data
- [x] Update docs to explain new code style (`black`, `flake8`, when to use `# fmt: off` and `# fmt: on` and what `# noqa` means)
Once #2932 is merged, which auto-formats and tidies up the CLI, we'll be able to run `flake8 spacy` actually get meaningful results.
At the moment, the code style and linting isn't applied automatically, but I'm hoping that the new [GitHub Actions](https://github.com/features/actions) will let us auto-format pull requests and post comments with relevant linting information.
### Types of change
enhancement, code style
## Checklist
<!--- Before you submit the PR, go over this checklist and make sure you can
tick off all the boxes. [] -> [x] -->
- [x] I have submitted the spaCy Contributor Agreement.
- [x] I ran the tests, and all new and existing tests passed.
- [x] My changes don't require a change to the documentation, or if they do, I've added all required information.
2018-11-30 16:03:03 +00:00
|
|
|
if text.count("^") == 1:
|
|
|
|
num, denom = text.split("^")
|
2018-07-10 11:48:38 +00:00
|
|
|
if num.isdigit() and denom.isdigit():
|
|
|
|
return True
|
💫 Tidy up and auto-format .py files (#2983)
<!--- Provide a general summary of your changes in the title. -->
## Description
- [x] Use [`black`](https://github.com/ambv/black) to auto-format all `.py` files.
- [x] Update flake8 config to exclude very large files (lemmatization tables etc.)
- [x] Update code to be compatible with flake8 rules
- [x] Fix various small bugs, inconsistencies and messy stuff in the language data
- [x] Update docs to explain new code style (`black`, `flake8`, when to use `# fmt: off` and `# fmt: on` and what `# noqa` means)
Once #2932 is merged, which auto-formats and tidies up the CLI, we'll be able to run `flake8 spacy` actually get meaningful results.
At the moment, the code style and linting isn't applied automatically, but I'm hoping that the new [GitHub Actions](https://github.com/features/actions) will let us auto-format pull requests and post comments with relevant linting information.
### Types of change
enhancement, code style
## Checklist
<!--- Before you submit the PR, go over this checklist and make sure you can
tick off all the boxes. [] -> [x] -->
- [x] I have submitted the spaCy Contributor Agreement.
- [x] I ran the tests, and all new and existing tests passed.
- [x] My changes don't require a change to the documentation, or if they do, I've added all required information.
2018-11-30 16:03:03 +00:00
|
|
|
if text.lower() in _num_words or text.lower().split(" ")[0] in _num_words:
|
2018-07-10 11:48:38 +00:00
|
|
|
return True
|
|
|
|
if text in _num_words:
|
|
|
|
return True
|
|
|
|
return False
|
|
|
|
|
|
|
|
|
💫 Tidy up and auto-format .py files (#2983)
<!--- Provide a general summary of your changes in the title. -->
## Description
- [x] Use [`black`](https://github.com/ambv/black) to auto-format all `.py` files.
- [x] Update flake8 config to exclude very large files (lemmatization tables etc.)
- [x] Update code to be compatible with flake8 rules
- [x] Fix various small bugs, inconsistencies and messy stuff in the language data
- [x] Update docs to explain new code style (`black`, `flake8`, when to use `# fmt: off` and `# fmt: on` and what `# noqa` means)
Once #2932 is merged, which auto-formats and tidies up the CLI, we'll be able to run `flake8 spacy` actually get meaningful results.
At the moment, the code style and linting isn't applied automatically, but I'm hoping that the new [GitHub Actions](https://github.com/features/actions) will let us auto-format pull requests and post comments with relevant linting information.
### Types of change
enhancement, code style
## Checklist
<!--- Before you submit the PR, go over this checklist and make sure you can
tick off all the boxes. [] -> [x] -->
- [x] I have submitted the spaCy Contributor Agreement.
- [x] I ran the tests, and all new and existing tests passed.
- [x] My changes don't require a change to the documentation, or if they do, I've added all required information.
2018-11-30 16:03:03 +00:00
|
|
|
LEX_ATTRS = {LIKE_NUM: like_num}
|