MIERUNE / gtfs-parser

parse and aggregate GTFS
https://pypi.org/project/gtfs-parser/
MIT License
7 stars 1 forks source link

support same route / multi trips #10

Closed Kanahiro closed 4 months ago

Kanahiro commented 4 months ago

Close #6

Description(変更内容)

Manual Testing(手動テスト)

Not required / 不要

coderabbitai[bot] commented 4 months ago

Walkthrough

この変更は、GTFSFactory の導入と、read_stopsread_routes 関数のロジックの改良に焦点を当てています。これにより、GTFS データの柔軟な処理と、より詳細な地理情報の生成が可能になります。

Changes

Files Change Summary
__init__.py, __main__.py GTFS から GTFSFactory への変更、及びそのインポート
aggregate.py, parse.py GTFS のインポートパスの更新
gtfs.py GTFSFactory の導入、関数の追加と削除
parse.py, tests/test_parser.py read_stopsread_routes のロジック改良、新しいテスト関数の追加

Assessment against linked issues

Objective Addressed Explanation
#6: read_routes() should return MultiLineStrings even if shape is not used 変更の詳細が不足しているため、MultiLineStrings が実際に返されるかどうかが不明です。

🐰✨ 変更の風、新たなる道
コードの海に船出する
データ流れ、形を変え
新しい地平を目指す
🌟🚀🌟


