Skip to content
This repository has been archived by the owner on Nov 29, 2023. It is now read-only.

refactor: Reformatting and Cleanup for #441 #446

Merged
merged 10 commits into from
Apr 29, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 8 additions & 2 deletions .idea/api-editor.iml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

7 changes: 7 additions & 0 deletions .idea/inspectionProfiles/Project_Default.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion .idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

13 changes: 13 additions & 0 deletions package-parser/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,19 @@ optional arguments:
-m MIN, --min MIN Minimum number of usages required to keep an API element.
```

### generate command

```text
usage: parse-package generate [-h] -a API -u USAGES -o OUT

optional arguments:
-h, --help show this help message and exit
-a API, --api API File created by the 'api' command.
-u USAGES, --usages USAGES
File created by the 'usages' command.
-o OUT, --out OUT Output directory.
```

### Example usage

1. Install Python 3.9.
Expand Down
10 changes: 8 additions & 2 deletions package-parser/package-parser.iml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,13 @@
<sourceFolder url="file://$MODULE_DIR$/refined_types" type="java-resource" />
<sourceFolder url="file://$MODULE_DIR$/tests" isTestSource="true" />
</content>
<orderEntry type="jdk" jdkName="Poetry (api-editor)" jdkType="Python SDK" />
<orderEntry type="jdk" jdkName="Poetry (package-parser)" jdkType="Python SDK" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>
<component name="PackageRequirementsSettings">
<option name="requirementsPath" value="" />
</component>
<component name="TestRunnerService">
<option name="PROJECT_TEST_RUNNER" value="py.test" />
</component>
</module>
29 changes: 29 additions & 0 deletions package-parser/package_parser/cli.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
from typing import Any

from .commands.find_usages import find_usages
from .commands.generate_annotations.generate_annotations import generate_annotations
from .commands.get_api import distribution, distribution_version, get_api
from .commands.get_dependencies import get_dependencies
from .commands.suggest_improvements import suggest_improvements
Expand All @@ -13,6 +14,7 @@
__API_COMMAND = "api"
__USAGES_COMMAND = "usages"
__IMPROVE_COMMAND = "improve"
__GENERATE_COMMAND = "generate"


class CustomEncoder(json.JSONEncoder):
Expand Down Expand Up @@ -55,6 +57,9 @@ def cli() -> None:
elif args.command == __IMPROVE_COMMAND:
suggest_improvements(args.api, args.usages, args.out, args.min)

elif args.command == __GENERATE_COMMAND:
generate_annotations(args.api, args.usages, args.out)


def __get_args() -> argparse.Namespace:
parser = argparse.ArgumentParser(description="Analyze Python code.")
Expand All @@ -64,6 +69,7 @@ def __get_args() -> argparse.Namespace:
__add_api_subparser(subparsers)
__add_usages_subparser(subparsers)
__add_improve_subparser(subparsers)
__add_generate_subparser(subparsers)

return parser.parse_args()

Expand Down Expand Up @@ -141,3 +147,26 @@ def __add_improve_subparser(subparsers: _SubParsersAction) -> None:
required=False,
default=1,
)


def __add_generate_subparser(subparsers):
generate_parser = subparsers.add_parser(
__GENERATE_COMMAND, help="Generate Annotations automatically."
)
generate_parser.add_argument(
"-a",
"--api",
help="File created by the 'api' command.",
type=argparse.FileType("r"),
required=True,
)
generate_parser.add_argument(
"-u",
"--usages",
help="File created by the 'usages' command.",
type=argparse.FileType("r"),
required=True,
)
generate_parser.add_argument(
"-o", "--out", help="Output directory.", type=Path, required=True
)
Original file line number Diff line number Diff line change
@@ -1,2 +0,0 @@
from ._combine import write_json
from ._generate_annotations import generate_annotations

This file was deleted.

This file was deleted.

Loading