Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Grep #2

Open
wants to merge 6 commits into
base: master
Choose a base branch
from
Open

Grep #2

wants to merge 6 commits into from

Conversation

Krock21
Copy link
Owner

@Krock21 Krock21 commented Feb 9, 2020

No description provided.

Copy link
Collaborator

@yurii-litvinov yurii-litvinov left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Имело смысл сделать пуллреквест в ветку CLI, иначе дифф показывает вообще все исходники.

В условии просили ещё обоснование выбора библиотеки. В Питоне есть из чего повыбирать, ну и вообще, это задача на борьбу с образом мышления "фигак-фигак --- и в продакшн".

Ещё на неправильные параметры (например, grep -A -1 param bash_builtins.py) надо ругаться.

@Krock21
Copy link
Owner Author

Krock21 commented Mar 30, 2020

Добавил проверку на отрицательность -А
Обоснования argparse и правда, не было.
Я его выбрал т.к. видел, что почти все его используют, и т.к. он по умолчанию идёт в питоне.
Ну и люди советуют на stackoverflow: https://stackoverflow.com/questions/20063/whats-the-best-way-to-parse-command-line-arguments

Какие ещё могут быть неправильные параметры, не очень понимаю

@Krock21
Copy link
Owner Author

Krock21 commented Mar 30, 2020

В ходе пересмотра своего кода я понял, что он какой-то ужасно отстойный и не позволяет контролировать всё, что хотелось бы.
Слишком не универсальный. Не могу указывать stderr для команд и даже код возврата обрабатывать.

@Krock21 Krock21 requested a review from yurii-litvinov March 30, 2020 04:17
Copy link
Collaborator

@yurii-litvinov yurii-litvinov left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Насчёт других ошибок:

grep -A main cli.py
Exception in thread Thread-2:
Traceback (most recent call last):
  File "C:\Tools\Python38\lib\threading.py", line 932, in _bootstrap_inner
    self.run()
  File "C:\Tools\Python38\lib\threading.py", line 870, in run
    self._target(*self._args, **self._kwargs)
  File "C:\Students\sd-bachelors\Krock21rus-bash\bash_builtins.py", line 140, in grep_function
    after_parameter = int(parsed_args.get('A'))
ValueError: invalid literal for int() with base 10: 'main'

Понятно, что произошло, но всё равно такое лучше пользователю не показывать. Примерно так же обстоят дела с несуществующим файлом.

Copy link
Collaborator

@yurii-litvinov yurii-litvinov left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ага, теперь всё ок, зачтена

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants