Skip to content

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.

3 participants