Recent Review Details **Configuration used: CodeRabbit UI** **Review profile: CHILL**
Commits Files that changed from the base of the PR and between 7ed75a78db72aa08ca8dadff78682bd8f51eba7a and 98f7fadc50e489be33fe24c361655da737c215ff.
Files ignored due to path filters (2) * `poetry.lock` is excluded by `!**/*.lock`, `!**/*.lock` * `pyproject.toml` is excluded by `!**/*.toml`
Files selected for processing (6) * gtfs_parser/__init__.py (1 hunks) * gtfs_parser/__main__.py (2 hunks) * gtfs_parser/aggregate.py (1 hunks) * gtfs_parser/gtfs.py (3 hunks) * gtfs_parser/parse.py (5 hunks) * tests/test_parser.py (2 hunks)
Additional Context Used
Ruff (5)
gtfs_parser/__init__.py (4)
1-1: `.gtfs.GTFSFactory` imported but unused; consider removing, adding to `__all__`, or using a redundant alias --- 1-1: `.gtfs.GTFS` imported but unused; consider removing, adding to `__all__`, or using a redundant alias --- 2-2: `.aggregate` imported but unused; consider removing, adding to `__all__`, or using a redundant alias --- 2-2: `.parse` imported but unused; consider removing, adding to `__all__`, or using a redundant alias
gtfs_parser/aggregate.py (1)
110-110: Do not compare types, use `isinstance()`
GitHub Check Runs (1)
codecov/patch success (12)
gtfs_parser/gtfs.py: [warning] 21-21: gtfs_parser/gtfs.py#L21 Added line #L21 was not covered by tests --- gtfs_parser/gtfs.py: [warning] 82-82: gtfs_parser/gtfs.py#L82 Added line #L82 was not covered by tests --- gtfs_parser/gtfs.py: [warning] 84-84: gtfs_parser/gtfs.py#L84 Added line #L84 was not covered by tests --- gtfs_parser/gtfs.py: [warning] 97-97: gtfs_parser/gtfs.py#L97 Added line #L97 was not covered by tests --- gtfs_parser/parse.py: [warning] 195-195: gtfs_parser/parse.py#L195 Added line #L195 was not covered by tests --- gtfs_parser/parse.py: [warning] 199-199: gtfs_parser/parse.py#L199 Added line #L199 was not covered by tests --- gtfs_parser/parse.py: [warning] 202-203: gtfs_parser/parse.py#L202-L203 Added lines #L202 - L203 were not covered by tests --- gtfs_parser/parse.py: [warning] 206-206: gtfs_parser/parse.py#L206 Added line #L206 was not covered by tests --- gtfs_parser/parse.py: [warning] 209-209: gtfs_parser/parse.py#L209 Added line #L209 was not covered by tests --- gtfs_parser/parse.py: [warning] 212-213: gtfs_parser/parse.py#L212-L213 Added lines #L212 - L213 were not covered by tests --- gtfs_parser/parse.py: [warning] 216-216: gtfs_parser/parse.py#L216 Added line #L216 was not covered by tests --- gtfs_parser/parse.py: [warning] 230-230: gtfs_parser/parse.py#L230 Added line #L230 was not covered by tests
Additional comments not posted (8)
tests/test_parser.py (2)
`10-10`: 新しい機能 `ignore_no_route` を正しくテストしています。良いテストケースです。 --- `21-21`: 新しい機能 `ignore_shapes` を正しくテストしています。良いテストケースです。
gtfs_parser/__main__.py (1)
`55-55`: `GTFSFactory` を使用して GTFS オブジェクトを初期化する処理が正しく統合されています。
gtfs_parser/gtfs.py (2)
`63-63`: GTFS データの読み込みプロセスの柔軟性を高めるための変更が正しく統合されています。 --- `11-11`: 異なるテーブルタイプを適切に処理し、特定の列を適切なデータ型に変換する処理が正しく統合されています。
gtfs_parser/parse.py (2)
`3-3`: `ignore_no_route` パラメータを適切に処理し、停留所を GeoJSON フィーチャに処理する機能が正しく実装されています。 --- `50-50`: `ignore_shapes` パラメータを適切に処理し、ルートを GeoJSON フィーチャに処理する機能、特に形状の処理が強化されています。
gtfs_parser/aggregate.py (1)
`6-6`: 類似停留所の集約をさまざまな基準に基づいて適切に処理し、ルート頻度を計算する機能が正しく実装されています。
--- Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?
Share - [X](https://twitter.com/intent/tweet?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A&url=https%3A//coderabbit.ai) - [Mastodon](https://mastodon.social/share?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A%20https%3A%2F%2Fcoderabbit.ai) - [Reddit](https://www.reddit.com/submit?title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&text=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code.%20Check%20it%20out%3A%20https%3A//coderabbit.ai) - [LinkedIn](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fcoderabbit.ai&mini=true&title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&summary=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code)
Tips ### Chat There are 3 ways to chat with [CodeRabbit](https://coderabbit.ai): - Review comments: Directly reply to a review comment made by CodeRabbit. Example: - `I pushed a fix in commit .` - `Generate unit testing code for this file.` - `Open a follow-up GitHub issue for this discussion.` - Files and specific lines of code (under the "Files changed" tab): Tag `@coderabbitai` in a new review comment at the desired location with your query. Examples: - `@coderabbitai generate unit testing code for this file.` - `@coderabbitai modularize this function.` - PR comments: Tag `@coderabbitai` in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples: - `@coderabbitai generate interesting stats about this repository and render them as a table.` - `@coderabbitai show all the console.log statements in this repository.` - `@coderabbitai read src/utils.ts and generate unit testing code.` - `@coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.` Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. ### CodeRabbit Commands (invoked as PR comments) - `@coderabbitai pause` to pause the reviews on a PR. - `@coderabbitai resume` to resume the paused reviews. - `@coderabbitai review` to trigger a review. This is useful when automatic reviews are disabled for the repository. - `@coderabbitai resolve` resolve all the CodeRabbit review comments. - `@coderabbitai help` to get help. Additionally, you can add `@coderabbitai ignore` anywhere in the PR description to prevent this PR from being reviewed. ### CodeRabbit Configration File (`.coderabbit.yaml`) - You can programmatically configure CodeRabbit by adding a `.coderabbit.yaml` file to the root of your repository. - Please see the [configuration documentation](https://docs.coderabbit.ai/guides/configure-coderabbit) for more information. - If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: `# yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json` ### Documentation and Community - Visit our [Documentation](https://coderabbit.ai/docs) for detailed information on how to use CodeRabbit. - Join our [Discord Community](https://discord.com/invite/GsXnASn26c) to get help, request features, and share feedback. - Follow us on [X/Twitter](https://twitter.com/coderabbitai) for updates and announcements.
codecov[bot] commented 4 months ago

Codecov Report

Attention: Patch coverage is 80.28169% with 14 lines in your changes are missing coverage. Please review.

Project coverage is 80.61%. Comparing base (c7ac530) to head (98f7fad). Report is 1 commits behind head on main.

Files Patch % Lines
gtfs_parser/parse.py 77.77% 10 Missing :warning:
gtfs_parser/gtfs.py 81.81% 4 Missing :warning:
Additional details and impacted files ```diff @@ Coverage Diff @@ ## main #10 +/- ## ========================================== - Coverage 82.50% 80.61% -1.89% ========================================== Files 8 8 Lines 280 294 +14 ========================================== + Hits 231 237 +6 - Misses 49 57 +8 ```

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.