Skip to content
Open
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
3 changes: 3 additions & 0 deletions .idea/.gitignore

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

12 changes: 12 additions & 0 deletions .idea/Homework.iml

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

6 changes: 6 additions & 0 deletions .idea/inspectionProfiles/profiles_settings.xml

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

4 changes: 4 additions & 0 deletions .idea/misc.xml

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

8 changes: 8 additions & 0 deletions .idea/modules.xml

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

6 changes: 6 additions & 0 deletions .idea/vcs.xml

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

29 changes: 29 additions & 0 deletions LianaKalpakchyan/rss_reader/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
[Readme for RSS reader].
===================================================================
One-shot command-line RSS reader.
RSS reader is a command-line utility which receive [RSS](https://wikipedia.org/wiki/RSS) URL and prints results in human-readable format.
The program allows you to read news articles directly in the console output.


[Common usage]:
===================================================================
usage: rss_reader.py [-h] [--version] [--json] [--verbose] [--limit LIMIT] [--date DATE] [--to-pdf [TO_PDF ...]] [--to-html [TO_HTML ...]] [source]

One-shot command-line RSS reader ^_^

positional arguments:
source RSS URL

optional arguments:
-h, --help show this help message and exit
--version Print version info
--json Print result as JSON in stdout
--verbose, --v Outputs verbose status messages
--limit LIMIT Limit news topics if this parameter provided
--date DATE Takes a date. For example: for "--date 20191020" news from the specified day will be printed out.
--to-pdf [TO_PDF ...]
Conversion of news into a PDF format
--to-html [TO_HTML ...]
Conversion of news into an HTML format


Empty file.
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
#!/usr/bin/env python3
import argparse


class Argparser():
"""
A class to get arguments from CLI

...

Attributes
----------
version: str
Keeps the program current version

Methods
-------
get_args():
Implements cli arguments processing
"""

def __init__(self):
self.version = '0.4.0'

def get_args(self):
"""This function processes arguments received from console using argparse module.
:return: Namespace (args)
"""
parser = argparse.ArgumentParser(
description='One-shot command-line RSS reader ^_^')
parser.add_argument('source',
help='RSS URL',
nargs='?',
default=None)
parser.add_argument('--version',
action='store_true',
help='Print version info')
parser.add_argument('--json',
action='store_true',
help='Print result as JSON in stdout')
parser.add_argument('--verbose', '--v',
action='store_true',
help='Outputs verbose status messages')
parser.add_argument('--limit',
type=int,
help='Limit news topics if this parameter provided',
default=-1)
parser.add_argument('--date',
help='Takes a date. For example: for "--date 20191020" \
news from the specified day will be printed out.',
type=int,
default=None)
parser.add_argument('--to-pdf',
help='Conversion of news into a PDF format',
nargs='*')
parser.add_argument('--to-html',
help='Conversion of news into an HTML format',
nargs='*')
args = parser.parse_args()
if args.version:
print(f'Program version: {self.version}')
if args.source is None:
exit()

return args
Loading